[squeak-dev] Crash

Jörg Belger unique75 at web.de
Thu Feb 10 07:08:45 UTC 2022


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 :-)

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
> 
> 



More information about the Squeak-dev mailing list