Debugger returnValue through unwind context unwinds too far #119
Labels
base system
[SCOPE] Squeak's basic (language) concerns such as Kernel, Collections, Graphics, Network
bug
[WHAT] Something isn't working as expected. Automated tests beneficial. :-
programmer
[SCOPE] It is for the (maybe professional) programmer
vm simulation
[SCOPE] Anything that simulates VM behavior in Squeak such as debugger step.
Steps to reproduce
Do it/print it:
In the debugger, yellow-click
UndefinedObject>>DoIt
(home), choose "return entered value", and enter any value.Expected: Should land in
UndefinedObject(Object)>>halt
.Actual: Land in
Compiler>>evaluateCue:ifFail:logged:
(but the process suspendedContext is not actually yet there).Patch:
With that change, let's continue and step out of
[] in UndefinedObject>>DoIt
. Whether you use step over or step through fromUndefinedObject>>DoIt
or step into all the details of the unwind stack, in any case the process ends up completely terminated before the debugger halts inCompiler>>evaluateCue:ifFail:logged:
as expected, and you get anything like disabled stepping buttons in the debugger, a cannotReturn: error, or a nil DNU from the debugger.Something seems to be wrong with the unwinding logic here. I checked: This is not a regression and already failed in 6.0 and 5.3.
@isCzech FYIO, just in case you're up for another round of unwinding fun. Otherwise, I might myself address this one day. :-)
The text was updated successfully, but these errors were encountered: