<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;">
<p><span style="font-size:12pt">Hi,</span><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><br>
</p>
<p>just to share my observations: I tested your repro in a few different images and found out the following similarities:</p>
<p><span style="font-size:12pt"><br>
</span></p>
<p></p>
<ul style="margin-bottom:0px; margin-top:0px">
<li><span style="font-size:12pt"><span>The syntax error is raised by the attempt to create a DebuggerMethodMap for certain contexts</span><br>
</span></li><li><span style="font-size: 12pt;">I did not always manage to chase the pointers of the causing contexts</span>
<ul>
<li>But for example, in most images on my disk, one of them is (((World instVarNamed: #worldState) instVarNamed: #stepList) instVarNamed: #sortBlock)</li></ul>
</li><li>The context's method is not currently installed (#isInstalled)</li><li>Decompiling that method *with temps* fails because its trail returns an invalid source pointer (usually a few hundred chars too big)</li><li>Basically, the invalid state appears to be created in CompiledMethodTrailer >> #decodeSourcePointer</li></ul>
<div><br>
</div>
<div>But I have no clue how this implementation works. Is it possible that is erroneous, or might the SourceFile be corrupted?</div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div><span style="font-size: 12pt;">(Btw, the image freezes because DebuggerMethodMap class uses a Mutex while caching the new map.)</span></div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_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 Fabio Niephaus <lists@fniephaus.com><br>
<b>Gesendet:</b> Donnerstag, 12. September 2019 13:23:57<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> [squeak-dev] Context>>#tempNames can raise Syntax Error</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt">
<div class="PlainText">Hi all,<br>
<br>
While debugging a failing Seaside test on Squeak trunk (see [1]), I<br>
learned that Context>>#tempNames can raise a syntax error. Here's a<br>
repro doIt:<br>
<br>
  `Context allInstances collect: [:e | e tempNames]`<br>
<br>
Anyone willing to look into this? When I try to debug the "calling<br>
process", my image freezes...<br>
<br>
Cheers,<br>
Fabio<br>
<br>
[1] <a href="https://travis-ci.org/SeasideSt/Seaside/jobs/578335182#L2733" target="_blank" rel="noopener noreferrer" id="LPlnk518649" previewremoved="true">
https://travis-ci.org/SeasideSt/Seaside/jobs/578335182#L2733</a><br>
<br>
</div>
</span></font></div>
</body>
</html>