[plug] odd file manager hangs

Craig Ringer craig at postnewspapers.com.au
Wed Aug 18 16:46:13 WST 2004


James Devenish wrote:
> In message <41230784.8070208 at postnewspapers.com.au>
> on Wed, Aug 18, 2004 at 03:38:44PM +0800, Craig Ringer wrote:
 >
>>So of course, now that I've posted I manage to catch it.
> 
> Before you posted this, I was going to suggest that maybe the graphical
> browsers 'lock' each other when generating thumbnails (for instance). I
> know that this seems unlikely, but I wasn't sure if you'd discounted it
> yet.

I don't think it's the case. For one, I'm now fairly sure it's /not/ 
just happening when multiple file browsers access the directory, though 
it does seem to happen more often in that case.

>>craig    25840 25820 T finish_stop       nautilus --no-desktop
> 
> 
> Now, we've seen finish_stop before, haven't we? I don't know of its
> significance (or lack thereof), but it seems to crop up in your e-mails
> when you have these problems. Maybe it's just because of strace? I don't
> know.

I'm pretty sure it's a result of strace. Here's what I have (differently 
formatted, sorry) from before I attached strace to that process:

  1000 25819 wait4                   strace -o /tmp/trace-22333 nautilus
  1000 25820 rt_sigsuspend           nautilus --no-desktop
  1000 25840 schedule_timeout        nautilus --no-desktop
  1000 25841 rt_sigsuspend           nautilus --no-desktop
  1000 25842 rt_sigsuspend           nautilus --no-desktop
  1000 25845 rt_sigsuspend           nautilus --no-desktop
  1000 25846 rt_sigsuspend           nautilus --no-desktop
  1000 25847 rt_sigsuspend           nautilus --no-desktop
  1000 25848 rt_sigsuspend           nautilus --no-desktop
  1000 25849 rt_sigsuspend           nautilus --no-desktop
  1000 25850 rt_sigsuspend           nautilus --no-desktop
  1000 25851 rt_sigsuspend           nautilus --no-desktop
  1000 25852 rt_sigsuspend           nautilus --no-desktop

this is what I really /meant/ to post the first time, actually, but 
re-listed it using more sensible options. I hadn't noticed the state 
change caused by tracing the process until later.

I should also note that it looks like the nautilus hang from which this 
info was collected was in some way different to the normal freezes. In 
the normal freezes that it recovers from, the GUI continues to update, 
the context menu works, and if closed nautilus terminates normally. When 
I collected this info, I note that the GUI failed to update (except for 
the spinner - odd) and it requred a kill -9 to terminate.

In other words, possibly because the process was being traced it was 
behaving differently and this info probably can't be relied on. Drat.

>>poll([{fd=21, events=POLLIN}], 1, 2000) = 0
> 
> [...]
> 
>>that pipe is attached to:
>>nautilus  25841    craig   21r  FIFO        0,7             8476683 pipe
>>nautilus  25841    craig   22w  FIFO        0,7             8476683 pipe
> 
> 
> So...you say that 25841 is "not doing anything"? Is it doing a different
> type of "nothing" to all the other children of 25840?

Yes. When attaching strace to the other threads/processes, I get 
absolutely no output. This may be normal for threads; I really don't know.

> I don't know if
> I've understood the situation correctly, but is the parent waiting for
> I/O from its child?

I /suspect/ it's just a pipe used for parent/child communications.

> If so, I would wonder what is wrong with the child.
> Does the parent "free up" when you kill the child? (I guess this will be
> your last resort.)

The parent looks like it's just monitoring things - when the child dies, 
it dies shortly afterwards.

To be honest, I'm now suspecting at least the possiblity of a 
kernel/glibc issue (threading related?) as I've been able to spot this 
in konqueror (KDE 3.3) as well. Disabling fam had no effect. Most 
threaded apps on this machine work well (Mozilla, Evolution, etc) though.

Anyway, it's time for some upgrades and then I'll see what happens.

--
Craig Ringer




More information about the plug mailing list