runaway Pharo beta image

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

runaway Pharo beta image

Paul DeBruicker
Hi -


I have done something to my image and don't know how to fix it.  When
it opens it maximizes one of the processors and allocates a large
amount of RAM to itself.  When I attempt to run the Debug > Start
profiling all Processes it crashes the vm after I move the mouse to
the top of the screen.  When I run

Process allInstancesDo: [ :p | | rules |
    rules := ProcessBrowser nameAndRulesFor: p.
    rules second ifTrue: [ p terminate ] "1=name, 2=safe-to-kill,
3=safe-to-debug"
].

from here: http://wiki.squeak.org/squeak/1799  nothing changes.

Printing 'ProcessBrowser new processList' in a workspace gives:

 a WeakArray(a Process in Delay class>>handleTimerEvent a Process in
SystemDictionary>>lowSpaceWatcher a Process in [] in Delay>>wait a
Process in WeakArray class>>finalizationProcess a Process in nil a
Process in ByteString(String)>>encodeOn: a Process in [] in
BlockClosure>>newProcess)


And the VM statistics are:

uptime 0h8m53s
memory 1,055,051,120 bytes
        old 1,050,497,028 bytes (99.6%)
        young 83,708 bytes (0.0%)
        used 1,050,580,736 bytes (99.6%)
        free 4,470,384 bytes (0.4%)
GCs 4,999 (107ms between GCs)
        full 3 totalling 18,400ms (3.0% uptime), avg 6133.0ms
        incr 4996 totalling 120,999ms (23.0% uptime), avg 24.0ms
        tenures 112 (avg 44 GCs/tenure)


Are there other things I can do to get it back under control or should
I just save everything in some MC repositories and set up a new image?
 I'm reluctant to do that now because I don't know what I did to
create the situation I'm in.


Thanks for your help

Paul

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: runaway Pharo beta image

Adrian Lienhard
Hi Paul,

A likely scenario is that you have a process in an endless loop  
(probably the one in ByteString(String)>>encodeOn:). Its stack grows  
and uses more and more memory.

The first thing to try is control-. (or apple-.), which should  
interrupt the current process. If the GUI is still responsive you can  
also open the process browser (in the Tools menu) and try to debug or  
just terminate the offending process.

HTH,
Adrian

On Sep 4, 2009, at 15:56 , Paul DeBruicker wrote:

> Hi -
>
>
> I have done something to my image and don't know how to fix it.  When
> it opens it maximizes one of the processors and allocates a large
> amount of RAM to itself.  When I attempt to run the Debug > Start
> profiling all Processes it crashes the vm after I move the mouse to
> the top of the screen.  When I run
>
> Process allInstancesDo: [ :p | | rules |
>    rules := ProcessBrowser nameAndRulesFor: p.
>    rules second ifTrue: [ p terminate ] "1=name, 2=safe-to-kill,
> 3=safe-to-debug"
> ].
>
> from here: http://wiki.squeak.org/squeak/1799  nothing changes.
>
> Printing 'ProcessBrowser new processList' in a workspace gives:
>
> a WeakArray(a Process in Delay class>>handleTimerEvent a Process in
> SystemDictionary>>lowSpaceWatcher a Process in [] in Delay>>wait a
> Process in WeakArray class>>finalizationProcess a Process in nil a
> Process in ByteString(String)>>encodeOn: a Process in [] in
> BlockClosure>>newProcess)
>
>
> And the VM statistics are:
>
> uptime 0h8m53s
> memory 1,055,051,120 bytes
> old 1,050,497,028 bytes (99.6%)
> young 83,708 bytes (0.0%)
> used 1,050,580,736 bytes (99.6%)
> free 4,470,384 bytes (0.4%)
> GCs 4,999 (107ms between GCs)
> full 3 totalling 18,400ms (3.0% uptime), avg 6133.0ms
> incr 4996 totalling 120,999ms (23.0% uptime), avg 24.0ms
> tenures 112 (avg 44 GCs/tenure)
>
>
> Are there other things I can do to get it back under control or should
> I just save everything in some MC repositories and set up a new image?
> I'm reluctant to do that now because I don't know what I did to
> create the situation I'm in.
>
>
> Thanks for your help
>
> Paul
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project