<div dir="ltr"><div>Kudos Jörg for perseverating and gathering the know-how.</div><div>Unix-style development on windows has always been a pain.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 14 févr. 2022 à 08:58, Jörg Belger <<a href="mailto:unique75@web.de">unique75@web.de</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">It seems I have now compiled a debug vm, yeah :-)<div><br></div><div>But in summary I think I did now the following:</div><div><br></div><div><span style="white-space:pre-wrap">      </span>- install Cygwin with standard settings</div><div><span style="white-space:pre-wrap">  </span>- install make (GNU Version) in Cygwin installer</div><div><span style="white-space:pre-wrap"> </span>- install LLVM 13.0.0.0 (current version) in path C:\LLVM. —> this is not the standard installation path that the installer wants per default</div><div><span style="white-space:pre-wrap">       </span>- install Microsoft Visual Studio Community 2022 with standard settings</div><div><br></div><div>Maybe this should be reflected in the official documentation, especially all the extra conditions with additional make-tool and LLVM path.</div><div><br></div><div>I deinstalled VS2017 again, it seems it does not work with LLVM 13.0.0.0 together, there were some external references that could not be resolved during compiling. But LLVM 13.0.0.0 and VS2022 seem to work together. I see now many files in \building\win64x64\squeak.cog.spur\builddbg\vm and I could start an image with the Squeak.exe there. So I will try to run now my test code with VisualStudio debugger attached to see what happens. Hopefully I will see then also a crash directly with sources.</div><div><br></div><div>Jörg</div><div><br></div><div>PS: It is a small step for mankind, but a big step for a VM-Jörg :-)<br><div><br><blockquote type="cite"><div>Am 13.02.2022 um 18:40 schrieb Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>>:</div><br><div><div dir="auto"><div dir="ltr">Hi Jörg,</div><div dir="ltr"><br><blockquote type="cite">On Feb 13, 2022, at 12:40 AM, Jörg Belger <<a href="mailto:unique75@web.de" target="_blank">unique75@web.de</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">Ok i installed that, now I get that error:<div><br></div><div>/bin/sh: C:/LLVM/bin/clang.exe: No such file or directory</div><div><br></div><div>Why do I need to install LLVM when I want to compile it with VisualStudio compiler? Is there an environment variable not set correctly or does it need really two compiler frameworks?<br></div></div></blockquote><div><br></div>The MSVC compiler is very buggy.  For example, it can’t handle the macro expansions for asserts or memory access. Clang has no such problems and produces very good code.  So to use the MSVC tool chain one also has to use the Clang compiler.  I’m told that Microsoft itself uses Clang internally.<div><br></div><div><br><blockquote type="cite"><div dir="ltr"><div><div><br><blockquote type="cite"><div>Am 12.02.2022 um 21:15 schrieb Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>>:</div><br><div><div dir="auto"><div dir="ltr"><br></div><div dir="ltr"><br><blockquote type="cite">On Feb 12, 2022, at 1:08 AM, Jörg Belger <<a href="mailto:unique75@web.de" target="_blank">unique75@web.de</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">What do I need to install to get a „make“ command? VisualStudio has only „nmake“ and I did not find a „make“ in Cygwin.<br></div></blockquote><div><br></div>make is taken from Cygwin.  You’ll need  to run the cygwin installer and install gnu make. (Sorry this is so involved)<div><br><blockquote type="cite"><div dir="ltr"><div><br><blockquote type="cite"><div>Am 11.02.2022 um 22:05 schrieb Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>>:</div><br><div><br><br style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div class="gmail_quote" style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div dir="ltr" class="gmail_attr">On Fri, Feb 11, 2022 at 1:03 PM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-size:small">Hi Jörg,</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 11, 2022 at 9:10 AM Jörg Belger <<a href="mailto:unique75@web.de" target="_blank">unique75@web.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">Hi Eliot,<div><br></div><div>I did that, I used a x64 Native shell from Visual Studio.<span> </span></div></div></blockquote><div><br></div><div style="font-size:small">You need to use the CMD shell.  My CMD shell has the title "x64 MSVC CMD ..." and is the file C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat</div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-size:small">Actually the ful properties for the link is:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"</div><div class="gmail_default" style="font-size:small"></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div style="font-size:small"></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div>But it does neither work with 2022 nor with 2017, I deinstalled 2022 today and installed 2017, same result. It shows me only the first line what the script prints out. I have currently no access to my computer, I am not at home. But it shows only that DEBUG is started, just one line, nothing more.</div><div><br></div><div>Maybe I need to have a look into the batch files, I am afraid of that :-)</div><div><br></div><div>Jörg<br><div><br><blockquote type="cite"><div>Am 11.02.2022 um 18:03 schrieb Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>>:</div><br><div><br><br style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div class="gmail_quote" style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div dir="ltr" class="gmail_attr">On Fri, Feb 11, 2022 at 12:51 AM Jörg Belger <<a href="mailto:unique75@web.de" target="_blank">unique75@web.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">I was not able so far to compile a VM. Yesterday I installed Cygwin with standard settings and MS VisualStudio, but Version 2022, maybe I need 2017. I do all the things described in the HowToBuild, but when I do ../common/MAKEDEBUG.bat I get only the one output line that it does the DEBUG, but the script immediately stops, nothing happens.</div></blockquote><div><br></div><div style="font-size:small">You must run ..\common\MAKEDEBUG.BAT in an MSVC shell window, not a Cygwin window.  Furst do ..\common\SETPATH.BAT, then run MAKEDEBUG.BAT</div><div style="font-size:small"></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div><br></div><div>I used simply the latest debug build and attached it to VisualStudio. This is what I get, which means, exception raised, access violation at</div><div><br></div><div>Ausnahme ausgelöst bei 0x00007FF75DE1878B in Squeak.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00005AF973234C20.</div><div><div><br><blockquote type="cite"><div>Am 10.02.2022 um 21:12 schrieb Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>>:</div><br><div><div dir="auto"><div dir="ltr"><br></div><div dir="ltr"><blockquote type="cite">On Feb 10, 2022, at 12:07 PM, Jörg Belger <<a href="mailto:unique75@web.de" target="_blank">unique75@web.de</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">There is no crash.dmp file<br></div></blockquote><div><br></div>Then the only thing I can suggest is building a VM using the MSCV tool chain (see MSVC in opensmalltalk-vm/building/win64x64/HowToBuild), running that VM in the VisualStudio debugger, and seeing if that is more informative.<div><br><blockquote type="cite"><div dir="ltr"><div><br><blockquote type="cite"><div>Am 10.02.2022 um 20:58 schrieb Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>>:</div><br><div><div dir="ltr" style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div dir="ltr"><div style="font-size:small">HI Jörg,</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 9, 2022 at 11:08 PM Jörg Belger <<a href="mailto:unique75@web.de" target="_blank">unique75@web.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Dave,<br><br>I mean with „crash“ the Squeak process is exited unexpectedly, it is just fully gone away. Maybe it happens for me earlier because if have a 32 GB machine and I do not have so much swapping. It is not a hanging/locking/unresponsivness, it is a real crash :-)<br></blockquote><div><br></div><div style="font-size:small">Is there a crash.dmp file?  If so, can you post it? It should be in the same directory as either the image or the vm.</div><div style="font-size:small"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Here are my machine details:<br><br>Gerätename      timemachine<br>Prozessor       AMD Ryzen 9 3900X 12-Core Processor               3.80 GHz<br>Installierter RAM       32,0 GB<br>Geräte-ID       F6FA897B-DDB1-44D6-9BF3-8BD1110AA754<br>Produkt-ID      00326-10048-08575-AA867<br>Systemtyp       64-Bit-Betriebssystem, x64-basierter Prozessor<br>Stift- und Toucheingabe Für diese Anzeige ist keine Stift- oder Toucheingabe verfügbar.<br><br>Edition Windows 10 Home<br>Version 20H2<br>Installiert am  ‎23.‎03.‎2021<br>Betriebssystembuild     19042.1526<br>Leistung        Windows Feature Experience Pack 120.2212.4170.0<br><br><br>> Am 10.02.2022 um 04:27 schrieb David T. Lewis <<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>>:<br>><span> </span><br>> On Thu, Feb 03, 2022 at 10:30:49PM +0100, J??rg Belger wrote:<br>>> This leads to an image/VM crash too<br>>><span> </span><br>>>      | oc |<br>>>      oc := OrderedCollection new.<br>>>      400000000 timesRepeat: [oc add: Object new]<br>>><span> </span><br>>> This here is working for me:<br>>><span> </span><br>>>      | oc |<br>>>      oc := OrderedCollection new: 400000000.<br>>>      400000000 timesRepeat: [oc add: Object new]<br>>><span> </span><br>>> This here is working too for me:<br>>><span> </span><br>>>      | oc |<br>>>      oc := OrderedCollection new.<br>>>      400000000 timesRepeat: [oc add: 1]<br>>><span> </span><br>>> It seems there is possibly a memory problem in the VM.<br>>><span> </span><br>>><span> </span><br>><span> </span><br>> I have tried to reproduce this on my PC with 8GB memory. I was not able<br>> to crash the VM but it certainly locked my system up in swapping as the<br>> test continued to use memory. Eventually I ran out of time and patience<br>> and killed the VM process.<br>><span> </span><br>> If there is an actual VM crash involved then maybe there is a bug. But<br>> if you are seeing your Squeak image is just stalling out, then nothing<br>> is wrong except for a matter of basic arithmetic.<br>><span> </span><br>> You are trying to allocate 400,000,000 individual objects, each of which<br>> requires 16 bytes of memory in the object memory, and you are storing<br>> each of those objects using an 8 byte object pointer to the object in<br>> the ordered collection. So just for the raw storage you are going to<br>> need for those "Object new" things, you need 400,000,000 * (16 + 8)<br>> = 9,600,000,000 bytes. On top of that you are putting the objects into<br>> an OrderedCollection that does not know that you are going to ask it<br>> to hold 400,000,000 object pointers, so it has to keep extending itself<br>> as the test proceeds.<br>><span> </span><br>> When I tried to run this on my PC with a mere eight GB of real memory,<br>> the operating system had to start swapping out real memory make room<br>> for all of that activity. And every time the OrderedCollection needs<br>> to extend its space, it is accessing real memory that probably got<br>> swapped out to disk to make room in the 8GB of real memory space, so<br>> basically it puts the system into a death spiral that locks up the<br>> Squeak image (and pretty much everything else on my computer).<br>><span> </span><br>> So I am able to reproduce the locked up image (as I would expect on my<br>> PC with only 8GB memory) but I have not been able to reproduce a crash.<br>><span> </span><br>> Just to clarify, are you describing a "crash" in which the actual<br>> Squeak VM process exited unexpectedly, or was it a "crash" in the<br>> sense of the the image locking up and becoming unresponsive? If the<br>> latter, then most likely nothing is wrong.<br>><span> </span><br>> Dave<br>><span> </span><br>><span> </span><br><br><br></blockquote></div><br clear="all"><div><br></div>--<span> </span><br><div dir="ltr"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div></div></blockquote></div><br><span></span><br></div></blockquote></div></div><br></div></blockquote></div><br></div></div><br></blockquote></div><br style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none" clear="all"><div style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br></div><span style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">--<span> </span></span><br style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div dir="ltr" style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div></blockquote></div><br></div></div><br></blockquote></div><br clear="all"><div><br></div>--<span> </span><br><div dir="ltr"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div></blockquote></div><br style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none" clear="all"><div style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br></div><span style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">--<span> </span></span><br style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div dir="ltr" style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div></blockquote></div><br><span></span><br></div></blockquote></div></div><br></div></blockquote></div><br></div><span></span><br></div></blockquote></div></div><br></div></blockquote></div><br></div></div><br>
</blockquote></div>