[BUG]BetterDebugger3 breaks error handling under some simple situations

Martin McClure martin at hand2mouse.com
Tue Aug 21 00:09:47 UTC 2001


I just ran into this emergency stack:

***System error handling failed***
MessageNotUnderstood: home
Debugger class>>openContext:label:contents:
MessageNotUnderstood(Error)>>devDefaultAction
MessageNotUnderstood(Error)>>defaultAction
MessageNotUnderstood(Exception)>>signal
UndefinedObject(Object)>>doesNotUnderstand:
Debugger class>>informExistingDebugger:label:
Debugger class>>openContext:label:contents:
Error>>devDefaultAction
Error>>defaultAction
Error(Exception)>>signal
Error(Exception)>>signal:
SystemDictionary(Object)>>error:
SystemDictionary(Dictionary)>>errorKeyNotFound
[] in SystemDictionary(Dictionary)>>at:
SystemDictionary(Dictionary)>>at:ifAbsent:
SystemDictionary(Dictionary)>>at:
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:
[] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
BlockContext>>on:do:
---------------
Type CR to enter an emergency evaluator.
Type any other character to restart.


The doit in this case was:

   Smalltalk at: 'Foo'

This should produce a walkback, but it wasn't working.
After some investigation, I found that a 3.1a-4173 image produces a 
walkback as it should. After filing in BetterDebugger.cs and 
BetterDebugger2.cs it still works OK. After also filing in 
BetterDebugger3.cs, however, this test case cannot open a walkback.

It looks like BetterDebugger3.cs does contain a change to Debugger 
class>>informExistingDebugger:label: that will cause this problem if 
there is no ContextPart>>quickSend:to:with:super: on the stack.

I haven't dug far enough into the inner workings of the debugger to 
know what the appropriate change is; I'm hoping it will be trivial 
for you.

Thanks,

-Martin




More information about the Squeak-dev mailing list