Hi.

It is probably related to issue 20309
<https://pharo.fogbugz.com/f/cases/20309/Startup-should-run-always-in-a-fresh-process>

2017-09-19 15:02 GMT+02:00 Holger Freyther <[email protected]>:

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

Reply via email to