doveadm search error

Christoph Fürstaller christoph at fuerstaller.com
Thu May 19 20:33:13 UTC 2022


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