[Cuis-dev] [DEFECT] Debugger leaves terminated processes

Gerald Klix cuis.01 at klix.ch
Thu Oct 20 09:20:02 PDT 2022


Hi all, Hi Juan,

I think I found the cause of my huge images:
The Debugger (or process termination)
leaves terminated processes hanging around.

First I saved the image before running the
killer-Block (see the attached killit.st):

-- snip --
beforeLargeStack.image
-rw-rw-r-- 1 bear bear 27M Okt 20 17:50 Haver6.0-5496-beforeLargeStack.image
-- snap --

Than I ran killit and simply closed the debugger window
and saved the image:

-- snip --
-rw-rw-r-- 1 bear bear 1.9G Okt 20 17:51 Haver6.0-5496-afterLargeStack.image
-- snap --

 From 27 megabytes to 1.9 gigabytes in 20 seconds,
that's quite a feature, albeit a bad one.

When I print all existing processes -- see diagnoseKillit.st -- I
could see there are a lot of terminated processes hanging around.

I did `self break` and closed the debugger: More terminated processes.
Bad enough: `Smalltalk garbageCollect` does not help.

The first part of RunningProcesses.txt is the transcript
output after running the killer-block.
(There are already some terminated processes, because I used
image to implement the fixes, I just posted).
The second part is transcript output after one `self break`;
I didn't check exactly, but there are more terminated processes.


Best Regards,

Gerald
-------------- next part --------------
Process allSubInstancesDo: [ :process |	Transcript show: process ].

Smalltalk garbageCollect
-------------- next part --------------
Transcript
a Process terminated 79 (2197154) Morphic UI
a Process terminated 40 (916962) Formerly: Morphic UI
a Process terminated 40 (1522144) Formerly: Formerly: Formerly: Morphic UI
a Process terminated 79 (1616212) Startup process
a Process terminated 40 (1377086) Formerly: Morphic UI
a Process terminated 79 (517030) Morphic UI
a Process terminated 79 (3334332) Startup process
a Process blocked 80 (24280) [system] Delay Scheduling
a Process running 40 (1241178) Morphic UI -  [world]
a Process blocked 60 (2206954) [system] Background Screen updater
a Process blocked 75 (2060312) [system] User interrupt watcher
a Process blocked 60 (3686364) [system] Event Tickler
a Process blocked 65 (2670070) [system] Low Space Watcher
a Process ready 10 (1010094) Idle Process
a Process blocked 50 (2316276) [system] WeakArray finalization
a Process terminated 40 (2317408) Formerly: Morphic UI
a Process terminated 80 (384018) [system] Low Space Watcher
Process
a Process terminated 79 (2197154) Morphic UI
a Process terminated 40 (916962) Formerly: Morphic UI
a Process terminated 40 (1522144) Formerly: Formerly: Formerly: Morphic UI
a Process terminated 79 (1616212) Startup process
a Process terminated 40 (1377086) Formerly: Morphic UI
a Process terminated 79 (517030) Morphic UI
a Process terminated 79 (3334332) Startup process
a Process blocked 80 (24280) [system] Delay Scheduling
a Process running 40 (3620498) Morphic UI -  [world]
a Process blocked 60 (2206954) [system] Background Screen updater
a Process blocked 75 (2060312) [system] User interrupt watcher
a Process blocked 60 (3686364) [system] Event Tickler
a Process blocked 65 (2943858) [system] Low Space Watcher
a Process ready 10 (1010094) Idle Process
a Process blocked 50 (2316276) [system] WeakArray finalization
a Process terminated 40 (1241178) Formerly: Morphic UI
a Process terminated 40 (2317408) Formerly: Morphic UI
a Process terminated 80 (384018) [system] Low Space Watcher
a Process terminated 80 (2670070) [system] Low Space Watcher
Process
-------------- next part --------------
killer _ [ :killer :count | count > 0 ifTrue: [ killer value: killer value: count  -1 ] ifFalse: [ killer break ] ].

killer value: killer value: 1024 * 1024 * 10

self break


More information about the Cuis-dev mailing list