Closed LisaAlmarode closed 2 years ago
I think the root cause here is that you shouldn't be able to step or proceed after a non-resumable error. Kurt and I discussed this the other day, but I haven't implemented it yet, so it's good to have an issue for it.
ChangesFinder testDebug appears to be this code:
testDebug
| keys badKeys |
keys := {'cat'.
'draw'.
'apple'}.
self halt.
badKeys := Array new.
badKeys
addAll:
(keys
select: [ :ea |
ea trimSeparators size ~= ea size.
self halt ]).
^ badKeys printString
As I mention here ... topaz allows multiple continues on a non-resumable error so i don't imagine that the root cause is the continue (at least as far as the bottom-level process continue code) ... the implication is that the hang is coming a bit higher up the stack ... all depends upon how deep the root is expected to go :)
This example now appears to be debuggable. Due to the loop in _uncontinuableError you can, if you want to, pile up errors on the stack. But you can then terminate the process and all is OK.
Using the testDebug method (see issue #78), I was able to hang pharo quite hard (this is on windows).