Hi Alistair,

�� �� I can reproduce this on Mac OS too.�� Thanks very much for the report.�� Looking at it now.

On Thu, Mar 15, 2018 at 2:43 PM, Alistair Grant <akgrant0710@gmail.com> wrote:

Hi Everyone,

If I download a recent Pharo 64 bit image, e.g.:

http://files.pharo.org/image/70/latest-64.zip

And use a Pharo VM from commit:

commit 4749358b5717b9a2f7e1d44f9baac48ed5d80431
Author: Eliot Miranda <eliot.miranda@gmail.com>
Date:�� ��Wed Mar 7 15:11:21 2018 -0800

or later, the following will reliably crash the VM:


./pharo Pharo7.0-64bit-a26248b.image eval "OCBytecodeGeneratorTest
run: #testExample2"


Earlier VMs don't crash.

Stack dump below my signature.

I'm a bit out of my depth beyond that...

OS: Ubuntu 16.04 64 bit


Cheers,
Alistair


Segmentation fault Thu Mar 15 22:39:13 2018


/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo
Pharo VM version: 5.0-201803072311�� Thursday 15 March�� 22:35:05 CET
2018 c99 [Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.2347 uuid:
062614a7-e3da-4b30-997a-9568911b9ff5 Mar 15 2018
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2347 uuid:
062614a7-e3da-4b30-997a-9568911b9ff5 Mar 15 2018
Revision: VM: 201803072311
alistair@59fbe1b42048:vmmaker/opensmalltalk-vm $ Date: Wed Mar 7
15:11:21 2018 -0800 $ Plugins: 201803072311
alistair@59fbe1b42048:vmmaker/opensmalltalk-vm $
Build host: Linux 59fbe1b42048 4.13.0-36-generic #40~16.04.1-Ubuntu
SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
plugin path: /home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311
[default: /home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/]


C stack backtrace & registers:
rax 0x13ab4880 rbx 0x13ab4710 rcx 0x13ab4938 rdx 0x13ab47c8
rdi 0x13ab44e8 rsi 0x13ab44e8 rbp 0x13ab4658 rsp 0x13ab49f0
r8�� 0x13ab3f28 r9�� 0x13ab3fe0 r10 0x13ab4098 r11 0x13ab4150
r12 0x13ab4208 r13 0x13ab42c0 r14 0x13ab4378 r15 0x13ab4430
rip 0x13ab4aa8
*[0x7ffd13ab4aa8]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo[0x41aca2]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo[0x41c87e]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f78ad605390]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo(lengthOf+0x0)[0x42aca0]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo(cogselector+0x27)[0x49bf77]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo[0x45b15c]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo[0x45b444]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo(interpret+0xb238)[0x469208]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo[0x46a4db]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo(interpret+0x246)[0x45e216]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo(main+0x2f8)[0x419f98]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f78acf41830]
/home/alistair/vmmaker/opensmalltalk-vm/products/cogspur64linuxht/lib/pharo/5.0-201803072311/pharo(_start+0x29)[0x41a309]
[0x0]


Smalltalk stack dump:
�� �� 0x7ffd13ad4550 I CompiledMethod>valueWithReceiver:arguments:
0x1d7e790: a(n) CompiledMethod
�� �� 0x7ffd13ad45a0 M OCBytecodeGeneratorTest>testExample2 0x1d78910:
a(n) OCBytecodeGeneratorTest
�� �� 0x7ffd13ad1ea0 I OCBytecodeGeneratorTest(TestCase)>performTest
0x1d78910: a(n) OCBytecodeGeneratorTest
�� �� 0x7ffd13ad1ed0 M [] in OCBytecodeGeneratorTest(TestCase)>runCase
0x1d78910: a(n) OCBytecodeGeneratorTest
�� �� 0x7ffd13ad1f10 M BlockClosure>ensure: 0x1d7a450: a(n) BlockClosure
�� �� 0x7ffd13ad1f58 I OCBytecodeGeneratorTest(TestCase)>runCase
0x1d78910: a(n) OCBytecodeGeneratorTest
�� �� 0x7ffd13ad1f90 M [] in
TestExecutionEnvironment>runTestCaseSafelly: 0x1d78f28: a(n)
TestExecutionEnvironment
�� �� 0x7ffd13ad1fc0 M BlockClosure>on:do: 0x1d7a330: a(n) BlockClosure
�� �� 0x7ffd13ad2008 M [] in
TestExecutionEnvironment>runTestCaseSafelly: 0x1d78f28: a(n)
TestExecutionEnvironment
�� �� 0x7ffd13ad2038 M BlockClosure>on:do: 0x1d7a1a8: a(n) BlockClosure
�� �� 0x7ffd13ad2088 I TestExecutionEnvironment>runTestCaseSafelly:
0x1d78f28: a(n) TestExecutionEnvironment
�� �� 0x7ffd13ad20c8 M [] in TestExecutionEnvironment>runTestCase:
0x1d78f28: a(n) TestExecutionEnvironment
�� �� 0x7ffd13ad2108 M BlockClosure>ensure: 0x1d7a0a8: a(n) BlockClosure
�� �� 0x7ffd13ad2148 M [] in TestExecutionEnvironment>runTestCase:
0x1d78f28: a(n) TestExecutionEnvironment
�� �� 0x7ffd13ad2188 M BlockClosure>ifCurtailed: 0x1d79fa8: a(n) BlockClosure
�� �� 0x7ffd13ad21d0 I TestExecutionEnvironment>runTestCase: 0x1d78f28:
a(n) TestExecutionEnvironment
�� �� 0x7ffd13ad2218 M [] in DefaultExecutionEnvironment>runTestCase:
0x23f7c30: a(n) DefaultExecutionEnvironment
�� �� 0x7ffd13ad2258 M [] in CurrentExecutionEnvironment
class>activate:for: 0x2404bf8: a(n) CurrentExecutionEnvironment class
�� �� 0x7ffd13ad2298 M BlockClosure>ensure: 0x1d79280: a(n) BlockClosure
�� �� 0x7ffd13ad22e8 I CurrentExecutionEnvironment class>activate:for:
0x2404bf8: a(n) CurrentExecutionEnvironment class
�� �� 0x7ffd13ad2338 I
TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring:
0x1d78f28: a(n) TestExecutionEnvironment
�� �� 0x7ffd13ad2388 I DefaultExecutionEnvironment>runTestCase:
0x23f7c30: a(n) DefaultExecutionEnvironment
�� �� 0x7ffd13ad23d0 I CurrentExecutionEnvironment class>runTestCase:
0x2404bf8: a(n) CurrentExecutionEnvironment class
�� �� 0x7ffd13ad2418 I OCBytecodeGeneratorTest(TestCase)>runCaseManaged
0x1d78910: a(n) OCBytecodeGeneratorTest
�� �� 0x7ffd13ad2450 M [] in TestResult>runCase: 0x1d78930: a(n) TestResult
�� �� 0x7ffd13ad2480 M BlockClosure>on:do: 0x1d78d50: a(n) BlockClosure
�� �� 0x7ffd13ad24d0 I TestResult>runCase: 0x1d78930: a(n) TestResult
�� �� 0x7ffd13ad2510 M [] in OCBytecodeGeneratorTest(TestCase)>run
0x1d78910: a(n) OCBytecodeGeneratorTest
�� �� 0x7ffd13ad2550 M BlockClosure>ensure: 0x1d78c50: a(n) BlockClosure
�� �� 0x7ffd13ad25a0 I OCBytecodeGeneratorTest(TestCase)>run 0x1d78910:
a(n) OCBytecodeGeneratorTest
�� �� 0x7ffd13ad0100 I OCBytecodeGeneratorTest class(TestCase
class)>run: 0x36155c8: a(n) OCBytecodeGeneratorTest class
�� �� 0x7ffd13ad0138 M UndefinedObject>DoIt 0x23e78e0: a(n) UndefinedObject
�� �� 0x7ffd13ad0198 I OpalCompiler>evaluate 0x1c76f90: a(n) OpalCompiler
�� �� 0x7ffd13ad01d8 I OpalCompiler(AbstractCompiler)>evaluate:
0x1c76f90: a(n) OpalCompiler
�� �� 0x7ffd13ad0220 M [] in EvaluateCommandLineHandler>evaluate:
0x1c770e8: a(n) EvaluateCommandLineHandler
�� �� 0x7ffd13ad0250 M BlockClosure>on:do: 0x1c77118: a(n) BlockClosure
�� �� 0x7ffd13ad02a8 I EvaluateCommandLineHandler>evaluate: 0x1c770e8:
a(n) EvaluateCommandLineHandler
�� �� 0x7ffd13ad02f8 I EvaluateCommandLineHandler>evaluateArguments
0x1c770e8: a(n) EvaluateCommandLineHandler
�� �� 0x7ffd13ad0338 I EvaluateCommandLineHandler>activate 0x1c770e8:
a(n) EvaluateCommandLineHandler
�� �� 0x7ffd13ad0378 I EvaluateCommandLineHandler
class(CommandLineHandler class)>activateWith: 0x252d400: a(n)
EvaluateCommandLineHandler class
�� �� 0x7ffd13ad03b8 M [] in
PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand:
0x55380b8: a(n) PharoCommandLineHandler
�� �� 0x7ffd13ad03e8 M BlockClosure>on:do: 0x1c77390: a(n) BlockClosure
�� �� 0x7ffd13ad0428 M
PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand:
0x55380b8: a(n) PharoCommandLineHandler
�� �� 0x7ffd13ad0478 I
PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand
0x55380b8: a(n) PharoCommandLineHandler
�� �� 0x7ffd13ad04b8 I
PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument:
0x55380b8: a(n) PharoCommandLineHandler
�� �� 0x7ffd13ad04f0 M [] in
PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x55380b8:
a(n) PharoCommandLineHandler
�� �� 0x7ffd13ad0520 M BlockClosure>on:do: 0x1c77628: a(n) BlockClosure
�� �� 0x7ffd13ad0560 M [] in
PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x55380b8:
a(n) PharoCommandLineHandler
�� �� 0x7ffd13ad05a0 I [] in BlockClosure>newProcess 0x1c77720: a(n) BlockClosure

Most recent primitives
stringHash:initialHash:
basicNew
successorSequences
basicNew
basicNew
basicNew
**StackOverflow**
basicNew
basicNew
basicIdentityHash
basicNew
basicNew
stringHash:initialHash:
stringHash:initialHash:
stringHash:initialHash:
literal
parameterAt:
stringHash:initialHash:
isInteger
stringHash:initialHash:
stringHash:initialHash:
size
findSubstring:in:startingAt:matchTable:
indexOfAscii:inString:startingAt:
indexOfAscii:inString:startingAt:
stringHash:initialHash:
stringHash:initialHash:
*
*
size
size
copyWith:
bitShift:
bitShift:
numTemps
numTemps
numTemps
numTemps
numTemps
numTemps
basicIdentityHash
basicNew:
size
basicNew
at:put:
at:put:
basicNew:
stringHash:initialHash:
compare:with:collated:
perform:
encodeNoTrailer
encodeNoTrailer
encodeNoTrailer
encodeNoTrailer
encodeNoTrailer
encodeNoTrailer
encodeNoTrailer
at:put:
at:put:
at:put:
at:put:
basicNew
size
at:put:
at:put:
at:put:
at:put:
objectAt:put:
objectAt:put:
objectAt:put:
objectAt:put:
objectAt:put:
collect:
basicNew
bitAnd:
**PrimitiveFailure**
bitAnd:
**PrimitiveFailure**
bitOr:
**PrimitiveFailure**
bitOr:
**PrimitiveFailure**
bitClear:
new:
objectAt:
at:put:
objectAt:
at:put:
objectAt:
at:put:
objectAt:
at:put:
objectAt:
at:put:
objectAt:put:
stringHash:initialHash:
objectAt:put:
withArgs:executeMethod:
basicNew
class
basicNew
primUTCMicrosecondsClock
*
**PrimitiveFailure**
digitMultiply:neg:
basicNew
primOffset
digitCompare:
//
\\
valueNoContextSwitch
class
class
basicNew
class
class
value
class
**StackOverflow**
basicIdentityHash
basicNew
basicNew
basicNew
new:
valueNoContextSwitch
size
new:
size
size
at:put:
basicNew:
stackp:
basicNew
size
at:
at:
at:
at:
psValueAt:put:
psValueAt:put:
psValueAt:put:
psValueAt:put:
psValueAt:put:
primitiveResume
repeat
wait
class
millisecondClockValue
basicNew
signal
primUTCMicrosecondsClock
millisecondDelayDuration
+
primSignal:atUTCMicroseconds:
wait
wait
class
signal
basicNew
valueNoContextSwitch
signal
primUTCMicrosecondsClock
at:put:
at:
at:put:
primSignal:atUTCMicroseconds:
wait
wait
valueNoContextSwitch
wait
ifCurtailed:
basicNew
value
class
valueNoContextSwitch
perform:
**StackOverflow**
basicNew
basicNew
basicNew
basicIdentityHash
**StackOverflow**
**StackOverflow**
size
indexOfAscii:inString:startingAt:
at:
at:
at:
basicIdentityHash
value
class
linkTo:
basicNew
value
basicIdentityHash
stringHash:initialHash:
stringHash:initialHash:
size
stringHash:initialHash:
stringHash:initialHash:
basicNew
-
class
new:
at:put:
perform:withArguments:
from:if:goto:otherwise:
size
size
size
at:
~=
size
at:put:
basicNew:
stringHash:initialHash:
compare:with:collated:
newMethod:header:
at:put:
at:put:
at:put:
at:put:
basicNew
size
size
size
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
objectAt:put:
objectAt:put:
objectAt:put:
objectAt:put:
from:if:goto:otherwise:
from:if:goto:otherwise:
from:if:goto:otherwise:
objectAt:put:
new:
objectAt:
at:put:
objectAt:
at:put:
objectAt:
at:put:
objectAt:
at:put:
class
@
withArgs:executeMethod:

stack page bytes 8192 available headroom 5576 minimum unused headroom 6032

(Segmentation fault)



--
_,,,^..^,,,_
best,��Eliot