[Pharo-project] garbage collection
Norbert Hartl
norbert at hartl.name
Mon Feb 20 12:02:22 UTC 2012
Am 19.02.2012 um 18:26 schrieb Chris Muller:
>> Very strange. Shortly after I read your post I opened a unresponsive image
>> myself. In the process stack I saw that magma was the culprit (didn't remember
>> I have it installed in that image). However the problem was that I moved my
>> directory and magma was looking for the old path. I didn't investigate further but
>> it seems that the MagmaRepositoryController>>#open (called on startUp) is
>> able to block the UI thread. In the same image I could use seaside still although
>> the UI was frozen.
>
> Hi. Based on your description, it sounds like Magma hit its warning
> condition check that it found a file named "_open" in the repository
> directory, indicating it thinks another process has it open. This can
> occur if the server image did not shut down properly last time.
>
> Before starting the image, see if there is a file called "_open" and,
> if there is, delete it. The image should start normally now.
>
The directory wasn't there anymore where magma was looking for it. Does magma look in other directories as well. The magma/ Folder was still in the same directory as the image. But I thought magma is looking for the absolute path because that's what I can see in the debug log. Anyway there was a file called _open in that directory. So either magma didn't find the directory or it was locked by the _open.
> This is something that has annoyed me at least a couple of times as
> well. I'm not sure what the UI process was doing in your case, but
> Alt+. should allow you to interrupt it and see the stacks.. My
> suspicion is that something in the image wanted a MagmaSession to do
> something, but since the server was waiting for you to respond to the
> Warning about "_open" it wouldn't return...
>
Alt+. did not work. It was not reacting to anything. The warning about _open would have been a dialog?
> The confusing part for me is, the image startup code runs in the UI
> process doesn't it? So why were there two Processes to possibly get
> into a deadlock?
Well, I don't have enough knowledge but I would say in pharo it isn't impossible that there are more than one thread being involved.
Norbert
More information about the Magma
mailing list