Hi, I am currently trying to run one of my images as non-root and related to that look into keeping changes in a different directory or not writing them at all. While looking at a write failure I saw some paths being logged that I used during CI to load code and should have been GCed.
Observation: Pharo --headless My.image eval "Smalltalk garbageCollect. CommandLineHandler allSubInstances size" 84 Pharo --headfull My.image eval "Smalltalk garbageCollect. CommandLineHandler allSubInstances size" 2 As part of the CommandLineHandler allSubInstances there are eight LoadUpdatesCommandLineHandler still active. I would assume that a full GC should have collected them by now (some of them being created in May). In a headfull image they disappear quickly I varied the execution a bit: Pharo --headless RoamingHub.image eval --no-quit "[ Smalltalk garbageCollect. FileStream stdout print: CommandLineHandler allSubInstances size; lf. Smalltalk snapshot: false andQuit: true] fork" 0 Hypothesis: * Command line handlers call >>#snapshot:andQuit:. * Image resumes in this process * New session created * Command line handlers execute * Calls snapshot:andQuit: * Image resumes.. * New session created * Command line handlers execute ... Can this be true? I think the proposal to start the image differently would help here? Any comments/ideas? holger