It occurred to me it would probably be easier for someone to figure out what is going on when the VM crashes in software mode if I included the crash.dmp file, so here it is..
If anyone has any ideas, I'm all ears...
Thanks, Jon
--------------------------------------------------------------------- Mon Sep 23 18:56:13 2002
Exception code: C0000005 Exception addr: 004486AA Access violation (write access) at 00000000 EAX:00000000 EBX:1109BC1C ECX:1109BC1C EDX:00000000 ESI:1109BC10 EDI:1109BABC EBP:00000001 ESP:0006FBC8 EIP:004486AA EFL:00010246 FP Control: FFFF037F FP Status: FFFF0322 FP Tag: FFFFFFFF
Current byte code: 2 Primitive index: 117 Stack dump follows:
285835312 B3DPrimitiveRasterizer>addPrimitiveObject:ofSize: 285835124 B3DPrimitiveRasterizer>processPolygon: 285834616 B3DEnginePart>processVertexBuffer: 285834428 B3DVertexRasterizer>processVertexBuffer: 285833920 B3DRenderEngine>privateRasterizeVB: 285833732 B3DRenderEngine>renderPrimitive 285833224 B3DRenderEngine>drawPolygonAfter: 285833036 B3DSimpleMeshFace>renderOn: 285784232 B3DSimpleMesh>renderOn: 285784140 B3DSceneObject>renderOn: 285796532 [] in B3DScene>renderOn: 285784048 OrderedCollection>do: 285506176 B3DScene>renderOn: 285506084 B3DSceneMorph>renderOn: 285505992 BalloonCanvas>render: 285505900 B3DSceneMorph>drawSimulatedOn: 285505808 B3DSceneMorph>drawOn: 285505716 Canvas>draw: 285505624 Canvas>drawMorph: 285505532 [] in Morph>fullDrawOn: 285505440 FormCanvas>roundCornersOf:in:during: 285505348 Canvas>roundCornersOf:during: 285505256 Morph>fullDrawOn: 285505164 Canvas>fullDraw: 285505072 Canvas>fullDrawMorph: 285504920 [] in Morph>drawSubmorphsOn: 285504736 SequenceableCollection>reverseDo: 285504828 [] in Morph>drawSubmorphsOn: 285504636 Morph>drawSubmorphsOn: 285503676 [] in Morph>fullDrawOn: 285503768 CornerRounder class>roundCornersOf:on:in:displayBlock:borderWidth:corners: 285503584 FormCanvas>roundCornersOf:in:during: 285503492 Canvas>roundCornersOf:during: 285503400 Morph>fullDrawOn: 285503308 Canvas>fullDraw: 285503216 Canvas>fullDrawMorph: 285502632 [] in WorldState>drawWorld:submorphs:invalidAreasOn: 285501952 Rectangle>allAreasOutsideList:startingAt:do: 285501776 Rectangle>allAreasOutsideList:do: 285502380 [] in WorldState>drawWorld:submorphs:invalidAreasOn: 285501664 SequenceableCollection>do: 285501412 WorldState>drawWorld:submorphs:invalidAreasOn: 285501320 [] in WorldState>displayWorld:submorphs: 285501228 FormCanvas>roundCornersOf:in:during: 285501136 Canvas>roundCornersOf:during: 285501044 WorldState>displayWorld:submorphs: 285500952 PasteUpMorph>privateOuterDisplayWorld 285500860 PasteUpMorph>displayWorld 285500712 SystemWindow>passivate 285500620 SystemWindow>activate 285499608 SystemWindow>openAsIsIn: 285499144 SystemWindow>openInWorld:extent: 285499052 SystemWindow>openInWorldExtent: 285412916 Auv3dViewer>openViewer 285412824 Auv3dViewer class>openViewer 285412732 UndefinedObject>DoIt 285409920 Compiler>evaluate:in:to:notifying:ifFail: 285410012 [] in ParagraphEditor>evaluateSelection 285409736 BlockContext>on:do: 285409644 ParagraphEditor>evaluateSelection 285409552 ParagraphEditor>doIt 285409828 [] in ParagraphEditor>doIt: 285409460 Controller>terminateAndInitializeAround: 285409368 ParagraphEditor>doIt: 285409252 ParagraphEditor>dispatchOnCharacter:with: 285409028 ParagraphEditor>readKeyboard 285408936 TextMorphEditor>readKeyboard 285408792 [] in TextMorph>keyStroke: 285408700 TextMorph>handleInteraction:fromEvent: 285408608 TextMorphForEditView>handleInteraction:fromEvent: 285408464 TextMorph>keyStroke: 285408372 TextMorphForEditView>keyStroke: 285408188 TextMorph>handleKeystroke: 285408096 KeyboardEvent>sentTo: 285408004 Morph>handleEvent: 285407912 Morph>handleFocusEvent: 285408280 [] in HandMorph>sendFocusEvent:to:clear: 285407820 PasteUpMorph>becomeActiveDuring: 285407636 HandMorph>sendFocusEvent:to:clear: 285407544 HandMorph>sendEvent:focus:clear: 285407452 HandMorph>sendKeyboardEvent: 285407320 HandMorph>handleEvent: 285406984 HandMorph>processEvents 285407076 [] in WorldState>doOneCycleNowFor: 285406892 SequenceableCollection>do: 285406800 WorldState>handsDo: 285406708 WorldState>doOneCycleNowFor: 285406616 WorldState>doOneCycleFor: 285406524 PasteUpMorph>doOneCycle 278908084 [] in Project class>spawnNewProcess 278908268 [] in BlockContext>newProcess
On Mon, 23 Sep 2002 18:58:34 -0400, Jon Hylands jon@huv.com wrote:
If anyone has any ideas, I'm all ears...
Update...
So, I opened one of the B3D demo viewers that come with the B3D Tutorial on the Swiki, and it seemed to work okay, so I tried mine again, and it magically (without changing a single line of code) started working again...
Go figure...
Later, Jon
-------------------------------------------------------------- Jon Hylands Jon@huv.com http://www.huv.com/jon
Project: Micro Seeker (Micro Autonomous Underwater Vehicle) http://www.huv.com
On Mon, 23 Sep 2002 18:58:34 -0400, Jon Hylands jon@huv.com wrote:
Update...
So, I opened one of the B3D demo viewers that come with the B3D Tutorial
on
the Swiki, and it seemed to work okay, so I tried mine again, and it magically (without changing a single line of code) started working
again...
... Crash dump appended ...
Hello Jon,
I had sometimes the impression, that B3D crashes under some circumstances when triangles are used. I am now in a hurry, this evening (european time) I will write a more detailed statement, but for now, can you please try this:
In B3DSimpleMeshFile>>renderOn:
renderOn: aRenderer ^aRenderer drawPolygonAfter:[ aRenderer normal: self normal. 1 to: self size do:[:i| (self at: i) renderOn: aRenderer]. " inserted code starts here " self size = 3 ifTrue: [(self at: 1) renderOn: aRenderer. " end of insertion " ].
The insertion closes the triangle and I had once the impression that this *may* help. Could you please tell me what is your result when you try this change?
Greetings and until later this day. Boris
Jon,
Check your hard disk for a "Squeak3D.dll" - if you find any then delete it. Also, make sure you're using a recent VM - there have been some problems with older VMs in this area (and yes, I _should_ add the version of the VM and the list of plugins to the crash log - will do this right away).
Cheers, - Andreas
-----Original Message----- From: squeak-dev-admin@lists.squeakfoundation.org [mailto:squeak-dev-admin@lists.squeakfoundation.org] On Behalf Of Jon Hylands Sent: Tuesday, September 24, 2002 12:59 AM To: squeak-dev@lists.squeakfoundation.org Subject: Crash Dump from 3D morph
It occurred to me it would probably be easier for someone to figure out what is going on when the VM crashes in software mode if I included the crash.dmp file, so here it is..
If anyone has any ideas, I'm all ears...
Thanks, Jon
Mon Sep 23 18:56:13 2002
Exception code: C0000005 Exception addr: 004486AA Access violation (write access) at 00000000 EAX:00000000 EBX:1109BC1C ECX:1109BC1C EDX:00000000 ESI:1109BC10 EDI:1109BABC EBP:00000001 ESP:0006FBC8 EIP:004486AA EFL:00010246 FP Control: FFFF037F FP Status: FFFF0322 FP Tag: FFFFFFFF
Current byte code: 2 Primitive index: 117 Stack dump follows:
285835312 B3DPrimitiveRasterizer>addPrimitiveObject:ofSize: 285835124 B3DPrimitiveRasterizer>processPolygon: 285834616 B3DEnginePart>processVertexBuffer: 285834428 B3DVertexRasterizer>processVertexBuffer: 285833920 B3DRenderEngine>privateRasterizeVB: 285833732 B3DRenderEngine>renderPrimitive 285833224 B3DRenderEngine>drawPolygonAfter: 285833036 B3DSimpleMeshFace>renderOn: 285784232 B3DSimpleMesh>renderOn: 285784140 B3DSceneObject>renderOn: 285796532 [] in B3DScene>renderOn: 285784048 OrderedCollection>do: 285506176 B3DScene>renderOn: 285506084 B3DSceneMorph>renderOn: 285505992 BalloonCanvas>render: 285505900 B3DSceneMorph>drawSimulatedOn: 285505808 B3DSceneMorph>drawOn: 285505716 Canvas>draw: 285505624 Canvas>drawMorph: 285505532 [] in Morph>fullDrawOn: 285505440 FormCanvas>roundCornersOf:in:during: 285505348 Canvas>roundCornersOf:during: 285505256 Morph>fullDrawOn: 285505164 Canvas>fullDraw: 285505072 Canvas>fullDrawMorph: 285504920 [] in Morph>drawSubmorphsOn: 285504736 SequenceableCollection>reverseDo: 285504828 [] in Morph>drawSubmorphsOn: 285504636 Morph>drawSubmorphsOn: 285503676 [] in Morph>fullDrawOn: 285503768 CornerRounder class>roundCornersOf:on:in:displayBlock:borderWidth:corners: 285503584 FormCanvas>roundCornersOf:in:during: 285503492 Canvas>roundCornersOf:during: 285503400 Morph>fullDrawOn: 285503308 Canvas>fullDraw: 285503216 Canvas>fullDrawMorph: 285502632 [] in WorldState>drawWorld:submorphs:invalidAreasOn: 285501952 Rectangle>allAreasOutsideList:startingAt:do: 285501776 Rectangle>allAreasOutsideList:do: 285502380 [] in WorldState>drawWorld:submorphs:invalidAreasOn: 285501664 SequenceableCollection>do: 285501412 WorldState>drawWorld:submorphs:invalidAreasOn: 285501320 [] in WorldState>displayWorld:submorphs: 285501228 FormCanvas>roundCornersOf:in:during: 285501136 Canvas>roundCornersOf:during: 285501044 WorldState>displayWorld:submorphs: 285500952 PasteUpMorph>privateOuterDisplayWorld 285500860 PasteUpMorph>displayWorld 285500712 SystemWindow>passivate 285500620 SystemWindow>activate 285499608 SystemWindow>openAsIsIn: 285499144 SystemWindow>openInWorld:extent: 285499052 SystemWindow>openInWorldExtent: 285412916 Auv3dViewer>openViewer 285412824 Auv3dViewer class>openViewer 285412732 UndefinedObject>DoIt 285409920 Compiler>evaluate:in:to:notifying:ifFail: 285410012 [] in ParagraphEditor>evaluateSelection 285409736 BlockContext>on:do: 285409644 ParagraphEditor>evaluateSelection 285409552 ParagraphEditor>doIt 285409828 [] in ParagraphEditor>doIt: 285409460 Controller>terminateAndInitializeAround: 285409368 ParagraphEditor>doIt: 285409252 ParagraphEditor>dispatchOnCharacter:with: 285409028 ParagraphEditor>readKeyboard 285408936 TextMorphEditor>readKeyboard 285408792 [] in TextMorph>keyStroke: 285408700 TextMorph>handleInteraction:fromEvent: 285408608 TextMorphForEditView>handleInteraction:fromEvent: 285408464 TextMorph>keyStroke: 285408372 TextMorphForEditView>keyStroke: 285408188 TextMorph>handleKeystroke: 285408096 KeyboardEvent>sentTo: 285408004 Morph>handleEvent: 285407912 Morph>handleFocusEvent: 285408280 [] in HandMorph>sendFocusEvent:to:clear: 285407820 PasteUpMorph>becomeActiveDuring: 285407636 HandMorph>sendFocusEvent:to:clear: 285407544 HandMorph>sendEvent:focus:clear: 285407452 HandMorph>sendKeyboardEvent: 285407320 HandMorph>handleEvent: 285406984 HandMorph>processEvents 285407076 [] in WorldState>doOneCycleNowFor: 285406892 SequenceableCollection>do: 285406800 WorldState>handsDo: 285406708 WorldState>doOneCycleNowFor: 285406616 WorldState>doOneCycleFor: 285406524 PasteUpMorph>doOneCycle 278908084 [] in Project class>spawnNewProcess 278908268 [] in BlockContext>newProcess
On Tue, 24 Sep 2002 01:09:57 +0200, "Andreas Raab" Andreas.Raab@gmx.de wrote:
Check your hard disk for a "Squeak3D.dll" - if you find any then delete it. Also, make sure you're using a recent VM - there have been some problems with older VMs in this area (and yes, I _should_ add the version of the VM and the list of plugins to the crash log - will do this right away).
Andreas,
I have a bunch of Squeak3d.dll files in other folders (none of which are on the path), from earlier projects that I haven't upgraded to recent versions of Squeak.
The Squeak I am using for this is reporting:
'Squeak 3.2.2 VM (release candidate) from May 26 2002'
It is the one zipped with the 3.2 image on the Swiki.
As an update, I can consistantly crash my VM now when I run my demo if I haven't run the B3D demo first (since I started the image) if I am in software mode.
Later, Jon
-------------------------------------------------------------- Jon Hylands Jon@huv.com http://www.huv.com/jon
Project: Micro Seeker (Micro Autonomous Underwater Vehicle) http://www.huv.com
Jon Hylands jon@huv.com wrote:
As an update, I can consistantly crash my VM now when I run my demo if I haven't run the B3D demo first (since I started the image) if I am in software mode.
Yes, that is what I observed a few times when I tried to render models that are built from triangles.
The work-around that I sent you earlier today should avoid the crash for instances of B3DSimpleMesh that contain triangular faces. The work-around uses the observed fact that quadrangles are sucessfully rendered while triangles are not: The first trianlge vertex is repeated as the fourth vertex of a quadrangle. This is certainly an ugly trick, but it works.
The fact that everthing works fine when you first run the demo (the rotating cube) is perhaps a hint that some initialization that is performed by the demo is missing when the demo was not executed before we begin our own work.
The attached change set TriangleProblem.cs contains (in category 'B3DTests') two examples. Each of these examples can cause a crash of the VM. Please read the class comments of classes B3DSingleTriangle and B3DTestSimpleMesh for further details. The change set workaround.cs contains the work-around. You may wish to try the examples in TriangleProblem.cs without that work-around first.
Regrettably I cannot tell you where the problem is. Is there a glitch in the renderer or are we using the renderer in a way it must not be used? What are the opinions of the experts?
Greetings, Boris
squeak-dev@lists.squeakfoundation.org