2.3.11.3: dsync failure

Alexander Tsoy alexander at tsoy.me
Sun Aug 16 00:53:24 EEST 2020


Hello!

dovecot 2.3.11.3 fails to backup/sync my mailbox. The mailbox is
currently in mdbox format and is (mostly) lz4-compressed. See the trace
below (I've added newlines to the output):

# doveadm -v backup -u username mdbox:/var/vmail/username_new/mdbox
dsync(username): Panic: file istream.c: line 332 (i_stream_read_memarea): assertion failed: (!stream->blocking)
dsync(username): Error: Raw backtrace:
 #0 default_fatal_finish[0x7f1179173b29] ->
 #1 fatal_handler_real[0x7f1179173be0] ->
 #2 default_fatal_handler[0x7f1179173c3d] ->
 #3 i_panic[0x7f1179173e27] ->
 #4 i_stream_read_memarea[0x7f1179187b29] ->
 #5 read_more[0x7f117919519b] ->
 #6 read_from_buffer[0x7f117919535a] ->
 #7 i_stream_seekable_read[0x7f117919582e] ->
 #8 i_stream_seekable_stat[0x7f1179195cdf] ->
 #9 i_stream_stat[0x7f1179188764] ->
 #10 i_stream_limit_stat[0x7f1179192380] ->
 #11 i_stream_stat[0x7f1179188764] ->
 #12 i_stream_default_stat[0x7f117918a0a3] ->
 #13 i_stream_default_get_size[0x7f117918a282] ->
 #14 i_stream_get_size[0x7f1179188811] ->
 #15 mdbox_save_begin[0x7f11792edb85] ->
 #16 zlib_mail_save_compress_begin[0x7f117891b2ad] ->
 #17 mailbox_save_begin[0x7f11792c8f22] ->
 #18 mail_storage_try_copy[0x7f11792b2443] ->
 #19 mail_storage_copy[0x7f11792b2604] ->
 #20 mdbox_copy[0x7f11792ee96f] ->
 #21 mailbox_copy_int[0x7f11792c9611] ->
 #22 mailbox_copy[0x7f11792c98c2] ->
 #23 dsync_mailbox_save_body[0x5629fd7936a5] ->
 #24 dsync_mailbox_save_newmails[0x5629fd793dc3] ->
 #25 dsync_mailbox_import_mail[0x5629fd793eb0] ->
 #26 dsync_brain_recv_mail[0x5629fd78b982] ->
 #27 dsync_brain_sync_mails[0x5629fd78bd79] ->
 #28 dsync_brain_run_real[0x5629fd78576c] ->
 #29 dsync_brain_run[0x5629fd7859a5] ->
 #30 cmd_dsync_run_local[0x5629fd75e8d3] ->
 #31 cmd_dsync_run[0x5629fd75f3a8] ->
 #32 doveadm_mail_next_user[0x5629fd762f81] ->
 #33 doveadm_mail_single_user[0x5629fd763311] ->
 #34 doveadm_mail_cmd_exec[0x5629fd763963] ->
 #35 doveadm_mail_cmd[0x5629fd763c22] ->
 #36 doveadm_mail_try_run[0x5629fd7641e1] ->
 #37 main[0x5629fd78051d] ->
 #38 __libc_start_main[0x7f1178d56c00] ->
 #39 _start[0x5629fd74cb20]
Aborted


Tried different output compression types: gz, xz, zstd. dovecot
2.3.10.1 doesn't seem to have such problem. But since I already have
some messages compressed with zstd, I would like to do migration using
2.3.11.x. Please let me know if I can provide any further information.

I'm not on the list, so please CC me on reply.


$ sudo dovecot -n
# 2.3.11.3 (502c39af9): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.11 (d71e0372)
# OS: Linux 5.4.58-gentoo x86_64 Gentoo Base System release 2.6 
# Hostname: xxxxxxxx.xx
auth_mechanisms = plain login
default_client_limit = 50
default_process_limit = 10
imap_idle_notify_interval = 29 mins
mail_fsync = always
mail_location = mdbox:~/mdbox
mail_plugins = " zlib"
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
mdbox_preallocate_space = yes
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 = 
  separator = /
  subscriptions = yes
}
passdb {
  args = scheme=CRYPT username_format=%n /etc/dovecot/users
  driver = passwd-file
}
plugin {
  sieve = file:~/sieve;active=~/.dovecot.sieve
  zlib_save = xz
  zlib_save_level = 9
}
protocols = imap lmtp
service auth-worker {
  user = $default_internal_user
}
service auth {
  unix_listener auth-client {
    mode = 0660
    user = mail
  }
  user = $default_internal_user
}
service imap-login {
  inet_listener imaps {
    port = 0
  }
}
ssl = required
ssl_cert = </etc/ssl/dovecot/server.crt
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
userdb {
  args = username_format=%n /etc/dovecot/users
  driver = passwd-file
}
protocol lmtp {
  mail_plugins = " zlib sieve"
}
protocol lda {
  mail_plugins = " zlib sieve"
}
local_name imap.xxxx.xx {
  ssl_cert = </etc/ssl/dovecot/imap.xxxx.xx.crt
  ssl_key = # hidden, use -P to show it
}
local_name imap.xxxxxxxx.xx {
  ssl_cert = </etc/ssl/dovecot/imap.xxxxxxxx.xx.crt
  ssl_key = # hidden, use -P to show it
}



More information about the dovecot mailing list