I am having a problem with my Gjallar image (0.3) that I am not sure to understand.
The symptoms are that while performing a Q2Gjallar startServer I get the error: Q2Model instances hanging! Consider #ultraCleanImage
This error is raised in Q2Gjallar class > cleanImage.
After restarting the image without saving, I found 13 instances of Q2Model. After running Q2Gallar ultraCleanImage, there are 2 instances for Q2Model left and Squeak grabs all the CPU...
Any insights about how to restore Gjallar would be greatly appreciated.
Thanks, Thierry
Hi!
I am having a problem with my Gjallar image (0.3) that I am not sure to understand.
The symptoms are that while performing a Q2Gjallar startServer I get the error: Q2Model instances hanging! Consider #ultraCleanImage
This error is raised in Q2Gjallar class > cleanImage.
Yes, it first cleans up everything and then it checks if there are still some key instances around (like Q2Model) - which there should be none.
I used the word "hanging" since if there are instances they are "hanging" in something else thus preventing them to be GCed.
After restarting the image without saving, I found 13 instances of Q2Model. After running Q2Gallar ultraCleanImage, there are 2 instances for Q2Model left and Squeak grabs all the CPU...
I presume alt-. can stop it?
Any insights about how to restore Gjallar would be greatly appreciated.
There are several things to check. Make sure you don't have inspectors or explorers up. Make sure you don't have Workspaces up with bindings (to be sure, copy the text in them, close them and open new ones) in them.
Of course, close all debuggers and notifiers. :) Try cleanImage again and see if they are still around. If they are, then it is time to use some tools:
PointerFinder on: Q2Model allInstances first
or:
PointerExplorer new openExplorerFor: Q2Model allInstances first
Sometimes PointerFinder doesn't seem to find anything (not sure why), otherwise it will show a trail up to the globals showing you the chain of references causing it to still hang around.
If you can't figure this out - post again with more info. Or dump the image somewhere for me to look at - these things can be tricksy.
regards, Göran
All the previous suggestions did not work. So I tried the following
PointerExplorer new openExplorerFor: Q2Model allInstances first
(I had found a similar method: Browser on Q2Model -> Right-click and 'inspect instances' -> right-click on the first instance and 'object pointing to this value')
This shows a Q2SwikiFormatter instance.
I went ahead and manually set the 'model' instance variable to nil on both Q2SwikiFormatter instances (I had two Q2Models left hanging). This helped me pass the 'cleanImage'.
Any hints on what could have happened?
Thierry
setools@lists.squeakfoundation.org