Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Nov 2002 18:50:47 +0100
From:      Philip Paeps <philip@paeps.cx>
To:        current@freebsd.org
Subject:   Re: I'm impressed, but ...
Message-ID:  <20021125175047.GA625@juno.home.paeps.cx>
In-Reply-To: <20021125120956.GA616@juno.home.paeps.cx>
References:  <20021125004934.GA604@juno.home.paeps.cx> <20021125114536.A19537@alpha.develop.ferrari.net> <20021125120956.GA616@juno.home.paeps.cx>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2002-11-25 13:09:56 (+0100), Philip Paeps <philip@paeps.cx> wrote:
> On 2002-11-25 11:45:36 (+0100), Robert Drehmel <robert@ferrari-electronic.de> wrote:
> > On Mon, Nov 25, 2002 at 01:49:34AM +0100, Philip Paeps wrote:
> > [reformatted]
> > >  2. This one's the most irritating.  I use Mutt as my mailclient using
> > >     Maildirs for storage.  It occasionally happens that Mutt just 'hangs'
> > >     reading a directory, and there's no way for me to kill it.  Ps axl shows
> > >     it as being in state Ds or Ds+ and blocked by ufs.
> > 
> > do you use truss(1)?
> 
> Frequently, but I hadn't thought about it in this case :-)
> 
> Next time it just sits there, I'll try to find out what truss tells me.  If
> nothing, I'll try to reproduce the problem running inside truss.
> 
> I'll get with more info as soon as things die.

Mmm, truss doesn't give me anything particularly useful.  The last few lines
when it hangs are:

 | read(0x0,0xbfbfe19b,0x1)			 = 1 (0x1)
 | write(1,0x80e1000,6)				 = 6 (0x6)
 | write(1,0x80e1000,6)				 = 6 (0x6)
 | stat("/etc/nsswitch.conf",0xbfbfd950)		 ERR#2 'No such file or directory'
 | geteuid()					 = 1001 (0x3e9)
 | stat("/etc/pwd.db",0xbfbfd860)			 = 0 (0x0)
 | open("/etc/pwd.db",0x0,00)			 = 4 (0x4)
 | fcntl(0x4,0x2,0x1)				 = 0 (0x0)
 | read(0x4,0x8133a00,0x104)			 = 260 (0x104)
 | lseek(4,0x5000,0)				 = 20480 (0x5000)
 | read(0x4,0x8477000,0x1000)			 = 4096 (0x1000)
 | lseek(4,0x4000,0)				 = 16384 (0x4000)
 | read(0x4,0x8478000,0x1000)			 = 4096 (0x1000)
 | lseek(4,0x6000,0)				 = 24576 (0x6000)
 | read(0x4,0x8479000,0x1000)			 = 4096 (0x1000)
 | lseek(4,0x7000,0)				 = 28672 (0x7000)
 | read(0x4,0x847a000,0x1000)			 = 4096 (0x1000)
 | ls

...and then it just sits there...

It doesn't even finish printing the line.  Ps axl tells me it's waiting on
ufs, and there's no way to kill it, other than a reboot.  When rebooting, it
tells me it gives up on one buffer, and then just stays hanging there.

Perhaps breaking into a debugger will provide some more useful information.
I'll try that next.

 - Philip

-- 
Philip Paeps                                          Please don't CC me, I am
philip@paeps.cx                                       subscribed to the list.

  Real programmers don't notch their desks for each
  completed service request.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021125175047.GA625>