<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>> <span>I don't know whether this will ever come to an end.</span></p>
<p><span><br>
</span></p>
<p><span>I'm almost sure it won't. This must be kind of a recursive error.</span></p>
<p><span>Afaik each debugger does a few hidden steps before appearing to the user (to hide the implementation details of UnhandledError; if the debugger opens, you will land at the outerContext or so), and I think somewhere on this way, an invalid context (with
 a nil sender) is passed ... But I could not investigate it yet.</span></p>
<p><span>If you would like to do so, you could experiment with inserting an #inform: in #handleError: and then open the ProcessBrowser before the next debugger appears.</span></p>
<p><span><br>
</span></p>
<p>Best,</p>
<p>Christoph</p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Jakob Reschke <forums.jakob@resfarm.de><br>
<b>Gesendet:</b> Montag, 30. Dezember 2019 14:07:53<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] Endless debuggers (was: The Inbox: Morphic-ct.1610.mcz)</font>
<div> </div>
</div>
<div>
<div dir="ltr">Encountered it again today. This time while stepping over something it ran into a self break, but instead of interrupting, the image froze until I pressed Cmd+. Now I get countless debuggers on the self break frame plus many more countless debuggers
 on Context>>cannotReturn:to: with a BlockCannotReturn exception.
<div><br>
</div>
<div>It only hang for about 10 seconds and is still spawning debuggers after half an hour... I don't know whether this will ever come to an end.</div>
<div><br>
</div>
<div>--- The full stack ---<br>
[] in DosFileDirectory(FileDirectory)>>deleteFileNamed:ifAbsent:<br>
StandardFileStream class>>retryWithGC:until:forFileNamed:<br>
DosFileDirectory(FileDirectory)>>deleteFileNamed:ifAbsent:<br>
SmalltalkImage>>logError:inContext:to:<br>
SmalltalkImage>>logSqueakError:inContext:<br>
[] in Debugger class>>openOn:context:label:contents:fullView:<br>
BlockClosure>>on:do:<br>
Debugger class>>openOn:context:label:contents:fullView:<br>
ECToolSet class(StandardToolSet class)>>debugProcess:context:label:contents:fullView:<br>
ToolSet class>>debugProcess:context:label:contents:fullView:<br>
Process>>debug:title:full:contents:<br>
Process>>debug:title:full:<br>
Process>>debug:title:<br>
ECToolSet class(StandardToolSet class)>>handleError:<br>
ToolSet class>>handleError:<br>
UnhandledError>>defaultAction<br>
UndefinedObject>>handleSignal:<br>
UnhandledError(Exception)>>signal<br>
UnhandledError class>>signalForException:<br>
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br>
BlockCannotReturn(Error)>>defaultAction<br>
BlockCannotReturn>>defaultAction<br>
UndefinedObject>>handleSignal:<br>
BlockCannotReturn(Exception)>>signal<br>
Context>>cannotReturn:to:<br>
Context>>cannotReturn:<br>
[] in BlockClosure>>newProcess<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Am Mo., 23. Dez. 2019 um 20:05 Uhr schrieb Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de">Christoph.Thiede@student.hpi.uni-potsdam.de</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div id="gmail-m_9132395658612886495divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<div id="gmail-m_9132395658612886495divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<p>Hi Jakob,</p>
<p><br>
</p>
<p>yes, these observations are very well known to me ... :)</p>
<div id="gmail-m_9132395658612886495Signature">
<div id="gmail-m_9132395658612886495divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="divtagdefaultwrapper">
<div>
<div id="gmail-m_9132395658612886495Item.MessagePartBody"><br>
<div id="gmail-m_9132395658612886495Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="gmail-m_9132395658612886495divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="gmail-m_9132395658612886495Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"></font></div>
</div>
</font></div>
</div>
</div>
</div>
<div id="gmail-m_9132395658612886495Item.MessagePartBody">> <span style="font-size:12pt">Is there a way to stop this if it happens? I have "Open tools attached to hand" activated so I cannot click on Do > Utilities closeAllDebuggers...</span>
<div><br>
</div>
<div>FYI, you can also press Ctrl + 5 to open the "Do" menu and then type "De" + Enter to perform "Utilities closeAllDebuggers".</div>
<div>Or modify Marcel's changeset from May (cmd-dot-dialog.cs) and add the command there :)</div>
<div><br>
</div>
<div>However, we should sharpen our error detection while opening a debugger. This would make it so much easier to debug such problems ...</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
</div>
<div id="gmail-m_9132395658612886495Item.MessagePartBody"><br>
</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_9132395658612886495divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank">squeak-dev-bounces@lists.squeakfoundation.org</a>>
 im Auftrag von Jakob Reschke <<a href="mailto:forums.jakob@resfarm.de" target="_blank">forums.jakob@resfarm.de</a>><br>
<b>Gesendet:</b> Montag, 23. Dezember 2019 17:55:38<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> [squeak-dev] Endless debuggers (was: The Inbox: Morphic-ct.1610.mcz)</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Am Mo., 16. Dez. 2019 um 14:32 Uhr schrieb Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de" target="_blank">marcel.taeumel@hpi.de</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div id="gmail-m_9132395658612886495gmail-m_-7662391171452262573__MailbirdStyleContent" style="font-size:10pt;font-family:Arial;color:rgb(0,0,0)">
Hi Christoph,
<div><br>
</div>
<div>hmm... I would rather not spread that recursion flag to outside Debugger class >> #openOn:... I will look into it. Thanks for those two bug reports that cause endless debuggers:</div>
<div><br>
</div>
<div>1. Generator step-over</div>
<div>Generator on: [:g | g yield: #foo].</div>
<div><br>
</div>
<div>2. Error in a debugger's build-with method.</div>
<div><br>
</div>
<div>Best,</div>
<div>Marcel</div>
</div>
</blockquote>
</div>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">FYI today there are still some cases that spawn endless debuggers.
<div><br>
<div>It had it twice today, but unfortunately can't give you exacts steps for reproduction.</div>
<div>1. Debug a test case, step over some long operation, interrupt with Cmd+. to because of impatience, step so far in the second debugger that control could theoretically return to the first one. Then there was some Context on the top of the stack that did
 not seem to belong there, with a return handler... Well I had a manual ping-pong situation between the two debuggers. After pressing the wrong button it resulted in an endless stream of new debuggers about not being able to return.</div>
<div>2. Press Into at the wrong place during a return handler (ensure:). Endless debuggers about aboutToReturn:through: (I saw that somewhere). The stack trace shows back-and-forth between Message>>sentTo: and UndefinedObject doesNotUnderStand: #findContextSuchThat:
 -- see attachment.</div>
<div><br>
</div>
<div>Maybe I should finally start to remember taking screenshots. Both cases seemed to be related to stack unwinding or ensure: actions though.</div>
<div><br>
</div>
<div>Is there a way to stop this if it happens? I have "Open tools attached to hand" activated so I cannot click on Do > Utilities closeAllDebuggers...</div>
</div>
<div><br>
</div>
<div>Merry Christmas everyone.</div>
<div>Kind regards,</div>
<div>Jakob</div>
</div>
</div>
</div>
</div>
</div>
<br>
</blockquote>
</div>
</div>
</body>
</html>