On Tue, Dec 29, 2009 at 6:13 PM, Lukas Renggli <renggli@gmail.com> wrote:
lead to ugly side effects in loading specific packages. Details aside, it seems _really_ bad to me for the vm to crash without leaving behind any traces of what happened.
This is not a VM that crashes. In fact everything is still fully functional and running. What Mariano is seeing is the emergency debugger, a very primitive debugger implemented in MorphicUIManager>>onPrimitiveError: used when everything else fails.
Thanks Lukas for the explanation. Every day I learn something new :) Now I was wondering if we can change the onPrimitiveError: to something like this: onPrimitiveError: aString | context | (String streamContents: [:s | s nextPutAll: '***System error handling failed***'. s cr; nextPutAll: aString. context := thisContext sender sender. 200 timesRepeat: [context == nil ifFalse: [s cr; print: (context := context sender)]]. s cr; nextPutAll: '-------------------------------'. s cr; nextPutAll: 'Type CR to enter an emergency evaluator.'. s cr; nextPutAll: 'Type any other character to restart.']) displayAt: 10 @ 0. [Sensor keyboardPressed] whileFalse. Sensor keyboard = Character cr ifTrue: [Transcripter emergencyEvaluator]. World install "init hands and redisplay" I just changed to 200 timesRepeat instead of 20 so that to have the full stack, or at least, more than 20 lines and also the point of displayAt: 10 @ 0. because in my case I couldn't see the first letters of the windows. If you are ok, I can put a slice in the inbox and create the issue. Thanks Mariano
Lukas
-- Lukas Renggli http://www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project