[Q] FileList2 spins: how do I debug this ?

David T. Lewis lewis at mail.msen.com
Wed Mar 26 10:52:30 UTC 2003


On Tue, Mar 25, 2003 at 07:17:08AM +0100, Martin Drautzburg wrote:
> Ned Konz <ned at bike-nomad.com> writes:
> 
> > You could try turning on the CPUWatcher (open a ProcessBrowser, then 
> > use the context menu).
> > 
> > It *may* help.
> 
> Unfortunately it does not. The process browser does not update. The
> system is literally petrified. If I destroy the squeak window (linux)
> the window disappears but squeak remains running. I can see the
> process and I can hear the noise of the the harddisk (sounds like a
> Spanish "R").
> 
> > 
> > Otherwise, try to recall where the last step was and go back and 
> > examine things.
> 
> That is what I was doing. But it is like walking thru a minefield. I
> also had a hard time setting breakspoints (self halt) because much of
> the code I walk thru is file related and I cannot save my image with
> these halts set.
> 
> Alt-. does not work either.

This is how your Squeak VM will behave if it it is hung up in an IO
operation. For example, if a primitive is called in such a way that
it blocks on a read that is never satisfied, you will see exactly the
symptoms you describe. You are on Linux, so you may be able to break
it loose outside of Squeak by looking at the open file descriptors
in /proc/1234/fd/* (replace 1234 with the pid of your Squeak process).
Otherwise you are hosed.

If you don't mind building your own VM, you can also try running it
under a gdb debugger, so you can interrupt the VM or set breakpoints
right before the bad thing happens.

By the way, the fact that your hard drive is making noises sounds
more than a little bit suspicious. I trust that you do regular
system backups, right? You may need them soon.

HTH,
Dave



More information about the Squeak-dev mailing list