[squeak-dev] Crash

Eliot Miranda eliot.miranda at gmail.com
Sat Feb 12 20:15:16 UTC 2022



> On Feb 12, 2022, at 1:08 AM, Jörg Belger <unique75 at web.de> wrote:
> 
> What do I need to install to get a „make“ command? VisualStudio has only „nmake“ and I did not find a „make“ in Cygwin.

make is taken from Cygwin.  You’ll need  to run the cygwin installer and install gnu make. (Sorry this is so involved)

> 
>> Am 11.02.2022 um 22:05 schrieb Eliot Miranda <eliot.miranda at gmail.com>:
>> 
>> 
>> 
>>> On Fri, Feb 11, 2022 at 1:03 PM Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>> Hi Jörg,
>>> 
>>>> On Fri, Feb 11, 2022 at 9:10 AM Jörg Belger <unique75 at web.de> wrote:
>>>> Hi Eliot,
>>>> 
>>>> I did that, I used a x64 Native shell from Visual Studio. 
>>> 
>>> 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
>> 
>> Actually the ful properties for the link is:
>> 
>> %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
>>>> 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.
>>>> 
>>>> Maybe I need to have a look into the batch files, I am afraid of that :-)
>>>> 
>>>> Jörg
>>>> 
>>>>> Am 11.02.2022 um 18:03 schrieb Eliot Miranda <eliot.miranda at gmail.com>:
>>>>> 
>>>>> 
>>>>> 
>>>>> On Fri, Feb 11, 2022 at 12:51 AM Jörg Belger <unique75 at web.de> wrote:
>>>>>> 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.
>>>>> 
>>>>> You must run ..\common\MAKEDEBUG.BAT in an MSVC shell window, not a Cygwin window.  Furst do ..\common\SETPATH.BAT, then run MAKEDEBUG.BAT
>>>>>> 
>>>>>> I used simply the latest debug build and attached it to VisualStudio. This is what I get, which means, exception raised, access violation at
>>>>>> 
>>>>>> Ausnahme ausgelöst bei 0x00007FF75DE1878B in Squeak.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00005AF973234C20.
>>>>>> 
>>>>>>>> Am 10.02.2022 um 21:12 schrieb Eliot Miranda <eliot.miranda at gmail.com>:
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Feb 10, 2022, at 12:07 PM, Jörg Belger <unique75 at web.de> wrote:
>>>>>>>>> 
>>>>>>>> There is no crash.dmp file
>>>>>>> 
>>>>>>> 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.
>>>>>>> 
>>>>>>>> 
>>>>>>>>> Am 10.02.2022 um 20:58 schrieb Eliot Miranda <eliot.miranda at gmail.com>:
>>>>>>>>> 
>>>>>>>>> HI Jörg,
>>>>>>>>> 
>>>>>>>>> On Wed, Feb 9, 2022 at 11:08 PM Jörg Belger <unique75 at web.de> wrote:
>>>>>>>>>> Hi Dave,
>>>>>>>>>> 
>>>>>>>>>> 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 :-)
>>>>>>>>> 
>>>>>>>>> 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.
>>>>>>>>> 
>>>>>>>>>> Here are my machine details:
>>>>>>>>>> 
>>>>>>>>>> Gerätename      timemachine
>>>>>>>>>> Prozessor       AMD Ryzen 9 3900X 12-Core Processor               3.80 GHz
>>>>>>>>>> Installierter RAM       32,0 GB
>>>>>>>>>> Geräte-ID       F6FA897B-DDB1-44D6-9BF3-8BD1110AA754
>>>>>>>>>> Produkt-ID      00326-10048-08575-AA867
>>>>>>>>>> Systemtyp       64-Bit-Betriebssystem, x64-basierter Prozessor
>>>>>>>>>> Stift- und Toucheingabe Für diese Anzeige ist keine Stift- oder Toucheingabe verfügbar.
>>>>>>>>>> 
>>>>>>>>>> Edition Windows 10 Home
>>>>>>>>>> Version 20H2
>>>>>>>>>> Installiert am  ‎23.‎03.‎2021
>>>>>>>>>> Betriebssystembuild     19042.1526
>>>>>>>>>> Leistung        Windows Feature Experience Pack 120.2212.4170.0
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> > Am 10.02.2022 um 04:27 schrieb David T. Lewis <lewis at mail.msen.com>:
>>>>>>>>>> > 
>>>>>>>>>> > On Thu, Feb 03, 2022 at 10:30:49PM +0100, J??rg Belger wrote:
>>>>>>>>>> >> This leads to an image/VM crash too
>>>>>>>>>> >> 
>>>>>>>>>> >>      | oc |
>>>>>>>>>> >>      oc := OrderedCollection new.
>>>>>>>>>> >>      400000000 timesRepeat: [oc add: Object new]
>>>>>>>>>> >> 
>>>>>>>>>> >> This here is working for me:
>>>>>>>>>> >> 
>>>>>>>>>> >>      | oc |
>>>>>>>>>> >>      oc := OrderedCollection new: 400000000.
>>>>>>>>>> >>      400000000 timesRepeat: [oc add: Object new]
>>>>>>>>>> >> 
>>>>>>>>>> >> This here is working too for me:
>>>>>>>>>> >> 
>>>>>>>>>> >>      | oc |
>>>>>>>>>> >>      oc := OrderedCollection new.
>>>>>>>>>> >>      400000000 timesRepeat: [oc add: 1]
>>>>>>>>>> >> 
>>>>>>>>>> >> It seems there is possibly a memory problem in the VM.
>>>>>>>>>> >> 
>>>>>>>>>> >> 
>>>>>>>>>> > 
>>>>>>>>>> > I have tried to reproduce this on my PC with 8GB memory. I was not able
>>>>>>>>>> > to crash the VM but it certainly locked my system up in swapping as the
>>>>>>>>>> > test continued to use memory. Eventually I ran out of time and patience
>>>>>>>>>> > and killed the VM process.
>>>>>>>>>> > 
>>>>>>>>>> > If there is an actual VM crash involved then maybe there is a bug. But
>>>>>>>>>> > if you are seeing your Squeak image is just stalling out, then nothing
>>>>>>>>>> > is wrong except for a matter of basic arithmetic.
>>>>>>>>>> > 
>>>>>>>>>> > You are trying to allocate 400,000,000 individual objects, each of which
>>>>>>>>>> > requires 16 bytes of memory in the object memory, and you are storing
>>>>>>>>>> > each of those objects using an 8 byte object pointer to the object in
>>>>>>>>>> > the ordered collection. So just for the raw storage you are going to
>>>>>>>>>> > need for those "Object new" things, you need 400,000,000 * (16 + 8)
>>>>>>>>>> > = 9,600,000,000 bytes. On top of that you are putting the objects into
>>>>>>>>>> > an OrderedCollection that does not know that you are going to ask it
>>>>>>>>>> > to hold 400,000,000 object pointers, so it has to keep extending itself
>>>>>>>>>> > as the test proceeds.
>>>>>>>>>> > 
>>>>>>>>>> > When I tried to run this on my PC with a mere eight GB of real memory,
>>>>>>>>>> > the operating system had to start swapping out real memory make room
>>>>>>>>>> > for all of that activity. And every time the OrderedCollection needs
>>>>>>>>>> > to extend its space, it is accessing real memory that probably got
>>>>>>>>>> > swapped out to disk to make room in the 8GB of real memory space, so
>>>>>>>>>> > basically it puts the system into a death spiral that locks up the
>>>>>>>>>> > Squeak image (and pretty much everything else on my computer).
>>>>>>>>>> > 
>>>>>>>>>> > So I am able to reproduce the locked up image (as I would expect on my
>>>>>>>>>> > PC with only 8GB memory) but I have not been able to reproduce a crash.
>>>>>>>>>> > 
>>>>>>>>>> > Just to clarify, are you describing a "crash" in which the actual
>>>>>>>>>> > Squeak VM process exited unexpectedly, or was it a "crash" in the
>>>>>>>>>> > sense of the the image locking up and becoming unresponsive? If the
>>>>>>>>>> > latter, then most likely nothing is wrong.
>>>>>>>>>> > 
>>>>>>>>>> > Dave
>>>>>>>>>> > 
>>>>>>>>>> > 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> _,,,^..^,,,_
>>>>>>>>> best, Eliot
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> _,,,^..^,,,_
>>>>> best, Eliot
>>>> 
>>>> 
>>> 
>>> 
>>> -- 
>>> _,,,^..^,,,_
>>> best, Eliot
>> 
>> 
>> -- 
>> _,,,^..^,,,_
>> best, Eliot
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220212/b7e82a23/attachment.html>


More information about the Squeak-dev mailing list