<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" 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;" dir="ltr">
<p>System-ct.1136 should fix the original issue. However, interrupting this operation via cmd+dot still leads to failures. Do we want to fix this?</p>
<p>Once I stumbled about some comment in Squeak that expressed the wish to have a UserInterruptException. Spoken generally, is this wish consensus and still up to date?</p>
<p>One could argue that is is not useful to debug a method in a state at which a big part of usual Squeak features is disabled. In the given example, you cannot even expand the debugger without dealing with decompiler errors raised by Shout.</p>
<p>One could also argue that each time we catch a UserInterruptException (though this should be really few occurrences) to prevent the handled code being interrupted we also disable advanced users to explore the details of this behavior interactively.</p>
<p>The original example that proposed the UserInterruptException was Debugger >> runUntil. In this example, UserInterruptException could be used to hide the bytecode implementation against the inexperienced user.</p>
<p>Maybe the usage of such a UserInterruptException could be stuff for another preference?</p>
<p><br>
</p>
<p>Looking forward to your opinions!</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</p>
<br>
<div style="color: rgb(0, 0, 0);">
<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 Thiede, Christoph<br>
<b>Gesendet:</b> Mittwoch, 5. Februar 2020 13:18 Uhr<br>
<b>An:</b> Squeak Dev<br>
<b>Betreff:</b> [squeak-dev] [BUG] MultiByteFileStream(Object)>>error: primGetPosition: failed</font>
<div> </div>
</div>
<div>
<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></p>
<div>Hi all, I don't know if someone of you saw this error message recently?</div>
<div><br>
</div>
<p></p>
<blockquote style="margin:0 0 0 40px; border:none; padding:0px">
<p></p>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">MultiByteFileStream(Object)>>error: <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">primGetPosition:
 failed</span></span></div>
<div><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px"><span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols; font-size:16px">(Just
 for the case this should be a VM-related problem, I'm using OpenSmalltalk <span>201912311458 on Win 1903.)</span></span></span></div>
<p></p>
</blockquote>
<p></p>
<div><br>
</div>
<div>I experienced it various times, and each time, once the error had occurred once, no more access to the sources file was possible. I could neither select any message then nor debug, even quitting the image without saving was not possible; each attempt raised the
 same error again.</div>
<div><br>
</div>
<div>Now I finally discovered a scenario to reproduce this issue:</div>
<div><br>
</div>
<p></p>
<blockquote style="margin:0 0 0 40px; border:none; padding:0px">
<p></p>
<div>(Disclaimer: This might crash your image! Save *before* doing this!)</div>
<p></p>
<p></p>
<div>Debug the following, step over #unload, and during then loading happens, interrupt the process via cmd-dot:</div>
<p></p>
<p></p>
<div><br>
</div>
<p></p>
<p></p>
<div><img naturalheight="806" naturalwidth="1354" size="167911" id="img267934" height="180" width="302" tabindex="0" style="user-select: none;" src="cid:29c3b6a6-5fdf-498d-a47b-a9dd34666273"></div>
<p></p>
<p></p>
<div><br>
</div>
<p></p>
<p></p>
<div>Please note that you will probably only have one chance to reproduce it, because the package will be cached.</div>
<div><br>
</div>
<div>If you now open a browser, for example, selecting any message will raise the <span>#primGetPosition: failure.</span></div>
<div><span>However, if you continue from the interrupt, your image won't suffer consequential damages.</span></div>
<p></p>
</blockquote>
<p></p>
<div><br>
</div>
<div>This is a real problem because especially on <a href="http://forum.world.st/The-Inbox-ShoutCore-ct-78-mcz-tp5109909p5110050.html" class="OWAAutoLink">
slower images</a>, various tests can fail and damage your image because of their timeout limits.</div>
<div>In a fresh (!) Trunk image, I could reproduce this several times by running MCPackageTest or MCFileInTest.</div>
<div>Increasing their timeouts would be a dirty workaround for the moment.</div>
<div>I also experienced the same problem in other projects where related MC operations were run in a timeout-limited context.</div>
<div><br>
</div>
<div>So, how can we fix it?</div>
<div>I assume that it is problematic if the file pointer does not get closed correctly.</div>
<div>Would you consider a critical block an appropriate solution to fix the issue?</div>
<div>But how would you write one the best way (never faced that stuff before), and doesn't this have undesirable disadvantages such as restricted debugging possibilities?</div>
<div><br>
</div>
<div>Questions over questions :-) Any help or response will be appreciated!</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
<p></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>
</div>
</div>
</div>
</body>
</html>