Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
* Gnus stuck in nnimap-wait-for-response with local dovecot
@ 2021-09-03 10:18 Christoph Groth
  2021-09-03 20:02 ` Eric Abrahamsen
  0 siblings, 1 reply; 2+ messages in thread
From: Christoph Groth @ 2021-09-03 10:18 UTC (permalink / raw)
  To: info-gnus-english

[-- Attachment #1: Type: text/plain, Size: 2523 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-09-03 20:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-03 10:18 Gnus stuck in nnimap-wait-for-response with local dovecot Christoph Groth
2021-09-03 20:02 ` Eric Abrahamsen

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).