On 23 Nov 2015, at 17:30, Andrei Chis <chisvasileandrei@gmail.com> wrote:The image is small 25.4 MB.First I'd like to know if this can be reproduced by others.On Mon, Nov 23, 2015 at 5:09 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:What is the size of the .image when you are about to run GC?--On Mon, Nov 23, 2015 at 12:59 PM, Andrei Chis <chisvasileandrei@gmail.com> wrote:Hi,With both the latest and stable vm I have an use case in which the vm crashed in SmalltalkImage>>garbageCollect.To set up an image that exhibits the failure , execute this with the latest pharo version:/pharo Pharo.image eval --save "{ { 'ConfigurationOfRubric'. 'Pharo'. 'Rubric' }. { 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }. { 'ConfigurationOfGTInspectorCore'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTPlaygroundCore'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTEventRecorder'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }. } do: [ :spec | Gofer new smalltalkhubUser: spec second project: spec third; package: spec first; load ]."
./pharo Pharo.image config http://www.smalltalkhub.com/mc/Pharo/Pharo50Inbox/main ConfigurationOfGToolkitCore --install=3.2
Then attempting to run the following code triggers the failure:
./pharo Pharo.image eval --save "TestRunner open model packageSearchUpdate: 'gt-tests-inspector'; classSearchUpdate: 'GTInspectorExamplesTest'; runAll"
Based on the trace below the failure happens when the test GTInspectorExamplesTest calls 'Smalltalk>>garbageCollect' in the setUp method.
That call can be removed, however, in other runs the failure happens in other methods calling Smalltalk>>garbageCollect.
Is it possible that this is a bug with the image (some broken object) or is it a vm bug?
Cheers,
Andrei
andrei$ ./pharo Pharo.image eval --save "{ { 'ConfigurationOfRubric'. 'Pharo'. 'Rubric' }. { 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }. { 'ConfigurationOfGTInspectorCore'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTPlaygroundCore'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTEventRecorder'. 'Moose'. 'GToolkit' }. { 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }. } do: [ :spec | Gofer new smalltalkhubUser: spec second project: spec third; package: spec first; load ]."
andrei$ ./pharo Pharo.image config http://www.smalltalkhub.com/mc/Pharo/Pharo50Inbox/main ConfigurationOfGToolkitCore --install=3.2
andrei$ ./pharo Pharo.image eval --save "TestRunner open model packageSearchUpdate: 'gt-tests-inspector'; classSearchUpdate: 'GTInspectorExamplesTest'; runAll"
Segmentation fault Mon Nov 23 16:48:36 2015
https://github.com/pharo-project/pharo-vm.git Commit: 28d077d8df494ce050ca42c97c892471e8b8740c Date: 2015-10-16 12:02:43 +0200 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #15016
C stack backtrace:
0 Pharo 0x0004cacf reportStackState + 159
Smalltalk stack dump:
0xbffbf1a0 M SmalltalkImage>garbageCollect 0x1fd49e30: a(n) SmalltalkImage
0xbffbf1c0 I GTInspectorExamplesTest>setUp 0x2126bc80: a(n) GTInspectorExamplesTest
0x2126cb90 is not a context
Most recent primitives
@
basicNew
@
@
@
@
@
@
@
@
@
basicNew
basicNew
basicNew
@
@
@
@
shallowCopy
new
new:
new:
basicNew
basicNew
new:
basicNew
new:
replaceFrom:to:with:startingAt:
new:
basicNew
new:
replaceFrom:to:with:startingAt:
new:
basicNew
@
new:
at:put:
at:put:
perform:with:
perform:with:
perform:
@
@
basicNew
@
@
@
@
@
@
basicNew
@
new:
at:put:
at:put:
perform:with:
perform:with:
perform:
@
@
basicNew
@
@
@
@
@
@
new
@
@
@
@
@
basicNew
@
@
new:
at:put:
@
@
basicNew
@
@
@
@
new:
at:put:
at:put:
at:put:
at:put:
new:
@
at:put:
@
at:put:
@
at:put:
@
at:put:
@
@
@
@
@
@
basicNew
@
@
basicNew
@
@
basicNew
@
@
@
@
@
shallowCopy
shallowCopy
@
@
new:
at:put:
at:put:
at:put:
at:put:
new:
@
at:put:
@
at:put:
@
at:put:
@
at:put:
@
@
@
@
@
@
basicNew
@
@
basicNew
@
@
basicNew
@
@
@
@
@
basicNew
@
@
@
@
basicNew
@
@
basicNew
@
@
basicNew
@
@
@
@
@
basicNew
@
@
@
@
basicNew
@
@
perform:
basicNew
new:
basicNew
new:
basicNew
new:
shallowCopy
shallowCopy
primUTCMicrosecondsClock
//
basicNew
basicNew
new:
at:put:
at:put:
at:put:
at:put:
value
valueNoContextSwitch
basicNew
new:
basicNew
new:
new:
basicNew
new:
replaceFrom:to:with:startingAt:
primitiveGarbageCollect
**IncrementalGC**
**FullGC**
garbageCollectMost
**IncrementalGC**
basicNew
new:
someInstance
basicNew
new:
someInstance
basicNew
new:
someInstance
new:
basicNew
new:
replaceFrom:to:with:startingAt:
primitiveGarbageCollect
**IncrementalGC**
**FullGC**
garbageCollectMost
**IncrementalGC**
wait
shallowCopy
shallowCopy
signal
wait
shallowCopy
shallowCopy
at:put:
at:put:
at:put:
at:put:
at:put:
at:put:
signal
wait
shallowCopy
shallowCopy
at:put:
at:put:
signal
new:
basicNew
new:
replaceFrom:to:with:startingAt:
primitiveGarbageCollect
**IncrementalGC**
**FullGC**
(Segmentation fault)
./pharo: line 11: 5224 Abort trap: 6 "$DIR"/"pharo-vm/Pharo.app/Contents/MacOS/Pharo" --headless "$@"