<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        ... an afterthought: I always suspected that the "0" was wrongfully supplied from the image to the VM. Especially since that bug occurred rather rarely, which usually points to the variety of images users usually have. :-)<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;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 07.06.2020 12:43:52 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">
                                        <div>Hi all!</div><div><br></div><div>I found the bug. I think. :-)</div><div><br></div><div>1. The Solution:</div><div><br></div><div>- Move Project before AutoStart in the StartUpList --- maybe even before PasteUpMorph and ControlManager bc. Project is more general than those two, which should be removed alltogether from the list</div><div>- In PasteUpMorph >> #installFlaps, replace "self displayWorld" with "self changed"</div><div>- From AutoStart class >> #startUp:, move "Project current startUpActions" to Project class >> #startUp:</div><div><br></div><div>Doing either one of those will fix the bug. But all are quite important in the long term. ;-)</div><div><br></div><div>2. The Bug:</div><div><br></div><div>AutoStart has a weird call to Project class >> #startUpActions. If you happen to have local flap tabs (not just the shared/global ones), those actions will trigger a #displayWorld, which will then try to force display updates. At that point, the VM has no idea about the actual display depth and defaults to 0 --- while the image still has 32 configured for the display object.</div><div><br></div><div>We did not notice this because DisplayScreen did set those values way before AutoStart was called.</div><div><br></div><div>3. How did I found out?</div><div><br></div><div>By looking at the complete stack trace. AutoStart was in there. Then it was easy to see and spot in the actual source code.</div><div><br></div><div>          0xa6e4a0 I DisplayScreen>forceToScreen: 0x5d2cb78: a(n) DisplayScreen</div><div>          0xa6e4d8 M [] in DisplayScreen>forceDamageToScreen: 0x5d2cb78: a(n) DisplayScreen</div><div>          0xa6e518 M OrderedCollection>do: 0x5810168: a(n) OrderedCollection</div><div>          0xa6e570 I DisplayScreen>forceDamageToScreen: 0x5d2cb78: a(n) DisplayScreen</div><div>          0xa6e5b8 I AnimWorldState(WorldState)>forceDamageToScreen: 0xb33abd0: a(n) AnimWorldState</div><div>          0xa6e628 I AnimWorldState(WorldState)>displayWorld:submorphs: 0xb33abd0: a(n) AnimWorldState</div><div>          0xa6e678 I PasteUpMorph>privateOuterDisplayWorld 0xb33a7f8: a(n) PasteUpMorph</div><div>  !!!     0xa6e6b8 I PasteUpMorph>displayWorld 0xb33a7f8: a(n) PasteUpMorph</div><div>  !!!     0xa6e6f8 I [] in PasteUpMorph>installFlaps 0xb33a7f8: a(n) PasteUpMorph</div><div>          0xa6e758 I OrderedCollection(SequenceableCollection)>keysAndValuesDo: 0x5687588: a(n) OrderedCollection</div><div>          0xa6e7a8 I PasteUpMorph>installFlaps 0xb33a7f8: a(n) PasteUpMorph</div><div>          0xa6e7e8 I PasteUpMorph>install 0xb33a7f8: a(n) PasteUpMorph</div><div>  !!!     0xa6e828 I AnimMorphicProject(MorphicProject)>startUpActions 0xb33a718: a(n) AnimMorphicProject</div><div>          0xa6e878 I AutoStart class>startUp: 0x60a6db0: a(n) AutoStart class</div><div><br></div><div><br></div><div>@Christoph: I cannot relate to the stack trace you posted here earlier. It seems way too late for the bug to show itself. Can you post it again?</div><div><br></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;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 07.06.2020 11:48:27 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">
                                        
                                        
                                            
                                        
                                        
                                        Hi all!<div><br></div><div>DisplayScreen should be removed from the startup list. It is not necessary anymore. Project will do the job just fine.</div><div><br></div><div><span style="font-size: 10pt">Yeah, the trick I suggested with the start-up script will -- unfortunately -- not work. ProjectLauncher is processing those after the first drawing cycle in Morphic.</span><br></div><div><br></div><div><div>Those cases with a broken display depth in some images out there still puzzles me. Given that the .sources-file-not-found trick works, there is something else in the StartUpList after 8 (FileDirectory) that actually breaks the Display object, which means that it works up to that point. Note that 8 > 5. ;-) Everything *can* work without having DisplayScreen in the StartUpList.</div><div><br></div></div><div>Your broken images are really valuable here! Please do not overwrite them.</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 06.06.2020 18:17:35 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>I just got it! It was indeed a question of load order. After moving #DisplayScreen in the StartUpList back to index 5 (instead of appending it at the end), my image starts again without renaming any files.</p>
<p>I suppose that all these renamings tricks were only relevant for deferring the execution of the startup list, which - so I suspect - reset the display screen depth temporarily at some point, I don't know.</p>
<p><br>
</p>
<p>So to summarize, <b>to rescue your image, you have to:</b></p>
<p>
</p><ul style="margin-bottom: 0px; margin-top: 0px;">
<li>apply the 5 steps from my previous message once</li><li>add DisplayScreen >> #startUp (*)</li><li><span>Evaluate this:<br>
(SmalltalkImage classVarNamed: #StartUpList) add: #DisplayScreen afterIndex: 4</span></li><li><span>And save your image.</span></li></ul>
<p><br>
</p>
<p>I hope this helps other people to rescue their images, too :-)</p>
<p><br>
</p>
* Source:
<p>
</p><div>startUp  "DisplayScreen startUp"</div>
<div>Display setExtent: self actualScreenSize depth: Display nativeDepth.</div>
<div>Display beDisplay</div>
<div><br>
</div>
<div>Nevertheless thank you for the kind offer, Fabio!</div>
<p>
</p><div><span></span></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><span style="font-size: 10pt;color: #808080"></span></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="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 Fabio Niephaus <lists@fniephaus.com><br>
<b>Gesendet:</b> Samstag, 6. Juni 2020 17:54:10<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] Image not startable after save</span>
<div> </div>
</div>
<div>
<div>
<div dir="auto"><br>
</div>
</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, 6 Jun 2020 at 5:43 pm, Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left-width: 1px;border-left-style: solid;padding-left: 1ex;border-left-color: rgb(204,204,204);min-width: 500px">
<div>
<div id="m_7110864271925093977divtagdefaultwrapper" style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif;color: rgb(0,0,0)" dir="ltr">
<p style="font-family:Calibri,Helvetica,sans-serif">Thank you, Jakob.</p>
<p style="font-family:Calibri,Helvetica,sans-serif"><br>
</p>
<p style="font-family:Calibri,Helvetica,sans-serif">
</p><div style="font-family:Calibri,Helvetica,sans-serif"><span style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif">Well, I have to revoke my previous success message. Restarting my image another time and it crashes again on startup ...</span></div>
<p style="font-family:Calibri,Helvetica,sans-serif">
</p><div id="m_7110864271925093977Signature" style="font-family:Calibri,Helvetica,sans-serif">
<div id="m_7110864271925093977divtagdefaultwrapper" dir="ltr" style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;color: rgb(0,0,0)">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div id="m_7110864271925093977Item.MessagePartBody" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div id="m_7110864271925093977Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div id="m_7110864271925093977divtagdefaultwrapper" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<span style="font-family: Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="m_7110864271925093977Signature" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div style="margin:0px;font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<span style="">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"><span style="font-size: 12pt"><span style="font-size: 12pt;font-family: Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"><a href="http://www.hpi.de/" rel="noopener noreferrer" id="m_7110864271925093977LPNoLP" target="_blank" style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"><font size="2" style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont;color:rgb(66,133,244)"><span id="m_7110864271925093977LPlnk909538" style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont;color:rgb(117,123,128)"></font></span></font></a></span></span></div>
</span></div>
</div>
</span></div>
</div>
</div>
</div>
<div id="m_7110864271925093977Item.MessagePartBody" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<br>
</div>
<div id="m_7110864271925093977Item.MessagePartBody" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
But I have looked up my sources files. They do contain DisplayScreen class >> #startUp. And <span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">(Smalltalk
 class classVarNamed: #StartUpList) includes: #DisplayScreen. What could be the problem?</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div dir="auto"><br>
</div>
<div dir="auto">Wild guess: there's something wrong with the display form and the Windows VM crashes before the beDisplay primitive is called with a fresh one. That could explain why it works on macOS. I could have a look at the raw display object if you provide
 an image.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Fabio</div>
<div dir="auto"><br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left-width: 1px;border-left-style: solid;padding-left: 1ex;border-left-color: rgb(204,204,204);min-width: 500px">
<div>
<div id="m_7110864271925093977divtagdefaultwrapper" style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif;color: rgb(0,0,0)" dir="ltr">
<div id="m_7110864271925093977Signature" style="font-family:Calibri,Helvetica,sans-serif">
<div id="m_7110864271925093977divtagdefaultwrapper" dir="ltr" style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;color: rgb(0,0,0)">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div id="m_7110864271925093977Item.MessagePartBody" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"></span></div>
<div id="m_7110864271925093977Item.MessagePartBody" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols"><br>
</span></div>
<div id="m_7110864271925093977Item.MessagePartBody" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">Best,</span></div>
<div id="m_7110864271925093977Item.MessagePartBody" style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<span style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">Christoph</span></div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<span style="font-size: 10pt"></span></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%">
<div id="m_7110864271925093977divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif"><b style="font-family:Calibri,sans-serif">Von:</b> Squeak-dev <<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank" style="font-family:Calibri,sans-serif">squeak-dev-bounces@lists.squeakfoundation.org</a>>
 im Auftrag von Jakob Reschke <<a href="mailto:forums.jakob@resfarm.de" target="_blank" style="font-family:Calibri,sans-serif">forums.jakob@resfarm.de</a>><br>
<b style="font-family:Calibri,sans-serif">Gesendet:</b> Samstag, 6. Juni 2020 17:33:16</span></div>
</div>
<div>
<div id="m_7110864271925093977divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif"><br>
<b style="font-family:Calibri,sans-serif">An:</b> The general-purpose Squeak developers list<br>
<b style="font-family:Calibri,sans-serif">Betreff:</b> Re: [squeak-dev] Image not startable after save</span>
<div> </div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div></div>
</div>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Am Sa., 6. Juni 2020 um 17:25 Uhr schrieb Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de" target="_blank">Christoph.Thiede@student.hpi.uni-potsdam.de</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left-width: 1px;border-left-style: solid;padding-left: 1ex;border-left-color: rgb(204,204,204);min-width: 500px">
<div>
<div id="m_7110864271925093977gmail-m_8335940449187458780divtagdefaultwrapper" style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif;color: rgb(0,0,0)" dir="ltr">
<p style="font-family:Calibri,Helvetica,sans-serif"><span style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif">How did you hit on that?</span></p>
</div>
</div>
</blockquote>
<div> </div>
</div>
</div>
<div dir="ltr">That I tried the same copy of the VM from another folder at all is because I have the unpacked zips lying around and always copy the current VM that I use to a different folder, where the Windows file association looks for it. So when I switch VMs,
 I won't have to tell Windows again how to open these .image files...
<div><br>
</div>
<div>I compared the folders with a merge tool (after renaming my Squeak64.exe .ini and .manifest back). All the binary files are equal, and Monticello/Metacello cache folders, the default image and changes file, debug logs, and crash dumps aside, the only meaningful
 difference left was eventually the presence of the sources file.</div>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left-width: 1px;border-left-style: solid;padding-left: 1ex;border-left-color: rgb(204,204,204);min-width: 500px">
<div>
<div id="m_7110864271925093977gmail-m_8335940449187458780divtagdefaultwrapper" style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif;color: rgb(0,0,0)" dir="ltr">
<p style="font-family:Calibri,Helvetica,sans-serif"><span style="font-size: 12pt;font-family: Calibri,Helvetica,sans-serif"></span></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
<br>
</blockquote>
</div>
</div>
</div>
</div></blockquote></div></div></blockquote>
                                        </div></div></blockquote>
                                        </div></body>