[squeak-dev] Crash
Jörg Belger
unique75 at web.de
Fri Feb 11 08:51:30 UTC 2022
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.
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 <mailto:eliot.miranda at gmail.com>>:
>>>
>>> HI Jörg,
>>>
>>> On Wed, Feb 9, 2022 at 11:08 PM Jörg Belger <unique75 at web.de <mailto: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 <mailto: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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220211/41386aeb/attachment.html>
More information about the Squeak-dev
mailing list
|