This sounds suspiciously like the same thing we had with Fuel 2 or 3 years back. Search for "Frequent SegFaults in PharoVM with Pharo 3.0���. The problem there was with Opal though and the #timesRepeat: message IIRC.

Max

On 23 Nov 2015, at 16:59, 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 "$@"