doveadm search error

Aki Tuomi aki.tuomi at open-xchange.com
Fri May 20 05:01:14 UTC 2022


Hi!

This is an unfortunate regression in 2.3.19, which has already been fixed. See https://github.com/dovecot/core/commit/30e69471792aec818dbbfa64adb868db14a6d8e2.patch

It will be part of next release.

Aki

> On 19/05/2022 23:33 Christoph Fürstaller <christoph at fuerstaller.com> wrote:
> 
>  
> Hello,
> 
> I've upgraded dovecote to 2.3.19 (b3ad6004dc) a week ago. Since then I
> get an error when searching for messages from all users in a particular
> folder:
> 
> doveadm search -A mailbox 'INBOX.learn'
> Error: auth-master: userdb list: Disconnected unexpectedly
> doveadm: Error: Failed to iterate through some users
> 
> This is in the logs:
> dovecot: auth: Panic: file userdb-blocking.c: line 124
> (userdb_blocking_iter_next): assertion failed: (ctx->conn != NULL)
> dovecot: auth: Error: Raw backtrace:
> /usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x41) [0x7f1c12675c91]
> -> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x22) [0x7f1c12675db2]
> -> /usr/lib/dovecot/libdovecot.so.0(+0x10b0bb) [0x7f1c126830bb] ->
> /usr/lib/dovecot/libdovecot.so.0(+0x10b157) [0x7f1c12683157] ->
> /usr/lib/dovecot/libdovecot.so.0(+0x5d375) [0x7f1c125d5375] ->
> dovecot/auth [0 wait, 0 passdb, 0 userdb](+0x157a7) [0x55e0278287a7] ->
> dovecot/auth [0 wait, 0 passdb, 0 userdb](+0x1954b) [0x55e02782c54b] ->
> dovecot/auth [0 wait, 0 passdb, 0 userdb](+0x36ca7) [0x55e027849ca7] ->
> dovecot/auth [0 wait, 0 passdb, 0 userdb](+0x2ab86) [0x55e02783db86] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handle_timeouts+0x15f)
> [0x7f1c1269976f] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xcf)
> [0x7f1c1269b02f] ->
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x54)
> [0x7f1c12699a54] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40)
> [0x7f1c12699bc0] ->
> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x17)
> [0x7f1c1260b207] -> dovecot/auth [0 wait, 0 passdb, 0
> userdb](main+0x3c8) [0x55e027829588] ->
> /lib/x86_64-linux-gnu/libc.so.6(+0x29fd0) [0x7f1c122cbfd0] ->
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x7d) [0x7f1c122cc07d]
> -> dovecot/auth [0 wait, 0 passdb, 0 userdb](_start+0x2e) [0x55e02782976e]
> dovecot: auth: Fatal: master: service(auth): child 19452 killed with
> signal 6 (core dumped)
> 
> I've system users from passwd and users from a passwd-file:
> userdb {
>   driver = passwd
> }
> userdb {
>   args = username_format=%u /etc/dovecot/users
>   driver = passwd-file
> }
> 
> If I disable the passwd-file, a search works fine, but not with both
> user backends.
> 
> This worked fine with version 2.3.18.
> 
> Someone discovered this behavior too?
> 
> This is my config:
> # 2.3.19 (b3ad6004dc): /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.5.19 (4eae2f79)
> # OS: Linux 5.13.0-41-generic x86_64 Ubuntu 21.10
> auth_mechanisms = plain login
> auth_username_format = %n
> default_vsz_limit = 2 G
> mail_location = maildir:~/Maildir
> mail_privileged_group = mail
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope
> encoded-character vacation subaddress comparator-i;ascii-numeric
> relational regex imap4flags copy include variables body enotify
> environment mailbox date index ihave duplicate mime foreverypart extracttext
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Drafts {
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     special_use = \Junk
>   }
>   mailbox Sent {
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     special_use = \Sent
>   }
>   mailbox Trash {
>     special_use = \Trash
>   }
>   prefix = INBOX.
>   separator = .
> }
> passdb {
>   driver = pam
> }
> passdb {
>   args = scheme=ARGON2I username_format=%u /etc/dovecot/users
>   driver = passwd-file
> }
> plugin {
>   sieve = file:~/sieve;active=~/.dovecot.sieve
>   sieve_before = /var/mail/moveSpam.sieve
> }
> protocols = imap lmtp sieve
> service auth {
>   unix_listener /var/spool/postfix/private/auth {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> service imap-login {
>   inet_listener imap {
>     port = 0
>   }
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = postfix
>     mode = 0600
>     user = postfix
>   }
> }
> service managesieve-login {
>   inet_listener sieve {
>     port = 4190
>   }
> }
> ssl = required
> ssl_cert = </etc/letsencrypt/live/mailserver/fullchain.pem
> ssl_client_ca_dir = /etc/ssl/certs
> ssl_dh = # hidden, use -P to show it
> ssl_key = # hidden, use -P to show it
> ssl_prefer_server_ciphers = yes
> userdb {
>   driver = passwd
> }
> userdb {
>   args = username_format=%u /etc/dovecot/users
>   driver = passwd-file
> }
> verbose_proctitle = yes
> protocol lmtp {
>   mail_plugins = " sieve"
> }
> protocol lda {
>   mail_plugins = " sieve"
> }
> protocol imap {
>   mail_max_userip_connections = 30
> }
> 
> Best regards,
> Christoph


More information about the dovecot mailing list