<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<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 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">
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">Squeak 5.3beta #19276</span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">Image <span>68021 (64 bit)</span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">VM <span>201911282316</span></span><br>
</p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span>Win10 (1903).</span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><br>
</span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span>@Dave As mentioned, in Squeak 5.1, we get an emergency debugger instead of infinite debuggers. I think this point is clearly a regression.</span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span>See <span>Morphic-ct.1610 for an approach to prevent countless debuggers - I'm afraid it does not fix this problem, but it prevents others.</span></span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><span><br>
</span></span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><span>What code are you exactly referring to when you talk about the interrupt handler? Via debugging, I found out that the BlockCannotReturn errors are already raised before
 interrupting. The debugger chain is only blocking itself. You can test this by putting a simple #inform: before the Debugger opening.</span></span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><span><br>
</span></span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><span>Maybe the bug is related to the other context simulation bugs I reported a few weeks ago? I could not explain why the error does not occur if you step into ... Via debugging
 the debugger, I found out that the bug is raised in the debugged process itself, not in the debugger process.</span></span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><span><br>
</span></span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><span>Best,</span></span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><span>Christoph</span></span></span></p>
<p><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt"><span><br>
</span></span></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 tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel<br>
<b>Gesendet:</b> Montag, 16. Dezember 2019 11:49:55<br>
<b>An:</b> John Pfersich via Squeak-dev<br>
<b>Betreff:</b> Re: [squeak-dev] BUG/REGRESSION while debugging Generator >> #nextPut:</font>
<div> </div>
</div>
<div>
<div id="__MailbirdStyleContent" style="font-size:10pt; font-family:Arial; color:#000000">
Hi all.
<div><br>
</div>
<div>I am just investigating this issue. However, looking at the tests for Generator, I would :-) suggest :-) to re-phrase this example:</div>
<div><br>
</div>
<div>Generator on: [:g | g yield: #foo].</div>
<div><br>
</div>
<div>-or-</div>
<div><br>
</div>
<div><span style="font-size:13.3333px">Generator on: [:generator | generator yield: #foo].</span><br>
</div>
<div><br>
</div>
<div>In any case, countless debuggers show up on "step over". "Step into" works fine.</div>
<div><br>
</div>
<div><img naturalheight="529" naturalwidth="594" id="3f1e98c0-3425-4f2a-a528-70fa1dd65942" width="auto" style="user-select: none;" src="cid:f4de31a1-db76-485a-8eed-ce0b553021f1"><br>
</div>
<div><br>
</div>
<div>Squeak 5.3beta #19273</div>
<div>Image 6521 (32 bit)</div>
<div>VM: 201911282316 (cog.spur)</div>
<div>Windows 10</div>
<div><br>
</div>
<div>Best,</div>
<div>Marcel</div>
<div class="mb_sig"></div>
<blockquote class="history_container" type="cite" style="border-left-style:solid; border-width:1px; margin-top:20px; margin-left:0px; padding-left:10px; min-width:500px">
<p style="color:#AAAAAA; margin-top:10px">Am 16.12.2019 02:39:38 schrieb David T. Lewis <lewis@mail.msen.com>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">On Sun, Dec 15, 2019 at 08:18:53PM -0500, David T. Lewis wrote:<br>
> Hi Eliot,<br>
> <br>
> On Sun, Dec 15, 2019 at 01:55:13PM -0800, Eliot Miranda wrote:<br>
> > Hi David, Hi Christoph,<br>
> > <br>
> > On Sun, Dec 15, 2019 at 8:52 AM David T. Lewis wrote:<br>
> > <br>
> > > On Sat, Dec 14, 2019 at 04:09:22PM -0800, Eliot Miranda wrote:<br>
> > > ><br>
> > > ><br>
> > > > > On Dec 14, 2019, at 5:43 AM, Thiede, Christoph <br>
> > > Christoph.Thiede@student.hpi.uni-potsdam.de> wrote:<br>
> > > > ><br>
> > > > > ???<br>
> > > > > By request, screenshots from a clean image ...<br>
> > > > ><br>
> > > > ><br>
> > > > > <br>
> > > > ><br>
> > > > > ??? Press over<br>
> > > > ><br>
> > > > > Press cmd-dot ???<br>
> > > > ><br>
> > > > > <br>
> > > > ><br>
> > > > ><br>
> > > > ><br>
> > > > ><br>
> > > > > The screenshots from 5.1 were made in a clean 5.1 image.<br>
> > > > ><br>
> > > ><br>
> > > > Hi Christoph,<br>
> > > ><br>
> > > > I???ve tried this in two trunk 64-bit images, one with the<br>
> > > V3PlusClosures bytecode set and one with the SistaV1 bytecode set and no<br>
> > > problem occurs in either case. If this only happens in a clean 5.1 image<br>
> > > then I suspect it has already been fixed.<br>
> > > ><br>
> > ><br>
> > ><br>
> > > I can reproduce the problem in my trunk image. Chrostoph's example<br>
> > > is to debug this:<br>
> > ><br>
> > > Generator on: [:stream | stream nextPut: #foo]<br>
> > ><br>
> > > The failure happens when I step over the #nextPut:<br>
> > ><br>
> > > If I step into the #nextPut: then all is well.<br>
> > ><br>
> > <br>
> > Interesting. I indeed do step over (/not/ step into) and do /not/ see the<br>
> > bug. Dave, Christoph, what VMs are you running?<br>
> > <br>
> <br>
> The VM that I used is:<br>
> <br>
> /usr/local/lib/squeak/5.0-201911282316/squeak<br>
> Open Smalltalk Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2597]<br>
> Unix built on Nov 28 2019 23:23:45 Compiler: 4.2.1 Compatible Clang 7.0.0 (tags/RELEASE_700/final)<br>
> platform sources revision VM: 201911282316 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Thu Nov 28 15:16:31 2019 CommitHash: 4710c5a Plugins: 201911282316 https://github.com/OpenSmalltalk/opensmalltalk-vm.git<br>
> CoInterpreter VMMaker.oscog-eem.2597 uuid: 7a69be2e-f0d0-4d41-9854-65432d621fed Nov 28 2019<br>
> StackToRegisterMappingCogit VMMaker.oscog-eem.2596 uuid: 8500baf3-a5ae-4594-9f3b-08cedfdf1fb3 Nov 28 2019<br>
> <br>
> But I do not think that this is a VM issue. I get the same result<br>
> when I run Christoph's snippet on a trunk-level V3 image with an<br>
> interpreter VM. So the issue must be in the image, not in the VM.<br>
> <br>
<br>
Indeed, I did a quick check on Squeak4.6-15102.image with an interpreter<br>
VM, and again I get the same symptoms.<br>
<br>
We are probably seeing two different issues here:<br>
<br>
1) The debugger gets confused when trying to step over Generator>>nextPut:<br>
(presumably something related to the context swap).<br>
<br>
2) The interrupt handler gets confused when trying to figure<br>
out what to attach itself to after 1) happens.<br>
<br>
Both of these are probably issues that have been with us for a long time,<br>
and are just now being noticed.<br>
<br>
Dave<br>
<br>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</body>
</html>