emacs-devel
[Top][All Lists]
Advanced

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

Re: gnus-server-to-method crash on virtual server name in gnus-secondary


From: Eric Abrahamsen
Subject: Re: gnus-server-to-method crash on virtual server name in gnus-secondary-select-methods
Date: Fri, 08 Jan 2021 10:28:52 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Greg Klanderman <gak@klanderman.net> writes:

> Hi, hopefully this is the correct list for reporting Gnus problems
> these days; I see there is also info-gnus-english@ but it doesn't look
> terribly active.
>
> Not subscribed so please include me in replies.
>
> I'm a long time Gnus user since early/mid 90's, and was fairly active
> reporting problems back then (still listed in 'Contributors'!).

Welcome back!

> I have recently transitioned my email from nnfolder to nnmaildir as I
> ran up against 1Gb group file size limit (still on XEmacs 21.4 and
> Gnus 5.10.8).
>

[...]

> Anyway, in the process of this transition, I found that when I put my
> new nnmaildir server, named "mail" before '(nnfolder "") in
> gnus-secondary-select-methods, it crashes on startup in
> gnus-server-to-method. Since that code looks the same in emacs 21.7 /
> Gnus 5.13 it seemed warranted to report the issue.
>
> In detail: I still have some legacy nnfolder groups (old groups that
> are no longer delivered to). On startup, gnus-read-active-file loops
> over gnus-secondary-select-methods, and when the nnfolder appears
> second, Gnus has not yet opened the nnfolder server when
> gnus-read-active-file-1 is (first) called with the nnmaildir and loops
> over infos, calling gnus-find-method-for-group, in turn calling
> gnus-server-to-method for one of the nnfolder groups
> (gnus-server-to-method is called with "nnfolder:").
>
> In that function, this code (unchanged in 5.13 / Debian testing emacs-gtk):
>
>;; It could be a named method, search all servers
>     (let ((servers gnus-secondary-select-methods))
>       (while (and servers
>                   (not (equal server (format "%s:%s" (caar servers)
>                                              (cadar servers)))))
>         (pop servers))
>       (car servers))
>
> is not handling the fact that gnus-secondary-select-methods may
> contain virtual server name strings (only handling select methods,
> assuming it can take car/cdr of elements).

Okay, I'm not 100% parsing the above. I think I understand the
fundamental issue: on startup, when Gnus is looping over all infos and
categorizing them by select method, it barfs somehow when checking if an
info belongs to your nnfolder server, because it somehow can't look up
the server. Because... it's a string name, not a (list) method? I'm not
sure. Can you show your complete config for
`gnus-secondary-select-methods'? I don't think you're supposed to be
able to define a server as a plain string.

I have left your other asides aside! While this is a fine place to raise
general Gnus questions/issues (the gnus.general group would be another
option), if you have a very specific problem or feature request you'd
like to make, I would recommend just opening a bug report. Lars is
watching those pretty closely.

Also, upgrade your Emacs :)

Eric



reply via email to

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