info-gnus-english
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gnus stuck in select/gettimeofday loop


From: Kim F. Storm
Subject: Re: Gnus stuck in select/gettimeofday loop
Date: Mon, 13 Mar 2006 10:52:14 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Romain Francoise <romain@orebokech.com> writes:

>> Actually, I have seen this too occasionally with CVS Emacs.
>
> Do you use article prefetching?[1]

No.

> I had never managed to reproduce this bug after seeing it reported a few
> times, and after enabling prefetching a few days ago suddenly I keep
> running into it...  And I can confirm that C-g has absolutely no effect
> when it happens.
>
> The backtrace looks like the following:
>
> #0  0xffffe410 in __kernel_vsyscall ()
> #1  0xa7756d6d in select () from /lib/tls/i686/cmov/libc.so.6
> #2  0x081ee002 in wait_reading_process_output (time_limit=0, microsecs=100, 
>     read_kbd=0, do_display=0, wait_for_cell=137976009, wait_proc=0x92b2190, 
>     just_wait_proc=0) at process.c:4496
> #3  0x081eceef in Faccept_process_output (process=153821588, timeout=0, 
>     timeout_msecs=800, just_this_one=137976009) at process.c:3895
> #4  0x081ac24c in Ffuncall (nargs=4, args=0xafa6f860) at eval.c:2889
> #5  0x081e4608 in Fbyte_code (bytestr=151252459, vector=151256380, 
> maxdepth=56)
>     at bytecode.c:694
> [...]
>
> (I'm not sure if there is really a bug, or if it's just a manifestation
> of the flakiness of my nntp server.)
>
>> In all cases it seems like it is stuck (or just dead slow) reading the
>> active file from the news server.
>
> Do you think it could be related to adaptive read buffering?

I don't know...

In the original report, select is called with a timeout value of 30
and 31 usecs, which is quite odd.

select(8, [3 5 6 7], NULL, NULL, {0, 30}) = 0 (Timeout) <0.000640>
select(8, [3 5 6 7], NULL, NULL, {0, 31}) = 0 (Timeout) <0.000641>

Adaptive read buffering uses usec values of 10000 - 70000 and the call
to accept-process-output in nnheader-accept-process-output has a timeout
of 100 msec corresponding to 100000 usecs.

So why is select called with such short timeout values?

I don't have time right now to look into this, so if someone else
would take a look, I would appreciate it.

Anyone want analyze this further?

-- 
Kim F. Storm  http://www.cua.dk


reply via email to

[Prev in Thread] Current Thread [Next in Thread]