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

* Re: Gnus stuck in nnimap-wait-for-response with local dovecot
  2021-09-03 10:18 Gnus stuck in nnimap-wait-for-response with local dovecot Christoph Groth
@ 2021-09-03 20:02 ` Eric Abrahamsen
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Abrahamsen @ 2021-09-03 20:02 UTC (permalink / raw)
  To: Christoph Groth; +Cc: info-gnus-english

Christoph Groth <christoph@grothesque.org> writes:

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

I can't really guess why this would be happening. The call to
`nnimap-request-scan' should be setting everything up properly, so far
as I know. Perhaps someone else will have some better tips for
debugging. My only other suggestion would be switching to dovecot as an
always-on system service, and then switching Gnus to using "localhost"
as the IMAP server address. It seems entirely plausible that that will
improve things.


^ 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

Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.vuxu.org/info-gnus-english

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 info-gnus-english info-gnus-english/ https://inbox.vuxu.org/info-gnus-english \
		info-gnus-english@inbox.vuxu.org
	public-inbox-index info-gnus-english

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.emacs.gnus.user


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git