* nntp hangs
@ 2012-03-01 8:04 Katsumi Yamaoka
2012-03-01 14:39 ` Tassilo Horn
0 siblings, 1 reply; 7+ messages in thread
From: Katsumi Yamaoka @ 2012-03-01 8:04 UTC (permalink / raw)
To: ding
Hi,
I frequently meet with Ma Gnus hanging up on news reading on
the nntp servers that go timeout in a minute. The typical one
is news.gmane.org. Several minutes after quitting reading
a group, it happens when I type `M-g' to check new articles in
the group. At that time the echo area shows
Opening nntp server on gmane...done
but Emacs gets to hang up. `C-g' and to retype `M-g' immediately
will help. By turning `debug-on-quit' on, the following bt is
gotten when typing `C-g':
Debugger entered--Lisp error: (quit)
signal(quit nil)
[...]
nntp-with-open-group-function (nil "gmane" nil -BODYFUN)
(nntp-with-open-group nil server (when (nntp-send-command "^[245].*\n" "GRO
nntp-request-group("gmane.emacs.diffs" "gmane" nil ("nntp+gmane:gmane.emac
gnus-activate-group("nntp+gmane:gmane.emacs.diffs" scan nil (nntp "gmane"
gnus-group-get-new-news-this-group(nil)
call-interactively(gnus-group-get-new-news-this-group nil nil)
Where -BODYFUN is as follows:
(lambda nil
(when (nntp-send-command "^[245].*\n" "GROUP" group)
(let ((entry (nntp-find-connection-entry nntp-server-buffer)))
(setcar (cddr entry) group))))
Though I haven't found the cause yet, I guess Gnus tries to send
the GROUP command to the server, to which the connection has
been closed any longer by the server. IIRC, that didn't happen
till recently.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nntp hangs
2012-03-01 8:04 nntp hangs Katsumi Yamaoka
@ 2012-03-01 14:39 ` Tassilo Horn
2012-03-02 17:05 ` Ted Zlatanov
0 siblings, 1 reply; 7+ messages in thread
From: Tassilo Horn @ 2012-03-01 14:39 UTC (permalink / raw)
To: Katsumi Yamaoka; +Cc: ding
Katsumi Yamaoka <yamaoka@jpl.org> writes:
Hi!
> I frequently meet with Ma Gnus hanging up on news reading on
> the nntp servers that go timeout in a minute. The typical one
> is news.gmane.org. Several minutes after quitting reading
> a group, it happens when I type `M-g' to check new articles in
> the group.
Oh, I'm not alone.
> At that time the echo area shows
>
> Opening nntp server on gmane...done
I first suspected that imap is the cause, because for me the hang
happens always when the echo area shows
nnimap read 71k from mail.uni-koblenz.de
where the number and the server differs from time to time. But it's
always imap...
Nevertheless, when I enable debug-on-quit and hit C-g during a hang, I
get the same backtrace as Katsumi.
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (quit)
signal(quit nil)
byte-code(...)
byte-code(...)
nntp-with-open-group-function(...)
nntp-finish-retrieve-group-infos("Eclipse" (("nntp+Eclipse:eclipse.platform" 3 ((1 . 87665)) ((seen (87239 . 87463) (87500 . 87665))) "nntp:Eclipse") ("nntp+Eclipse:eclipse.tools.emf" 3 ((1 . 57496)) ((seen (52299 . 53329) (53331 . 53344) (53346 . 55520) (55522 . 55616) (55618 . 55875) (55877 . 57349) (57351 . 57496)) (reply 57415 57417 57419)) "nntp:Eclipse")) 2)
gnus-finish-retrieve-group-infos((nntp "Eclipse" (nntp-address "news.eclipse.org")) (("nntp+Eclipse:eclipse.platform" 3 ((1 . 87665)) ((seen (87239 . 87463) (87500 . 87665))) "nntp:Eclipse") ("nntp+Eclipse:eclipse.tools.emf" 3 ((1 . 57496)) ((seen (52299 . 53329) (53331 . 53344) (53346 . 55520) (55522 . 55616) (55618 . 55875) (55877 . 57349) (57351 . 57496)) (reply 57415 57417 57419)) "nntp:Eclipse")) 2)
gnus-read-active-for-groups((nntp "Eclipse" (nntp-address "news.eclipse.org")) (("nntp+Eclipse:eclipse.platform" 3 ((1 . 87665)) ((seen (87239 . 87463) (87500 . 87665))) "nntp:Eclipse") ("nntp+Eclipse:eclipse.tools.emf" 3 ((1 . 57496)) ((seen (52299 . 53329) (53331 . 53344) (53346 . 55520) (55522 . 55616) (55618 . 55875) (55877 . 57349) (57351 . 57496)) (reply 57415 57417 57419)) "nntp:Eclipse")) 2)
gnus-get-unread-articles(nil nil nil)
gnus-group-get-new-news(nil)
call-interactively(gnus-group-get-new-news nil nil)
--8<---------------cut here---------------end--------------->8---
Bye,
Tassilo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nntp hangs
2012-03-01 14:39 ` Tassilo Horn
@ 2012-03-02 17:05 ` Ted Zlatanov
2012-03-05 11:10 ` Katsumi Yamaoka
0 siblings, 1 reply; 7+ messages in thread
From: Ted Zlatanov @ 2012-03-02 17:05 UTC (permalink / raw)
To: ding
On Thu, 01 Mar 2012 15:39:38 +0100 Tassilo Horn <tassilo@member.fsf.org> wrote:
TH> Katsumi Yamaoka <yamaoka@jpl.org> writes:
>> I frequently meet with Ma Gnus hanging up on news reading on
>> the nntp servers that go timeout in a minute. The typical one
>> is news.gmane.org. Several minutes after quitting reading
>> a group, it happens when I type `M-g' to check new articles in
>> the group.
TH> Oh, I'm not alone.
I posted about my experience at
http://permalink.gmane.org/gmane.emacs.gnus.general/81471
Like I said there, I thought setting the heartbeat parameter would work
but it doesn't seem to. So maybe it's a Gnus bug?
Ted
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nntp hangs
2012-03-02 17:05 ` Ted Zlatanov
@ 2012-03-05 11:10 ` Katsumi Yamaoka
2012-03-05 18:51 ` Joseph Gay
0 siblings, 1 reply; 7+ messages in thread
From: Katsumi Yamaoka @ 2012-03-05 11:10 UTC (permalink / raw)
To: ding
Ted Zlatanov <tzz@lifelogs.com> wrote:
[...]
> I posted about my experience at
> http://permalink.gmane.org/gmane.emacs.gnus.general/81471
> Like I said there, I thought setting the heartbeat parameter would work
> but it doesn't seem to. So maybe it's a Gnus bug?
Or a TCP-keepalive bug? I tried commenting out that section in
nntp.el. So far Gnus doesn't seem to hang up...
I suspect Emacs may keep thinking the nntp connection is alive,
i.e. `process-status' returns `open', even if the remote news
server disconnects it unilaterally.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nntp hangs
2012-03-05 11:10 ` Katsumi Yamaoka
@ 2012-03-05 18:51 ` Joseph Gay
2012-03-06 8:09 ` Katsumi Yamaoka
0 siblings, 1 reply; 7+ messages in thread
From: Joseph Gay @ 2012-03-05 18:51 UTC (permalink / raw)
To: ding
Katsumi Yamaoka <yamaoka@jpl.org> writes:
>> Like I said there, I thought setting the heartbeat parameter would work
>> but it doesn't seem to. So maybe it's a Gnus bug?
>
> Or a TCP-keepalive bug? I tried commenting out that section in
> nntp.el. So far Gnus doesn't seem to hang up...
> I suspect Emacs may keep thinking the nntp connection is alive,
> i.e. `process-status' returns `open', even if the remote news
> server disconnects it unilaterally.
This does seem plausible as I've just experienced what appears to be the
same bug on an ssh connection through TRAMP. The strace reveals a select
read poll loop where read always returns EAGAIN.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nntp hangs
2012-03-05 18:51 ` Joseph Gay
@ 2012-03-06 8:09 ` Katsumi Yamaoka
2012-03-10 0:37 ` Lars Magne Ingebrigtsen
0 siblings, 1 reply; 7+ messages in thread
From: Katsumi Yamaoka @ 2012-03-06 8:09 UTC (permalink / raw)
To: ding
Joseph Gay wrote:
> Katsumi Yamaoka <yamaoka@jpl.org> writes:
>>> Like I said there, I thought setting the heartbeat parameter would work
>>> but it doesn't seem to. So maybe it's a Gnus bug?
>> Or a TCP-keepalive bug? I tried commenting out that section in
>> nntp.el. So far Gnus doesn't seem to hang up...
I still have met with hanging up for a couple of times, so TCP-
keepalive is probably not the cause. As I wrote first, Gnus loops
in `nntp-with-open-group-function' at that time. It must mean that
`process-status' said, just before it, that the nntp connection is
open. In the echo area the "Opening nntp server on SERVER...done"
message is shown and is not shown.
>> I suspect Emacs may keep thinking the nntp connection is alive,
>> i.e. `process-status' returns `open', even if the remote news
>> server disconnects it unilaterally.
A workaround for this problem may be:
- Run `nntp-with-open-group-function' with a timer.
- Kill and reopen the connection when a specified time is up.
> This does seem plausible as I've just experienced what appears to be the
> same bug on an ssh connection through TRAMP. The strace reveals a select
> read poll loop where read always returns EAGAIN.
So, it's an Emacs bug? I'm going to try it with XEmacs.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nntp hangs
2012-03-06 8:09 ` Katsumi Yamaoka
@ 2012-03-10 0:37 ` Lars Magne Ingebrigtsen
0 siblings, 0 replies; 7+ messages in thread
From: Lars Magne Ingebrigtsen @ 2012-03-10 0:37 UTC (permalink / raw)
To: Katsumi Yamaoka; +Cc: ding
Katsumi Yamaoka <yamaoka@jpl.org> writes:
> I still have met with hanging up for a couple of times, so TCP-
> keepalive is probably not the cause. As I wrote first, Gnus loops
> in `nntp-with-open-group-function' at that time. It must mean that
> `process-status' said, just before it, that the nntp connection is
> open. In the echo area the "Opening nntp server on SERVER...done"
> message is shown and is not shown.
nntp should check that the connection is alive every time through the
loop, but perhaps it doesn't do that?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-03-10 0:37 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-01 8:04 nntp hangs Katsumi Yamaoka
2012-03-01 14:39 ` Tassilo Horn
2012-03-02 17:05 ` Ted Zlatanov
2012-03-05 11:10 ` Katsumi Yamaoka
2012-03-05 18:51 ` Joseph Gay
2012-03-06 8:09 ` Katsumi Yamaoka
2012-03-10 0:37 ` Lars Magne Ingebrigtsen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).