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: Thu, 21 Jan 2021 15:50:51 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

On 01/18/21 13:07 PM, Greg Klanderman wrote:
> Hi Eric,
>
> Thank you for your reply and sorry for the delay getting back to you..
>
> I ended up spending a lot of time looking into nnmaildir issues the
> last few weeks after switching to it, and have now decided that nnml
> is probably the better choice despite some warnings below here
>
> https://www.gnu.org/software/emacs/manual/html_node/gnus/Choosing-a-Mail-Back-End.html
>
> and will probably be trying that next.
>
>>>>>> On January 8, 2021 Eric Abrahamsen <eric@ericabrahamsen.net> wrote:
>
>> Welcome back!
>
> thank you!
>
>>> 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?
>
> Almost; because the nnmaildir is a string name.
>
>> I'm not sure. Can you show your complete config for
>> `gnus-secondary-select-methods'?
>
> Yes, sorry I should have been more clear; the bug occurs when
>
> gnus-secondary-select-methods is '("mail" (nnfolder ""))
>
> and "mail" is defined in the server buffer as
>
> (nnmaildir "mail"
>            (directory "~/Gnus/mail")
>            (get-new-mail t))
>
> When the order is swapped, the bug is avoided.
>
> With "mail" appearing first, when looking up an info belonging to the
> nnfolder, it hits the code cited, and barfs on caar and cadar of
> servers (the car of servers is "mail").
>
>> I don't think you're supposed to be able to define a server as a
>> plain string.
>
> According to
>
> https://www.gnu.org/software/emacs/manual/html_node/gnus/Servers-and-Methods.html
>
> not only can you use virtual server names (strings) "wherever you
> would normally use a select method", it explicitly states you can do
> so in 'gnus-secondary-select-method' (presumably a typo that the final
> 's' is missing).
>
> So based on that alone, any code which loops over
> gnus-secondary-select-methods taking car/cdr of elements is highly
> suspicious.  The additional information I gave just demonstrated one
> way to reach this problematic logic.

I still can't believe this is the way it's supposed to be used. The code
snippet you posted (where the error actually arises) has been that way
since The Dawn of Time. I also don't see why you _would_ define a server
via the *Server* buffer, and then put it again in
`gnus-secondary-select-methods'. Generally you define servers either in
one place or the other -- if you've done it with "a" in the *Server*
buffer, there's no need for it to appear in your config files, too.

>> I have left your other asides aside!
>
> No problem.. probably best to post those separately once I find the
> right forum.
>
>> While this is a fine place to raise general Gnus questions/issues
>> (the gnus.general group would be another option),
>
> I think you mean 'gmane.emacs.gnus.general'?  It is hard to tell what
> information on
>
> https://www.gnu.org/software/emacs/manual/html_node/gnus/Gnus-Development.html
>
> and 
>
> https://www.gnus.org/resources.html
>
> is up-to-date; some links are clearly dead.
>
> Is that newsgroup still bi-directionally gatewayed with ding@gnus.org?

Yes, sorry, I did mean gmane.emacs.gnus.general, and yes that's still
gatewayed to ding@gnus.org. So far as I know there's just
gmane.emacs.gnus.general and gmane.emacs.gnus.user. I don't think
there's any real difference anymore (probably "general" used to be more
for development?) but you do get different people responding in the
different groups.

> Is there any way to browse archives on the web?

There used to be, but I think no more, since gmane moved servers.

> I hadn't known the whole history of gmane or even that it was Lars'
> project, sorry to hear of all the trouble that caused him, though I
> got side-tracked for some time reading a bunch of his blog and was
> reminded how enjoyable his writing is..
>
>> 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.
>
> The only reference I could find to reporting bugs is bugs@gnus.org; is
> that current?  Is there really no web-based bug tracking system?

Generally we report bugs from within Emacs, using M-x report-emacs-bug.
You can see them online here:

https://debbugs.gnu.org/cgi/pkgreport.cgi?package=emacs

Yours,
Eric



reply via email to

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