Nice finding. The basisActiveProcess patch catches this, but we still get a BlockCannotReturn there. I guess this has the same reason as http://forum.world.st/BUG-REGRESSION-while-debugging-Generator-gt-gt-nextPut... ...
Squeak - Dev - BUG/REGRESSION while debugging Generator >> #nextPut:http://forum.world.st/BUG-REGRESSION-while-debugging-Generator-gt-gt-nextPut-td5108125.html#a5109109 forum.world.st BUG/REGRESSION while debugging Generator >> #nextPut:. Hi all, I discovered a bug when stepping over a call to Generator >> #nextPut:. !! Save your image before trying the following...
Best, Christoph http://www.hpi.de/ ________________________________ Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Jakob Reschke forums.jakob@resfarm.de Gesendet: Donnerstag, 18. Juni 2020 01:44:28 An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] Fixing the infinite debugger chains? (was: Code simulation error (was Re: I broke the debugger?))
Oh, my 4.5 images open only one debugger for findContextSuchThat:. That is, one debugger per further click on "Over".
Am Do., 18. Juni 2020 um 01:14 Uhr schrieb Jakob Reschke forums.jakob@resfarm.de:
Hi all,
Want another easy way to still get endless debuggers?
[^ self halt] ensure: [1 asString]
Do it, then step over the return (I have to click twice actually) --> endless debuggers on findContextSuchThat:.
Triggers in both current Trunk and in 5.3, and 5.2, and 5.0. In 5.1 and 4.6 I get repeated emergency evaluators instead.
If you proceed in the debugger after the halt, the expression evaluates flawlessly.
If this example is not actually a new one, just be reminded that the problem still exists... ;-)
Kind regards, Jakob
Am So., 23. Feb. 2020 um 23:45 Uhr schrieb Christoph Thiede christoph.thiede@student.hpi.uni-potsdam.de:
Unfortunately, for reasons I did not yet figure out, this fixes all
recursions listed in my latest post, with exception of Generator>>#nextPut:.
Short update: The latter can be explained by looking at Context >> #cannotReturn:, which spawns a debugger on the activeProcess (!) manually. Not sure why we cannot simply raise a regular exception here? This would also be analogous to BlockCannotReturn ...
Best, Christoph
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html