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

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

Gnus stuck in nnimap-wait-for-response with local dovecot


From: Christoph Groth
Subject: Gnus stuck in nnimap-wait-for-response with local dovecot
Date: Fri, 03 Sep 2021 12:18:02 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Hello,

I’m still using a mail setup that involves Gnus with nnimap and a local
dovecot that is run on demand.  I sync mail between the local maildir
(that is used by dovecot when it runs) and remote IMAP servers using
isync/mbsync.

I learned about this setup from Eric Abrahamsen on the ding mailing list
in the old days.  I believe that the original presentation of the idea
was this blog post:

https://web.archive.org/web/20160427162529/http://roland.entierement.nu/blog/2010/09/08/gnus-dovecot-offlineimap-search-a-howto.html

On the Gnus side, the setup is based on setting nnimap-shell-program to

"/usr/lib/dovecot/imap -o mail_location=maildir:$HOME/.mail/%s/ 
2>>$HOME/.dovecot.err"

only that this happens inside a setup involving fancy splitting.  (This
way of using dovecot seems to be somewhat obscure, or at least
I haven’t been able to find much documentation about it.)

Anyway, my setup has been working like this for many years now, but
there’s a wart.  Whenever there is new mail and I launch M-x gnus, it
will typically freeze during startup and I have to abort with C-g and
retry.  After retrying one or two times Gnus does start and everything
seems to work normally.  The new mail is visible in Gnus.

Here is the kind of the backtrace that I can typically obtain in the
situation

Debugger entered: ("Quit")
  nnimap-wait-for-response(839)
  nnimap-get-groups()
  nnimap-split-incoming-mail()
  nnimap-request-scan(nil "cea")
  gnus-request-scan(nil (nnimap "xyz" (nnimap-stream shell) 
(nnimap-unsplittable-articles (%Deleted)) (nnimap-shell-program 
"/usr/lib/dovecot/imap -o mail_location=maildir:$HO...") (nnimap-split-methods 
(("blabla" "^list-id: .*<blabla\\.") ("mangled-own" my-mangled-own-p) ("\\1" 
"^Date: .* [a-z][a-z][a-z] +\\([12][0-9][0-9][0-9]\\)...") ("INBOX" ""))) 
(nnimap-inbox ("INBOX" "Sent Items"))))
  gnus-get-unread-articles(nil nil)
  gnus-setup-news(nil nil nil)
  #f(compiled-function () #<bytecode 0x15707aee41c5>)()
  gnus-1(nil nil nil)
  gnus(nil)
  funcall-interactively(gnus nil)
  call-interactively(gnus record nil)
  command-execute(gnus record)
  execute-extended-command(nil "gnus" "gnus")

Perhaps someone has an idea on how I could debug this further?  Or
perhaps there is a better setup to which I could switch?  Perhaps
I should consider
https://ericabrahamsen.net/tech/2014/oct/gnus-dovecot-lucene.html and do
away with notmuch and the hack that is needed to connect it to Gnus.

Cheers
Christoph

Attachment: signature.asc
Description: PGP signature


reply via email to

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