On Sat, 30 Jun 2001 18:14:58 -0400 (EDT) Rosemary Michelle Simpson rms@cs.brown.edu wrote:
Well, that worked on getting a consistent 15 processes. I discovered that if I terminate a process labeled "a Process in ProcessorScheduler class>>idleProcess" I freeze not only Squeak but my machine and terminating a process labeled "a Process in Delay class>>DoIt" freezes Squeak but I can still quit from the top menubar File menu. The clock is still running. Here are the fifteen process descriptions:
Well, let's see...
-- these look normal and should be left alone --
1 a Process in Delay class>>DoIt 2 a Process in WeakArray class>>DoIt 13 a Process in InputSensor>>userInterruptWatcher 14 a Process in SystemDictionary>>lowSpaceWatcher 15 a Process in ProcessorScheduler class>>idleProcess
-- one or both of these are normal --
11 a Process in Delay>>wait 12 a Process in Delay>>wait
-- these are terminated processes. something is keeping them around --
3 a Process in nil 9 a Process in nil 10 a Process in nil
-- these are processes for which a debugger is open. try dismissing all open debuggers --
4 a Process in Debugger class>>openContext:label:contents: 5 a Process in Debugger class>>openContext:label:contents: 6 a Process in Debugger class>>openContext:label:contents: 7 a Process in Debugger class>>openContext:label:contents: 8 a Process in Debugger class>>openContext:label:contents:
Try doing this (again, all at once):
Smalltalk garbageCollect. Process allInstances do: [ :p | PointerFinder on: p].
This will open a pinkish window for each process showing what's keeping it in the image. The processes in the third and fourth groups above are the ones you are interestd in getting rid of.
Cheers, Bob
On Sat, 30 Jun 2001, Bob Arning wrote:
On Sat, 30 Jun 2001 18:14:58 -0400 (EDT) Rosemary Michelle Simpson rms@cs.brown.edu wrote:
Well, that worked on getting a consistent 15 processes. I discovered that if I terminate a process labeled "a Process in ProcessorScheduler class>>idleProcess" I freeze not only Squeak but my machine and terminating a process labeled "a Process in Delay class>>DoIt" freezes Squeak but I can still quit from the top menubar File menu. The clock is still running. Here are the fifteen process descriptions:
Well, let's see...
-- these look normal and should be left alone --
1 a Process in Delay class>>DoIt 2 a Process in WeakArray class>>DoIt 13 a Process in InputSensor>>userInterruptWatcher 14 a Process in SystemDictionary>>lowSpaceWatcher 15 a Process in ProcessorScheduler class>>idleProcess
-- one or both of these are normal --
11 a Process in Delay>>wait 12 a Process in Delay>>wait
-- these are terminated processes. something is keeping them around --
3 a Process in nil 9 a Process in nil 10 a Process in nil
-- these are processes for which a debugger is open. try dismissing all open debuggers --
4 a Process in Debugger class>>openContext:label:contents: 5 a Process in Debugger class>>openContext:label:contents: 6 a Process in Debugger class>>openContext:label:contents: 7 a Process in Debugger class>>openContext:label:contents: 8 a Process in Debugger class>>openContext:label:contents:
Try doing this (again, all at once):
Smalltalk garbageCollect. Process allInstances do: [ :p | PointerFinder on: p].
This will open a pinkish window for each process showing what's keeping it in the image. The processes in the third and fourth groups above are the ones you are interestd in getting rid of.
OK. I terminated all the debug processes, which sent them to nil but kept them around. I saved and quit and then opened again and ran the PointerFinder loop. The vast majority of the pink windows have the following message, which I suspect refers to the 'process is nil' processes:
#ScheduleControllers -> ControlManager activeController: ProjectController model: Project activeProcess: Process suspendedContext: MethodContext 1. Process
does that provide any further info? Is there any additional way of getting rid of them since terminate doesn't? The clock is still running, btw.
R>
squeak-dev@lists.squeakfoundation.org