[Dovecot] dsync crash

Pavel Volkovitskiy olfway at symlink.ru
Mon Jan 17 16:18:23 EET 2011


Hello!

I'm converting mailboxes from maildirs to mdbox and dsync crashes on two
of them

/var/mail-nfs-1 - nfs mount
/var/mail-nfs-indexes - local fs

/usr/bin/dsync -f -u user at site.ru mirror
mdbox:/var/mail-nfs-1/mail/site.ru/user/mail:INDEX=/var/mail-nfs-indexes/site.ru/user
dsync(user at site.ru): Panic: file istream-limit.c: line 79
(i_stream_limit_seek): assertion failed: (v_offset <= lstream->v_size)

gdb bt:

#0  0xb7fe1424 in ?? ()
#1  0xb7d66e42 in abort () from /lib/libc.so.6
#2  0xb7ee6f55 in default_fatal_finish (type=<value optimized out>,
status=<value optimized out>) at failures.c:187
#3  0xb7ee7057 in default_fatal_handler (ctx=0xbfffef84,
format=0xb7f08c78 "file %s: line %d (%s): assertion failed: (%s)",
args=0xbfffefa4 "\312\361\360\267O")
    at failures.c:201
#4  0xb7ebd79a in i_panic (format=0xb7f08c78 "file %s: line %d (%s):
assertion failed: (%s)") at failures.c:259
#5  0xb7ef1159 in i_stream_limit_seek (stream=0x82277e8,
v_offset=25769827482, mark=false) at istream-limit.c:79
#6  0xb7eede77 in i_stream_skip (stream=0x8227818, count=197) at
istream.c:202
#7  0xb7eedf07 in i_stream_seek (stream=0x8227818, v_offset=5630) at
istream.c:224
#8  0xb7f93c1f in dbox_attachment_file_get_stream_from (file=0x81ef248,
stream=0xbffff10c) at dbox-attachment.c:168
#9  dbox_attachment_file_get_stream (file=0x81ef248, stream=0xbffff10c)
at dbox-attachment.c:223
#10 0xb7f96a79 in get_mail_stream (_mail=0x81993a8, hdr_size=0x0,
body_size=0x0, stream_r=0xbffff17c) at dbox-mail.c:234
#11 dbox_mail_get_stream (_mail=0x81993a8, hdr_size=0x0, body_size=0x0,
stream_r=0xbffff17c) at dbox-mail.c:253
#12 0xb7f3d4f7 in mail_get_stream (mail=0x0, hdr_size=0x0,
body_size=0x0, stream_r=0xbffff17c) at mail.c:179
#13 0xb7d1a66a in zlib_mail_save_finish (ctx=0x81d3ee8) at
zlib-plugin.c:253
#14 0xb7f43438 in mailbox_save_finish (_ctx=0x808edf0) at
mail-storage.c:1410
#15 0x08056898 in local_worker_save_msg_continue (worker=0x808ed08) at
dsync-worker-local.c:1670
#16 0x08056a37 in local_worker_msg_save (_worker=0x808ed08,
msg=0x80ee6c8, data=0xbffff350, callback=0x8050b80 <msg_save_callback>,
context=0x80b2c60)
    at dsync-worker-local.c:1729
#17 0x08055dea in dsync_worker_msg_save (worker=0x808ed08,
msg=0x80ee6c8, data=0xbffff350, callback=0x8050b80 <msg_save_callback>,
context=0x80b2c60)
    at dsync-worker.c:234
#18 0x08050c69 in msg_get_callback (result=DSYNC_MSG_GET_RESULT_SUCCESS,
data=0xbffff350, context=0x80b2c60) at dsync-brain-msgs-new.c:78
#19 0x080563a1 in local_worker_msg_get_next (worker=0x80832d0,
get=0xbffff394) at dsync-worker-local.c:1825
#20 0x080565ed in local_worker_msg_get (_worker=0x0, mailbox=0x80d6ba1,
uid=15, callback=0x8050bd0 <msg_get_callback>, context=0x5c9a) at
dsync-worker-local.c:1846
#21 0x08055a09 in dsync_worker_msg_get (worker=0x80832d0,
mailbox=0x80d6ba1, uid=15, callback=0x8050bd0 <msg_get_callback>,
context=0x80b2c60) at dsync-worker.c:261
#22 0x08050a31 in dsync_brain_msg_sync_add_new_msg (iter=0x80d6ce0) at
dsync-brain-msgs-new.c:180
#23 dsync_brain_mailbox_add_new_msgs (iter=0x80d6ce0) at
dsync-brain-msgs-new.c:210
#24 dsync_brain_msg_sync_add_new_msgs (iter=0x80d6ce0) at
dsync-brain-msgs-new.c:309
#25 0x0805023f in dsync_brain_msg_sync_more (sync=0x80d6a48) at
dsync-brain-msgs.c:430
#26 0x0804eb60 in dsync_brain_sync_msgs (brain=0x8092140) at
dsync-brain.c:726
#27 dsync_brain_sync (brain=0x8092140) at dsync-brain.c:847
#28 0x0804f970 in dsync_brain_subs_list_finished (context=0x80c62b8) at
dsync-brain.c:170
#29 dsync_worker_subs_input (context=0x80c62b8) at dsync-brain.c:223
#30 0x0804ee97 in dsync_brain_sync (brain=0x8092140) at
dsync-brain.c:832
#31 0x0804f7f8 in dsync_brain_mailbox_list_finished (context=0x8098d20)
at dsync-brain.c:99
#32 dsync_worker_mailbox_input (context=0x8098d20) at dsync-brain.c:126
#33 0x0804ecf5 in dsync_brain_sync (brain=0x8092140) at
dsync-brain.c:823
#34 0x0804f698 in dsync_brain_sync_all (brain=0x8092140) at
dsync-brain.c:887
#35 0x0804db76 in main (argc=6, argv=0x80651c0) at dsync.c:303


doveconf -n:

# 2.0.9 (d8179b523116): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.35-24-generic-pae i686 Ubuntu 10.10 
auth_default_realm = mtx.ru
auth_mechanisms = plain login digest-md5 cram-md5 apop ntlm
auth_realms = mtx.ru
disable_plaintext_auth = no
first_valid_uid = 1
info_log_path = /var/log/dovecot/dovecot-main.log
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
log_path = /var/log/dovecot/dovecot-main-errors.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_greeting = Server ready.
mail_attachment_dir = /var/mail-nfs-1/mail/attachments
mail_attachment_min_size = 16 k
mail_fsync = never
mail_location = maildir:%Lh:INDEX=/var/mail-indexes/%Ld/%Ln
mail_plugins = " lazy_expunge 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
mdbox_rotate_size = 32 M
mmap_disable = yes
namespace {
  inbox = yes
  location = 
  prefix = 
  separator = /
  type = private
}
namespace {
  hidden = yes
  list = no
  location = mdbox:/var/mail-nfs-1/mail-backup/%Ld/%Ln
  prefix = .EXPUNGED/
  separator = /
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-mysql.conf
  driver = sql
}
plugin {
  lazy_expunge = .EXPUNGED/
  lda_mailbox_autocreate = yes
  lda_mailbox_autosubscribe = yes
  quota = maildir
  quota_rule = *:storage=0
  sieve = ~/dovecot.sieve
  sieve_global_path = /etc/dovecot/scripts/dovecot.sieve
  sieve_storage = /var/mail/%d/%n/sieve
}
protocols = imap pop3 sieve
service anvil {
  unix_listener anvil {
    group = mail
    mode = 0660
    user = root
  }
}
service auth {
  unix_listener auth-client {
    mode = 0666
  }
  unix_listener auth-master {
    group = mail
    mode = 0660
    user = Debian-exim
  }
  unix_listener auth-userdb {
    group = mail
    mode = 0660
    user = root
  }
  user = root
}
service imap-login {
  process_limit = 256
  process_min_avail = 5
}
service imap {
  executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap
  process_limit = 1024
}
service managesieve-login {
  process_limit = 256
  process_min_avail = 5
}
service managesieve {
  process_limit = 1024
}
service pop3-login {
  process_limit = 256
  process_min_avail = 5
}
service pop3 {
  process_limit = 1024
}
ssl_cert = </etc/ssl/certs/mail.mtx.ru.crt
ssl_key = </etc/ssl/private/mail.mtx.ru.key
userdb {
  args = username_format=%n /var/mail/userdb/userdb-%Ld
  driver = passwd-file
}
userdb {
  args = uid=8 gid=8 home=/var/mail/%d/%n
  driver = static
}
verbose_proctitle = yes
protocol lda {
  debug_log_path = /var/log/dovecot/dovecot-lda-debug.log
  info_log_path = /var/log/dovecot/dovecot-lda.log
  log_path = /var/log/dovecot/dovecot-lda-errors.log
  mail_debug = no
  mail_plugins = " lazy_expunge zlib sieve"
}
protocol imap {
  imap_capability = +NAMESPACE
}

-- 
Pavel


More information about the dovecot mailing list