��
For Pharo I found the following snippet crashes the VM with fresh images.��
Smalltalk garbageCollect. Smalltalk garbageCollect. Smalltalk garbageCollect.����
Transcript open.
[�� �� Transcript crShow: (�� �� ����
�� �� ��������[��������| string |
�� �� �� �� ��������string := '-'.�� ����
�� �� �� �� ��������1 to: 2000 do:
�� �� �� �� ��������[ ��������:n |
�� �� �� �� �� �� �� ����������������string := string , '-', n printString.
�� �� �� �� �� �� �� ����������������Transcript show: string.
�� �� �� �� ��������].
�� �� �� �� ��������(Delay forMilliseconds: 10) wait.
�� �� ��������]) timeToRun.
] fork.
Over a dozen runs, this usually occurred on the second evaluation of that snippet, and once each on the third and fourth evaluation of that snippet.��
If there is only a single 'Smalltalk garbageCollect' rather than the three, then the VM doesn't crash.��
(Aside: I don't really know what use running it three times is, I just see it down elsewhere.)
I recorded four runs.
run1, run2, run3 were with...��
�� $ curl get.pharo.org/alpha+vmLatest | bash
and run4 with...
�� $ curl get.pharo.org/30+vmLatest | bash
Console logs and crash.dmp attached.
---------
All four runs show the same crash info at top...
---------
Segmentation fault Sun Aug 10 21:17:09 2014
C stack backtrace:
0�� Pharo�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� 0x0004c0ef reportStackState + 159
---------
and bottom...
---------
�� �� �� (Segmentation fault)
./pharo-ui: line 11: 21593 Abort trap: 6�� �� �� �� �� "$DIR"/"pharo-vm/Pharo.app/Contents/MacOS/Pharo" "$@"
---------
but different stack dumps...
---------run1
Smalltalk stack dump:
0xbffb68e4 M SmallInteger(Integer)>timesRepeat: 0x1=0
0xbffb6900 M CompositionScanner(CharacterScanner)>handleIndentation 0x2300ced4: a(n) CompositionScanner
0xbffb6920 M CompositionScanner>composeFrom:inRectangle:firstLine:leftSide:rightSide: 0x2300ced4: a(n) CompositionScanner
0xbffb695c M TextComposer>composeEachRectangleIn: 0x21f2a340: a(n) TextComposer
---------run2
Smalltalk stack dump:
0xbffb7868 M BlockClosure>on:do: 0x21ff5a64: a(n) BlockClosure
0xbffb7888 M BlockClosure>on:fork: 0x21ff5a64: a(n) BlockClosure
0xbffb78a8 M WeakAnnouncementSubscription>deliver: 0x20e20260: a(n) WeakAnnouncementSubscription
0xbffb78cc M [] in SubscriptionRegistry>deliver:to:startingAt: 0x20e1e688: a(n) SubscriptionRegistry
0xbffb78ec M BlockClosure>ifCurtailed: 0x21ff59d4: a(n) BlockClosure
---------run3
0xbfff204c M SmalltalkImage>garbageCollect 0x1fd577c4: a(n) SmalltalkImage
0xbfff2064 M UndefinedObject>(nil) 0x1f500004: a(n) UndefinedObject
0xbfff2094 I OpalCompiler>evaluate 0x220c1184: a(n) OpalCompiler
0xbfff20c0 I SmalltalkEditor>evaluateSelectionAndDo: 0x20b2e930: a(n) SmalltalkEditor
0xbfff20e4 I SmalltalkEditor>evaluateSelection 0x20b2e930: a(n) SmalltalkEditor
0xbfff2104 I [] in PluggableTextMorph>doIt 0x20b18014: a(n) PluggableTextMorph
---------run4
Smalltalk stack dump:
0xbffb501c I SmalltalkImage>garbageCollect 0x1f969748: a(n) SmalltalkImage
0xbffb5034 M UndefinedObject>(nil) 0x1f500004: a(n) UndefinedObject
0xbffb5064 I OpalCompiler>evaluate 0x21eebda0: a(n) OpalCompiler
0xbffb5090 I SmalltalkEditor>evaluateSelectionAndDo: 0x20970488: a(n) SmalltalkEditor
0xbffb50b4 I SmalltalkEditor>evaluateSelection 0x20970488: a(n) SmalltalkEditor
0xbffb50d4 I [] in PluggableTextMorph>doIt 0x209587f0: a(n) PluggableTextMorph
---------
Maybe its Image code doing bad things rather than a VM bug, but I'm not qualified to tell.�� Also I'm working on removing ThreadSafeTranscriptPluggableTextMorph which wraps #update: and #drawOn: with a mutex to avoid the same snippet causing a Red-Morph-Of-Death, so maybe those changes will bypass the bug, but thought this report might be generally useful if it flushed out some corner case.
I'll copy any mail list discussion to https://pharo.fogbugz.com/default.asp?13822.
cheers -ben