<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>Hi Marcel,</p>
<p><br>
</p>
<p>> <span style="font-size: 12pt;">If would be nice if we could integrate some of the proposed fixes from you and Jaromir into Trunk/6.0.</span></p>
<div><br>
</div>
<div><span style="font-size: 12pt;">Sure, this would be very helpful. Unfortunately, it takes a lot of energy because many of these proposals and related discussions are very convoluted. But I will prioritize this higher on my to-do list. Maybe a third opinion/pair
 of eyes on some of these discussions would also help. :-)</span><br>
</div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div><span style="font-size: 12pt;">> </span><span style="font-size: 12pt;">... Still, a VM crash is not acceptable. Is this an issue with the VM or some misused primitive?</span><span style="font-size: 12pt;">
<div><br>
</div>
<div>I think the VM was simply not designed for resuming from #cannotReturn:. If you inspect the sender context in a debugger, you can see that its pc is larger than its endPC, which obviously invalid. Until this is fixed on the VM side, we could fix this on
 the image side like in my proposal ... maybe with a flag: #workaround.</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
</span></div>
<p></p>
</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 Taeumel, Marcel<br>
<b>Gesendet:</b> Donnerstag, 5. Mai 2022 12:48:05<br>
<b>An:</b> squeak-dev<br>
<b>Betreff:</b> Re: [squeak-dev] SIGTRAP when Proceeding from BlockCannotReturn</font>
<div> </div>
</div>
<div>
<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
... Still, a VM crash is not acceptable. Is this an issue with the VM or some misused primitive?
<div class="mb_sig"></div>
<div><br>
</div>
<div><img id="a30da86e-d2e6-4c49-9e50-8a7fdfdf9af4" width="316" height="277" src="cid:2680cd37-38ef-413a-b538-14f73c6ab86c"><!-- </img> --><br>
</div>
<div><br>
</div>
<div>Best,</div>
<div>Marcel</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 05.05.2022 12:46:50 schrieb Marcel Taeumel <marcel.taeumel@hpi.de>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">
<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
Hi Christoph --
<div><br>
</div>
<div>If would be nice if we could integrate some of the proposed fixes from you and Jaromir into Trunk/6.0.</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 04.05.2022 19:59:59 schrieb Thiede, Christoph <christoph.thiede@student.hpi.uni-potsdam.de>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">
<div id="divtagdefaultwrapper" style="font-size: 12pt;color: #000000;font-family: Calibri,Helvetica,sans-serif" dir="ltr">
<p><br>
</p>
<div dir="ltr">
<div id="x_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>Hi Lauren,</p>
<p><br>
</p>
<p>I think this issue has already been discussed in <span>Kernel-ct.1405 et al. (Squeak Inbox Talk might be a nice way to find all related discussions to "BlockCannotReturn"). What do you think about the solutions proposed there? :-)</span></p>
<p><span><br>
</span></p>
<p><span>Best,</span></p>
<p><span>Christoph</span></p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif;color: #000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Lauren Pullen <drurowin@gmail.com><br>
<b>Gesendet:</b> Donnerstag, 28. April 2022 07:25:44<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org<br>
<b>Betreff:</b> [squeak-dev] SIGTRAP when Proceeding from BlockCannotReturn</span>
<div> </div>
</div>
</div>
<span style="font-size: 10pt"><span style="font-size: 10pt">
<div class="PlainText">I found a VM crash while doing my UI testing.<br>
<br>
platform sources revision VM: 202204190959<br>
runner@Mac-1650369142700.local:work/opensmalltalk-vm/opensmalltalk-vm<br>
Date: Tue Apr 19 11:59:48 2022 CommitHash: 2a0e785 Plugins: 202204190959<br>
runner@Mac-1650369142700.local:work/opensmalltalk-vm/opensmalltalk-vm<br>
<br>
If you make the novice mistake of putting a ^ in a block and evaluating<br>
that block after the method returns, a debugger window helpfully appears<br>
saying BlockCannotReturn.<br>
<br>
If you press Proceed the OS will kill Squeak.  No crash.dmp file is<br>
created for this crash.<br>
<br>
The debugger does not respect the value of #isResumable (which<br>
BlockCannotReturn returns true for, by the way) and always permits the<br>
user to resume the operation using the Proceed button.  I believe there<br>
is a method on Exception that also disregards #isResumable  To force an<br>
operation to never proceed you must return the Exception after signaling it.<br>
<br>
Where is the best place to fix this?  We can make the debugger respect<br>
#isResumable and set BlockCannotReturn to return false.  We can also<br>
make Context>>cannotReturn:to: never return normally.  We can also catch<br>
nil in the VM.<br>
<br>
</div>
</span></span></div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</body>
</html>