[Vm-dev] VM crash in the Squeak3D plugin, the sequeal

Christian Kellermann ckeen at pestilenz.org
Thu Jan 9 17:54:47 UTC 2020


Hi Eliot,
hi Dave,

> So whatever the issue is is deeper than simply not having been updated.

I don't have much time right now but I have attached the trace and
here's the stack trace from the core dump I get when running the Guardians.image with an openbsd 64bit machine:

(gdb) bt
#0  thrkill () at -:3
#1  0x00000c1db668d7de in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51
#2  0x00000c1b4d876c72 in sigsegv (sig=-451888, info=Variable "info" is not available.
) at /usr/local/smalltalk/opensmalltalk-vm/platforms/unix/vm/sqUnixMain.c:1129
#3  <signal handler called>
#4  copyBitsLockedAndClipped () at /usr/local/smalltalk/opensmalltalk-vm/src/plugins/BitBltPlugin/BitBltPlugin.c:820
#5  0x00000c1b4d9486f9 in copyBitsFromtoat (startX=Variable "startX" is not available.
) at /usr/local/smalltalk/opensmalltalk-vm/src/plugins/BitBltPlugin/BitBltPlugin.c:1257
#6  0x00000c1df5b0ac9e in b3dMainLoop (state=Variable "state" is not available.
) at /usr/local/smalltalk/opensmalltalk-vm/platforms/Cross/plugins/Squeak3D/b3dMain.c:1146
#7  0x00000c1df5b020c8 in b3dStartRasterizer () at /usr/local/smalltalk/opensmalltalk-vm/src/plugins/Squeak3D/Squeak3D.c:1704
#8  0x00000c1b4d8d4838 in primitiveExternalCall () at /usr/local/smalltalk/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:76948
#9  0x00000c1b4d8c09e8 in interpret () at /usr/local/smalltalk/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:6220
#10 0x00000c1b4d8c8106 in enterSmalltalkExecutiveImplementation () at /usr/local/smalltalk/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:16340
#11 0x00000c1b4d8ba9c8 in interpret () at /usr/local/smalltalk/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:2775
#12 0x00000c1b4d876aa4 in main (argc=Variable "argc" is not available.
) at /usr/local/smalltalk/opensmalltalk-vm/platforms/unix/vm/sqUnixMain.c:2151
Current language:  auto; currently asm

I'll look into it in more detail later.

Thanks,

Christian

-- 
May you be peaceful, may you live in safety, may you be free from
suffering, and may you live with ease.
-------------- next part --------------


Segmentation fault Thu Jan  9 18:51:18 2020


/usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
Squeak VM version: 5.0-201912122343  Mon Jan  6 17:04:07 CET 2020 clang [Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.2606 uuid: be1eac72-340a-4ed5-bfe7-6051597847a4 Jan  6 2020
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2596 uuid: 8500baf3-a5ae-4594-9f3b-08cedfdf1fb3 Jan  6 2020
Revision: VM: 201912122343 ckeen at blackbeard.fritz.box:/usr/local/smalltalk/opensmalltalk-vm
Date: Fri Dec 13 00:43:27 2019 CommitHash: d58235ca0
Plugins: 201912122343 ckeen at blackbeard.fritz.box:/usr/local/smalltalk/opensmalltalk-vm
Build host: OpenBSD blackbeard.fritz.box 6.6 GENERIC.MP#584 amd64
plugin path: /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343 [default: /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/]


C stack backtrace & registers:
don't know how to derive register state from a ucontext_t on this platform
*0x0
0xc1b4d8747ee <error+270> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0xc1b4d876d57 <main+2775> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0xc1e38e03005
0xc1b4d9486f9 <copyBitsFallback+281> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0xc1df5b0ac9e <b3dMainLoop+1566> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/Squeak3D.so
0xc1df5b020c8 <b3dStartRasterizer+2088> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/Squeak3D.so
0xc1b4d8d4838 <flushExternalPrimitiveOf+1320> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0xc1b4d8c09e8 <interpret+26600> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0xc1b4d8c8106 <loadInitialContext+502> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0xc1b4d8ba9c8 <interpret+1992> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0xc1b4d876aa4 <main+2084> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0xc1b4d87313b <_start+315> at /usr/local/smalltalk/opensmalltalk-vm/products/sqcogspur64linuxht/lib/squeak/5.0-201912122343/squeak
0x93874b51f6ec9a9a


Smalltalk stack dump:
    0x7f7ffffa20c8 I B3DPrimitiveRasterizer>mainLoop 0xc1b4ddb0118: a(n) B3DPrimitiveRasterizer
    0x7f7ffffa2108 I B3DPrimitiveRasterizer>flush 0xc1b4ddb0118: a(n) B3DPrimitiveRasterizer
    0x7f7ffffa2148 I B3DPrimitiveEngine(B3DRenderEngine)>flush 0xc1b4dd92530: a(n) B3DPrimitiveEngine
    0x7f7ffffa2188 I B3DPrimitiveEngine(B3DRenderEngine)>finish 0xc1b4dd92530: a(n) B3DPrimitiveEngine
    0x7f7ffffa21d8 I WonderlandCamera>render:pickingAt:withPrimitiveVertex: 0xc1b4dd922f0: a(n) WonderlandCamera
    0x7f7ffffa2230 I WonderlandCamera>render:pickingAt: 0xc1b4dd922f0: a(n) WonderlandCamera
    0x7f7ffffa2280 I WonderlandCamera>render: 0xc1b4dd922f0: a(n) WonderlandCamera
    0x7f7ffffa22c8 I WonderlandCameraMorph>renderOn: 0xc1b4dd92638: a(n) WonderlandCameraMorph
    0x7f7ffffa2318 I BalloonCanvas>render: 0xc1b4dd92720: a(n) BalloonCanvas
    0x7f7ffffa2360 I WonderlandCameraMorph>drawSimulatedOn: 0xc1b4dd92638: a(n) WonderlandCameraMorph
    0x7f7ffffa23a8 I WonderlandCameraMorph>drawOn: 0xc1b4dd92638: a(n) WonderlandCameraMorph
    0x7f7ffffa23e0 M FormCanvas(Canvas)>draw: 0xc1b4dd92788: a(n) FormCanvas
    0x7f7ffffa2418 M FormCanvas(Canvas)>drawMorph: 0xc1b4dd92788: a(n) FormCanvas
    0x7f7ffffa2450 M WonderlandCameraMorph(Morph)>fullDrawOn: 0xc1b4dd92638: a(n) WonderlandCameraMorph
    0x7f7ffffa2488 M FormCanvas(Canvas)>fullDraw: 0xc1b4dd92788: a(n) FormCanvas
    0x7f7ffffa24c0 M FormCanvas(Canvas)>fullDrawMorph: 0xc1b4dd92788: a(n) FormCanvas
    0x7f7ffffa2508 I [] in WonderlandCameraMorph(Morph)>imageForm:forRectangle: 0xc1b4dd92638: a(n) WonderlandCameraMorph
    0x7f7ffffa2550 I FormCanvas>translateBy:during: 0xc1b4dd927e8: a(n) FormCanvas
    0x7f7ffffa25a8 I WonderlandCameraMorph(Morph)>imageForm:forRectangle: 0xc1b4dd92638: a(n) WonderlandCameraMorph
    0x7f7ffffa25f8 I WonderlandCameraMorph(Morph)>imageFormForRectangle: 0xc1b4dd92638: a(n) WonderlandCameraMorph
    0x7f7ffffa2640 I WonderlandCameraMorph(Morph)>imageForm 0xc1b4dd92638: a(n) WonderlandCameraMorph
    0x7f7ffff961b0 I WonderlandPark>icon: 0xc1b54256f40: a(n) WonderlandPark
    0x7f7ffff96220 I [] in WonderlandPark>openPark 0xc1b54256f40: a(n) WonderlandPark
    0x7f7ffff96270 I WonderlandPark>withDefaultCameraDo: 0xc1b54256f40: a(n) WonderlandPark
    0x7f7ffff962c0 I WonderlandPark>openPark 0xc1b54256f40: a(n) WonderlandPark
    0x7f7ffff96300 I WonderlandPark>reset: 0xc1b54256f40: a(n) WonderlandPark
    0x7f7ffff96348 I WonderlandPark>levelNumber: 0xc1b54256f40: a(n) WonderlandPark
    0x7f7ffff96390 I WonderlandPark>initializeAtLevelNumber: 0xc1b54256f40: a(n) WonderlandPark
    0x7f7ffff963d8 I WonderlandPark>initialize 0xc1b54256f40: a(n) WonderlandPark
    0x7f7ffff96418 I WonderlandPark class(Wonderland class)>new 0xc1b53787338: a(n) WonderlandPark class
    0x7f7ffff96458 I WonderlandPark class>newFullScreen 0xc1b53787338: a(n) WonderlandPark class
    0x7f7ffff96488 M WonderlandPark class>startUp: 0xc1b53787338: a(n) WonderlandPark class
    0x7f7ffff964e0 M [] in SmalltalkImage>send:toClassesNamedIn:with: 0xc1b4e8f6770: a(n) SmalltalkImage
    0x7f7ffff96520 M OrderedCollection>do: 0xc1b4eaab400: a(n) OrderedCollection
    0x7f7ffff96570 I SmalltalkImage>send:toClassesNamedIn:with: 0xc1b4e8f6770: a(n) SmalltalkImage
    0x7f7ffff965c8 I SmalltalkImage>processStartUpList: 0xc1b4e8f6770: a(n) SmalltalkImage
    0x7f7ffff96620 I SmalltalkImage>snapshot:andQuit:withExitCode:embedded: 0xc1b4e8f6770: a(n) SmalltalkImage
     0xc1b53969d80 s SmalltalkImage>snapshot:andQuit:embedded:
     0xc1b5397fe28 s SmalltalkImage>snapshot:andQuit:
     0xc1b53984660 s WonderlandPark class>deployWithInitials:imageName:removing:
     0xc1b53985500 s WonderlandPark class>deployWithInitials:imageName:
     0xc1b53985aa0 s WonderlandPark class>deploy
     0xc1b53985cc8 s UndefinedObject>DoIt
     0xc1b53985f60 s Compiler>evaluateCue:ifFail:
     0xc1b539860e0 s Compiler>evaluateCue:ifFail:logged:
     0xc1b53986340 s Compiler>evaluate:in:to:environment:notifying:ifFail:logged:
     0xc1b539866c0 s [] in SmalltalkEditor(TextEditor)>evaluateSelectionAndDo:
     0xc1b53986998 s BlockClosure>on:do:
     0xc1b53987450 s SmalltalkEditor(TextEditor)>evaluateSelectionAndDo:
     0xc1b539879b8 s SmalltalkEditor(TextEditor)>evaluateSelection
     0xc1b53987be0 s SmalltalkEditor(TextEditor)>doIt
     0xc1b53987d00 s SmalltalkEditor(TextEditor)>doIt:
     0xc1b53987db8 s SmalltalkEditor(TextEditor)>dispatchOnKeyboardEvent:
     0xc1b53987ec0 s SmalltalkEditor(TextEditor)>keyStroke:
     0xc1b53987f90 s [] in TextMorphForEditView(TextMorph)>keyStroke:
     0xc1b53988048 s TextMorphForEditView(TextMorph)>handleInteraction:fromEvent:
     0xc1b53988128 s TextMorphForEditView>handleInteraction:fromEvent:
     0xc1b539881f8 s [] in TextMorphForEditView(TextMorph)>keyStroke:
     0xc1b53988340 s StandardToolSet class>codeCompletionAround:textMorph:keyStroke:
     0xc1b53988440 s ToolSet class>codeCompletionAround:textMorph:keyStroke:
     0xc1b539884f8 s TextMorphForEditView(TextMorph)>keyStroke:
     0xc1b539885b0 s TextMorphForEditView>keyStroke:
     0xc1b53988668 s TextMorphForEditView(Morph)>handleKeystroke:
     0xc1b53988720 s TextMorphForEditView(TextMorph)>handleKeystroke:
     0xc1b539887d8 s KeyboardEvent>sentTo:
     0xc1b53988890 s TextMorphForEditView(Morph)>handleEvent:
     0xc1b53988948 s TextMorphForEditView(Morph)>handleFocusEvent:
     0xc1b53988a00 s MorphicEventDispatcher>doHandlingForFocusEvent:with:
     0xc1b53988ab8 s MorphicEventDispatcher>dispatchFocusEvent:with:
     0xc1b53988b88 s TextMorphForEditView(Morph)>processFocusEvent:using:
     0xc1b53988c40 s TextMorphForEditView(Morph)>processFocusEvent:
     0xc1b53988cf8 s [] in HandMorph>sendFocusEvent:to:clear:
     0xc1b53988db0 s BlockClosure>ensure:
     0xc1b53988eb0 s KeyboardEvent(MorphicEvent)>becomeActiveDuring:
     0xc1b53988f90 s [] in HandMorph>sendFocusEvent:to:clear:
     0xc1b53989048 s BlockClosure>ensure:
     0xc1b53989138 s HandMorph>becomeActiveDuring:
     0xc1b53989218 s [] in HandMorph>sendFocusEvent:to:clear:
     0xc1b539892d0 s BlockClosure>ensure:
     0xc1b539893c0 s PasteUpMorph>becomeActiveDuring:
     0xc1b539894a0 s HandMorph>sendFocusEvent:to:clear:
     0xc1b53989558 s HandMorph>sendEvent:focus:clear:
     0xc1b53989630 s HandMorph>sendKeyboardEvent:
     0xc1b539896f8 s HandMorph>handleEvent:
     0xc1b539897b0 s HandMorph>processEvents
     0xc1b53989868 s [] in WorldState>doOneCycleNowFor:
     0xc1b53989968 s Array(SequenceableCollection)>do:
     0xc1b53989a58 s WorldState>handsDo:
     0xc1b53989b10 s WorldState>doOneCycleNowFor:
     0xc1b53989bc8 s WorldState>doOneCycleFor:
     0xc1b53989c80 s PasteUpMorph>doOneCycle
     0xc1b5339ee98 s [] in MorphicProject>spawnNewProcess
     0xc1b533df028 s [] in BlockClosure>newProcess

Most recent primitives
privateReplaceFrom:to:with:startingAt:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
privateReplaceFrom:to:with:startingAt:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
privateReplaceFrom:to:with:startingAt:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
privateReplaceFrom:to:with:startingAt:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
primShadeVB:count:lights:material:vbFlags:
primObjectSize
primAddObject:primitive:vertexArray:size:indexArray:size:viewport:textureIndex:
@
@
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
privateReplaceFrom:to:with:startingAt:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
privateReplaceFrom:to:with:startingAt:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
privateReplaceFrom:to:with:startingAt:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
at:
floatAt:put:
privateReplaceFrom:to:with:startingAt:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
primShadeVB:count:lights:material:vbFlags:
primObjectSize
primAddObject:primitive:vertexArray:size:indexArray:size:viewport:textureIndex:
@
@
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
numElements
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
primShadeVB:count:lights:material:vbFlags:
primObjectSize
basicNew:
primAddObject:primitive:vertexArray:size:indexArray:size:viewport:textureIndex:
@
@
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
primShadeVB:count:lights:material:vbFlags:
primObjectSize
basicNew:
primAddObject:primitive:vertexArray:size:indexArray:size:viewport:textureIndex:
@
@
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
primShadeVB:count:lights:material:vbFlags:
primObjectSize
basicNew:
primAddObject:primitive:vertexArray:size:indexArray:size:viewport:textureIndex:
@
@
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
primShadeVB:count:lights:material:vbFlags:
primObjectSize
basicNew:
primAddObject:primitive:vertexArray:size:indexArray:size:viewport:textureIndex:
@
@
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
primShadeVB:count:lights:material:vbFlags:
primObjectSize
basicNew:
primAddObject:primitive:vertexArray:size:indexArray:size:viewport:textureIndex:
@
@
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
primLoadVB:startingAt:vertices:normals:colors:texCoords:count:default:
primLoadIndexArrayInto:startingAt:from:count:max:offset:
privateTransformVB:count:modelViewMatrix:projectionMatrix:flags:
determineClipFlags:count:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
privateTransformMatrix:with:into:
replaceFrom:to:with:startingAt:
replaceFrom:to:with:startingAt:
new:
new:
basicNew:
primTextureSize
primStartRasterizer:objects:textures:

stack page bytes 8192 available headroom 5576 minimum unused headroom 6032

        (Segmentation fault)
Abort trap (core dumped)


More information about the Vm-dev mailing list