Hi, I have a situation with a recursive Dr. Geo script where the image crash or get locked (Can't hold on the image). I tried with latest VM as detailed in the joined crash dump.
I did not get similar problem with other recursive script. So I may have very special interaction between the objects, but I did not find out. It may also be related to Morph because when instantiating first the canvas and its window (2nd line of the script), then the rest of the script, it does not crash. The crashing image itself can be found there in case of usefulness https://www.dropbox.com/s/rur8ayt8eon6mab/drgeo.image.zip?dl=0 When not crashing it outputs this cherry tree. Thanks Hilaire -- Dr. Geo http://drgeo.eu
Segmentation fault Tue Jan 5 21:17:54 2016 /home/hilaire/Travaux/Developpement/DrGeoII/trunk/build/tmp/pharo pharo VM version: 3.9-7 #1 Thu Dec 24 00:36:34 CET 2015 gcc 4.6.3 [Production ITHB VM] Built from: NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.21 uuid: 4d9b9bdf-2dfa-4c0b-99eb-5b110dadc697 Dec 24 2015 With: NBCogit NativeBoost-CogPlugin-EstebanLorenzano.21 uuid: 4d9b9bdf-2dfa-4c0b-99eb-5b110dadc697 Dec 24 2015 Revision: https://github.com/pharo-project/pharo-vm.git Commit: bad6fa2684afcf1d7cdb485f11049a4a4290fbc8 Date: 2015-12-14 12:47:06 +0100 By: Esteban Lorenzano <esteba...@gmail.com> Jenkins build #15025 Build host: Linux pharo-linux 3.2.0-31-generic-pae #50-Ubuntu SMP Fri Sep 7 16:39:45 UTC 2012 i686 i686 i386 GNU/Linux plugin path: /home/hilaire/Travaux/Developpement/DrGeoII/trunk/build/tmp/ [default: /home/hilaire/Travaux/Developpement/DrGeoII/trunk/build/tmp/] C stack backtrace & registers: eax 0xff9d4e24 ebx 0xff9d4d40 ecx 0xff9d4dd8 edx 0xff9d4d8c edi 0xff9d4c10 esi 0xff9d4c10 ebp 0xff9d4ca8 esp 0xff9d4cf4 eip 0xff9d4f08 *[0xff9d4f08] ./pharo[0x80a3332] ./pharo[0x80a3696] [0xf770a410] ./pharo[0x8084627] ./pharo[0x8085311] ./pharo(incrementalGC+0x212)[0x80874c2] ./pharo[0x80876fa] ./pharo[0x8087ad7] ./pharo[0x8087bba] ./pharo(ceStackOverflow+0x54)[0x8089c04] [0xb4968260] [0xb4a1f936] [0xb4a20f50] [0xb4a20de4] [0xb4a206d1] [0xb4a224b6] [0xb4a20508] [0xb4968648] [0x442] Smalltalk stack dump: 0xff9e6e9c M Association(Magnitude)>max: 0xb634e1f0: a(n) Association 0xff9e6ec8 M Rectangle class>origin:extent: 0xb4cc0f44: a(n) Rectangle class 0xff9e6ef8 M INVALID RECEIVER>insetRectangle: 0xb634e194 is in old space 0xff9e6f14 M Float(Rectangle)>insetBy: 0xb63468f8: a(n) Float 0xff9e6f30 M DrGDrawable(Morph)>innerBounds 0xb6339b18: a(n) DrGDrawable 0xff9e6f48 M DrGDrawable(Morph)>clippingBounds 0xb6339b18: a(n) DrGDrawable 0xff9e6f68 M DrGDrawable(Morph)>invalidRect:from: 0xb6339b18: a(n) DrGDrawable 0xb634e214 is not a context Most recent primitives new: at:put: new: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: millisecondClockValue basicNew new: millisecondClockValue basicNew at:put: at:put: at:put: at:put: basicNew @ @ basicNew @ basicNew @ @ basicNew @ @ @ @ @ @ perform:with: truncated truncated @ @ @ basicNew @ @ basicNew compare:with:collated: compare:with:collated: @ @ perform:with: @ @ @ basicNew @ new: at:put: at:put: perform:with: truncated fractionPart truncated perform:with: truncated bitShiftMagnitude: + hashBytes:startingWith: digitCompare: digitCompare: perform:with: truncated @ @ perform:with: @ @ @ new: at:put: new: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: millisecondClockValue basicNew new: millisecondClockValue basicNew at:put: at:put: at:put: at:put: basicNew @ @ basicNew @ basicNew @ @ basicNew @ @ @ @ @ @ basicNew @ @ basicNew @ perform:with: perform:with: @ perform:with: perform:with: @ basicNew basicNew @ @ basicNew @ perform:with: perform:with: @ perform:with: perform:with: @ basicNew perform:with: perform:with: @ perform:with: perform:with: @ basicNew at:put: basicNew basicNew new: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew @ @ basicNew @ basicNew @ @ basicNew @ basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew truncated fractionPart fractionPart truncated fractionPart truncated fractionPart truncated truncated basicNew @ @ basicNew @ basicNew @ @ basicNew + **IncrementalGC** stack page bytes 4096 available headroom 3300 minimum unused headroom 3496 (Segmentation fault) Abandon