<div dir="ltr">Hi Alistair,<div><br></div><div>    I can reproduce this on Mac OS too.  Thanks very much for the report.  Looking at it now.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 15, 2018 at 2:43 PM, Alistair Grant <span dir="ltr"><<a href="mailto:akgrant0710@gmail.com" target="_blank">akgrant0710@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hi Everyone,<br>
<br>
If I download a recent Pharo 64 bit image, e.g.:<br>
<br>
<a href="http://files.pharo.org/image/70/latest-64.zip" rel="noreferrer" target="_blank">http://files.pharo.org/image/<wbr>70/latest-64.zip</a><br>
<br>
And use a Pharo VM from commit:<br>
<br>
commit 4749358b5717b9a2f7e1d44f9baac4<wbr>8ed5d80431<br>
Author: Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>><br>
Date:   Wed Mar 7 15:11:21 2018 -0800<br>
<br>
or later, the following will reliably crash the VM:<br>
<br>
<br>
./pharo Pharo7.0-64bit-a26248b.image eval "OCBytecodeGeneratorTest<br>
run: #testExample2"<br>
<br>
<br>
Earlier VMs don't crash.<br>
<br>
Stack dump below my signature.<br>
<br>
I'm a bit out of my depth beyond that...<br>
<br>
OS: Ubuntu 16.04 64 bit<br>
<br>
<br>
Cheers,<br>
Alistair<br>
<br>
<br>
Segmentation fault Thu Mar 15 22:39:13 2018<br>
<br>
<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo<br>
Pharo VM version: 5.0-201803072311  Thursday 15 March  22:35:05 CET<br>
2018 c99 [Production Spur 64-bit VM]<br>
Built from: CoInterpreter VMMaker.oscog-eem.2347 uuid:<br>
062614a7-e3da-4b30-997a-<wbr>9568911b9ff5 Mar 15 2018<br>
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2347 uuid:<br>
062614a7-e3da-4b30-997a-<wbr>9568911b9ff5 Mar 15 2018<br>
Revision: VM: 201803072311<br>
alistair@59fbe1b42048:vmmaker/<wbr>opensmalltalk-vm $ Date: Wed Mar 7<br>
15:11:21 2018 -0800 $ Plugins: 201803072311<br>
alistair@59fbe1b42048:vmmaker/<wbr>opensmalltalk-vm $<br>
Build host: Linux 59fbe1b42048 4.13.0-36-generic #40~16.04.1-Ubuntu<br>
SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux<br>
plugin path: /home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311<br>
[default: /home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/]<br>
<br>
<br>
C stack backtrace & registers:<br>
rax 0x13ab4880 rbx 0x13ab4710 rcx 0x13ab4938 rdx 0x13ab47c8<br>
rdi 0x13ab44e8 rsi 0x13ab44e8 rbp 0x13ab4658 rsp 0x13ab49f0<br>
r8  0x13ab3f28 r9  0x13ab3fe0 r10 0x13ab4098 r11 0x13ab4150<br>
r12 0x13ab4208 r13 0x13ab42c0 r14 0x13ab4378 r15 0x13ab4430<br>
rip 0x13ab4aa8<br>
*[0x7ffd13ab4aa8]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo[0x41aca2]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo[0x41c87e]<br>
/lib/x86_64-linux-gnu/<wbr>libpthread.so.0(+0x11390)[<wbr>0x7f78ad605390]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo(lengthOf+<wbr>0x0)[0x42aca0]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo(<wbr>cogselector+0x27)[0x49bf77]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo[0x45b15c]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo[0x45b444]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo(<wbr>interpret+0xb238)[0x469208]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo[0x46a4db]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo(<wbr>interpret+0x246)[0x45e216]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo(main+<wbr>0x2f8)[0x419f98]<br>
/lib/x86_64-linux-gnu/libc.so.<wbr>6(__libc_start_main+0xf0)[<wbr>0x7f78acf41830]<br>
/home/alistair/vmmaker/<wbr>opensmalltalk-vm/products/<wbr>cogspur64linuxht/lib/pharo/5.<wbr>0-201803072311/pharo(_start+<wbr>0x29)[0x41a309]<br>
[0x0]<br>
<br>
<br>
Smalltalk stack dump:<br>
    0x7ffd13ad4550 I CompiledMethod><wbr>valueWithReceiver:arguments:<br>
0x1d7e790: a(n) CompiledMethod<br>
    0x7ffd13ad45a0 M OCBytecodeGeneratorTest><wbr>testExample2 0x1d78910:<br>
a(n) OCBytecodeGeneratorTest<br>
    0x7ffd13ad1ea0 I OCBytecodeGeneratorTest(<wbr>TestCase)>performTest<br>
0x1d78910: a(n) OCBytecodeGeneratorTest<br>
    0x7ffd13ad1ed0 M [] in OCBytecodeGeneratorTest(<wbr>TestCase)>runCase<br>
0x1d78910: a(n) OCBytecodeGeneratorTest<br>
    0x7ffd13ad1f10 M BlockClosure>ensure: 0x1d7a450: a(n) BlockClosure<br>
    0x7ffd13ad1f58 I OCBytecodeGeneratorTest(<wbr>TestCase)>runCase<br>
0x1d78910: a(n) OCBytecodeGeneratorTest<br>
    0x7ffd13ad1f90 M [] in<br>
TestExecutionEnvironment><wbr>runTestCaseSafelly: 0x1d78f28: a(n)<br>
TestExecutionEnvironment<br>
    0x7ffd13ad1fc0 M BlockClosure>on:do: 0x1d7a330: a(n) BlockClosure<br>
    0x7ffd13ad2008 M [] in<br>
TestExecutionEnvironment><wbr>runTestCaseSafelly: 0x1d78f28: a(n)<br>
TestExecutionEnvironment<br>
    0x7ffd13ad2038 M BlockClosure>on:do: 0x1d7a1a8: a(n) BlockClosure<br>
    0x7ffd13ad2088 I TestExecutionEnvironment><wbr>runTestCaseSafelly:<br>
0x1d78f28: a(n) TestExecutionEnvironment<br>
    0x7ffd13ad20c8 M [] in TestExecutionEnvironment><wbr>runTestCase:<br>
0x1d78f28: a(n) TestExecutionEnvironment<br>
    0x7ffd13ad2108 M BlockClosure>ensure: 0x1d7a0a8: a(n) BlockClosure<br>
    0x7ffd13ad2148 M [] in TestExecutionEnvironment><wbr>runTestCase:<br>
0x1d78f28: a(n) TestExecutionEnvironment<br>
    0x7ffd13ad2188 M BlockClosure>ifCurtailed: 0x1d79fa8: a(n) BlockClosure<br>
    0x7ffd13ad21d0 I TestExecutionEnvironment><wbr>runTestCase: 0x1d78f28:<br>
a(n) TestExecutionEnvironment<br>
    0x7ffd13ad2218 M [] in DefaultExecutionEnvironment><wbr>runTestCase:<br>
0x23f7c30: a(n) DefaultExecutionEnvironment<br>
    0x7ffd13ad2258 M [] in CurrentExecutionEnvironment<br>
class>activate:for: 0x2404bf8: a(n) CurrentExecutionEnvironment class<br>
    0x7ffd13ad2298 M BlockClosure>ensure: 0x1d79280: a(n) BlockClosure<br>
    0x7ffd13ad22e8 I CurrentExecutionEnvironment class>activate:for:<br>
0x2404bf8: a(n) CurrentExecutionEnvironment class<br>
    0x7ffd13ad2338 I<br>
TestExecutionEnvironment(<wbr>ExecutionEnvironment)><wbr>beActiveDuring:<br>
0x1d78f28: a(n) TestExecutionEnvironment<br>
    0x7ffd13ad2388 I DefaultExecutionEnvironment><wbr>runTestCase:<br>
0x23f7c30: a(n) DefaultExecutionEnvironment<br>
    0x7ffd13ad23d0 I CurrentExecutionEnvironment class>runTestCase:<br>
0x2404bf8: a(n) CurrentExecutionEnvironment class<br>
    0x7ffd13ad2418 I OCBytecodeGeneratorTest(<wbr>TestCase)>runCaseManaged<br>
0x1d78910: a(n) OCBytecodeGeneratorTest<br>
    0x7ffd13ad2450 M [] in TestResult>runCase: 0x1d78930: a(n) TestResult<br>
    0x7ffd13ad2480 M BlockClosure>on:do: 0x1d78d50: a(n) BlockClosure<br>
    0x7ffd13ad24d0 I TestResult>runCase: 0x1d78930: a(n) TestResult<br>
    0x7ffd13ad2510 M [] in OCBytecodeGeneratorTest(<wbr>TestCase)>run<br>
0x1d78910: a(n) OCBytecodeGeneratorTest<br>
    0x7ffd13ad2550 M BlockClosure>ensure: 0x1d78c50: a(n) BlockClosure<br>
    0x7ffd13ad25a0 I OCBytecodeGeneratorTest(<wbr>TestCase)>run 0x1d78910:<br>
a(n) OCBytecodeGeneratorTest<br>
    0x7ffd13ad0100 I OCBytecodeGeneratorTest class(TestCase<br>
class)>run: 0x36155c8: a(n) OCBytecodeGeneratorTest class<br>
    0x7ffd13ad0138 M UndefinedObject>DoIt 0x23e78e0: a(n) UndefinedObject<br>
    0x7ffd13ad0198 I OpalCompiler>evaluate 0x1c76f90: a(n) OpalCompiler<br>
    0x7ffd13ad01d8 I OpalCompiler(AbstractCompiler)<wbr>>evaluate:<br>
0x1c76f90: a(n) OpalCompiler<br>
    0x7ffd13ad0220 M [] in EvaluateCommandLineHandler><wbr>evaluate:<br>
0x1c770e8: a(n) EvaluateCommandLineHandler<br>
    0x7ffd13ad0250 M BlockClosure>on:do: 0x1c77118: a(n) BlockClosure<br>
    0x7ffd13ad02a8 I EvaluateCommandLineHandler><wbr>evaluate: 0x1c770e8:<br>
a(n) EvaluateCommandLineHandler<br>
    0x7ffd13ad02f8 I EvaluateCommandLineHandler><wbr>evaluateArguments<br>
0x1c770e8: a(n) EvaluateCommandLineHandler<br>
    0x7ffd13ad0338 I EvaluateCommandLineHandler><wbr>activate 0x1c770e8:<br>
a(n) EvaluateCommandLineHandler<br>
    0x7ffd13ad0378 I EvaluateCommandLineHandler<br>
class(CommandLineHandler class)>activateWith: 0x252d400: a(n)<br>
EvaluateCommandLineHandler class<br>
    0x7ffd13ad03b8 M [] in<br>
PharoCommandLineHandler(<wbr>BasicCommandLineHandler)><wbr>activateSubCommand:<br>
0x55380b8: a(n) PharoCommandLineHandler<br>
    0x7ffd13ad03e8 M BlockClosure>on:do: 0x1c77390: a(n) BlockClosure<br>
    0x7ffd13ad0428 M<br>
PharoCommandLineHandler(<wbr>BasicCommandLineHandler)><wbr>activateSubCommand:<br>
0x55380b8: a(n) PharoCommandLineHandler<br>
    0x7ffd13ad0478 I<br>
PharoCommandLineHandler(<wbr>BasicCommandLineHandler)><wbr>handleSubcommand<br>
0x55380b8: a(n) PharoCommandLineHandler<br>
    0x7ffd13ad04b8 I<br>
PharoCommandLineHandler(<wbr>BasicCommandLineHandler)><wbr>handleArgument:<br>
0x55380b8: a(n) PharoCommandLineHandler<br>
    0x7ffd13ad04f0 M [] in<br>
PharoCommandLineHandler(<wbr>BasicCommandLineHandler)><wbr>activate 0x55380b8:<br>
a(n) PharoCommandLineHandler<br>
    0x7ffd13ad0520 M BlockClosure>on:do: 0x1c77628: a(n) BlockClosure<br>
    0x7ffd13ad0560 M [] in<br>
PharoCommandLineHandler(<wbr>BasicCommandLineHandler)><wbr>activate 0x55380b8:<br>
a(n) PharoCommandLineHandler<br>
    0x7ffd13ad05a0 I [] in BlockClosure>newProcess 0x1c77720: a(n) BlockClosure<br>
<br>
Most recent primitives<br>
stringHash:initialHash:<br>
basicNew<br>
successorSequences<br>
basicNew<br>
basicNew<br>
basicNew<br>
**StackOverflow**<br>
basicNew<br>
basicNew<br>
basicIdentityHash<br>
basicNew<br>
basicNew<br>
stringHash:initialHash:<br>
stringHash:initialHash:<br>
stringHash:initialHash:<br>
literal<br>
parameterAt:<br>
stringHash:initialHash:<br>
isInteger<br>
stringHash:initialHash:<br>
stringHash:initialHash:<br>
size<br>
findSubstring:in:startingAt:<wbr>matchTable:<br>
indexOfAscii:inString:<wbr>startingAt:<br>
indexOfAscii:inString:<wbr>startingAt:<br>
stringHash:initialHash:<br>
stringHash:initialHash:<br>
*<br>
*<br>
size<br>
size<br>
copyWith:<br>
bitShift:<br>
bitShift:<br>
numTemps<br>
numTemps<br>
numTemps<br>
numTemps<br>
numTemps<br>
numTemps<br>
basicIdentityHash<br>
basicNew:<br>
size<br>
basicNew<br>
at:put:<br>
at:put:<br>
basicNew:<br>
stringHash:initialHash:<br>
compare:with:collated:<br>
perform:<br>
encodeNoTrailer<br>
encodeNoTrailer<br>
encodeNoTrailer<br>
encodeNoTrailer<br>
encodeNoTrailer<br>
encodeNoTrailer<br>
encodeNoTrailer<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
basicNew<br>
size<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
objectAt:put:<br>
objectAt:put:<br>
objectAt:put:<br>
objectAt:put:<br>
objectAt:put:<br>
collect:<br>
basicNew<br>
bitAnd:<br>
**PrimitiveFailure**<br>
bitAnd:<br>
**PrimitiveFailure**<br>
bitOr:<br>
**PrimitiveFailure**<br>
bitOr:<br>
**PrimitiveFailure**<br>
bitClear:<br>
new:<br>
objectAt:<br>
at:put:<br>
objectAt:<br>
at:put:<br>
objectAt:<br>
at:put:<br>
objectAt:<br>
at:put:<br>
objectAt:<br>
at:put:<br>
objectAt:put:<br>
stringHash:initialHash:<br>
objectAt:put:<br>
withArgs:executeMethod:<br>
basicNew<br>
class<br>
basicNew<br>
primUTCMicrosecondsClock<br>
*<br>
**PrimitiveFailure**<br>
digitMultiply:neg:<br>
basicNew<br>
primOffset<br>
digitCompare:<br>
//<br>
\\<br>
valueNoContextSwitch<br>
class<br>
class<br>
basicNew<br>
class<br>
class<br>
value<br>
class<br>
**StackOverflow**<br>
basicIdentityHash<br>
basicNew<br>
basicNew<br>
basicNew<br>
new:<br>
valueNoContextSwitch<br>
size<br>
new:<br>
size<br>
size<br>
at:put:<br>
basicNew:<br>
stackp:<br>
basicNew<br>
size<br>
at:<br>
at:<br>
at:<br>
at:<br>
psValueAt:put:<br>
psValueAt:put:<br>
psValueAt:put:<br>
psValueAt:put:<br>
psValueAt:put:<br>
primitiveResume<br>
repeat<br>
wait<br>
class<br>
millisecondClockValue<br>
basicNew<br>
signal<br>
primUTCMicrosecondsClock<br>
millisecondDelayDuration<br>
+<br>
primSignal:atUTCMicroseconds:<br>
wait<br>
wait<br>
class<br>
signal<br>
basicNew<br>
valueNoContextSwitch<br>
signal<br>
primUTCMicrosecondsClock<br>
at:put:<br>
at:<br>
at:put:<br>
primSignal:atUTCMicroseconds:<br>
wait<br>
wait<br>
valueNoContextSwitch<br>
wait<br>
ifCurtailed:<br>
basicNew<br>
value<br>
class<br>
valueNoContextSwitch<br>
perform:<br>
**StackOverflow**<br>
basicNew<br>
basicNew<br>
basicNew<br>
basicIdentityHash<br>
**StackOverflow**<br>
**StackOverflow**<br>
size<br>
indexOfAscii:inString:<wbr>startingAt:<br>
at:<br>
at:<br>
at:<br>
basicIdentityHash<br>
value<br>
class<br>
linkTo:<br>
basicNew<br>
value<br>
basicIdentityHash<br>
stringHash:initialHash:<br>
stringHash:initialHash:<br>
size<br>
stringHash:initialHash:<br>
stringHash:initialHash:<br>
basicNew<br>
-<br>
class<br>
new:<br>
at:put:<br>
perform:withArguments:<br>
from:if:goto:otherwise:<br>
size<br>
size<br>
size<br>
at:<br>
~=<br>
size<br>
at:put:<br>
basicNew:<br>
stringHash:initialHash:<br>
compare:with:collated:<br>
newMethod:header:<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
basicNew<br>
size<br>
size<br>
size<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
at:put:<br>
objectAt:put:<br>
objectAt:put:<br>
objectAt:put:<br>
objectAt:put:<br>
from:if:goto:otherwise:<br>
from:if:goto:otherwise:<br>
from:if:goto:otherwise:<br>
objectAt:put:<br>
new:<br>
objectAt:<br>
at:put:<br>
objectAt:<br>
at:put:<br>
objectAt:<br>
at:put:<br>
objectAt:<br>
at:put:<br>
class<br>
@<br>
withArgs:executeMethod:<br>
<br>
stack page bytes 8192 available headroom 5576 minimum unused headroom 6032<br>
<br>
(Segmentation fault)<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div>