newbie question - killing a process

Rosemary Michelle Simpson rms at cs.brown.edu
Sat Jun 30 23:15:41 UTC 2001


On Sat, 30 Jun 2001, Bob Arning wrote:

> On Sat, 30 Jun 2001 18:14:58 -0400 (EDT) Rosemary Michelle Simpson <rms at 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>
 





More information about the Squeak-dev mailing list