[Dovecot] v2.2 dsync
Walter Steiner
ws+dovecot at iai.uni-bonn.de
Thu Mar 14 12:05:29 EET 2013
On Wed, Feb 27, 2013 at 14:27:49 +0100, Walter Steiner wrote:
> > > 2) and without the acl plugin
> > ..
> > > Core was generated by `/m/sw/dc/a/bin/doveadm -Dv backup -R -u cyrtest1 at iai.uni-bonn.de -m INBOX imapc'.
> > > Program terminated with signal 11, Segmentation fault.
> > > [New process 94912 ]
> > > #0 0x00000000004578cc in dsync_ibc_send_mail_request (ibc=0x4a9f20, request=0x5441c0) at dsync-ibc.c:38
> > > 38 return ibc->v.is_send_queue_full(ibc) ?
> > > (gdb) bt full
> > > #0 0x00000000004578cc in dsync_ibc_send_mail_request (ibc=0x4a9f20, request=0x5441c0) at dsync-ibc.c:38
> > > __FUNCTION__ = "dsync_ibc_send_mail_request"
> > > #1 0x000000000044a6b1 in dsync_brain_send_mail_request (brain=0x4aa5e0) at dsync-brain-mails.c:25
> > > request = (const struct dsync_mail_request *) 0x5441c0
> > > __FUNCTION__ = "dsync_brain_send_mail_request"
> >
> > Now this is a strange one. Can you reproduce itIn gdb show also the
> > result of:
> >
> > p *ibc
>
> (gdb) p *ibc
> $1 = {v = {deinit = 0x45c5eb <dsync_ibc_pipe_deinit>, send_handshake = 0x45c753 <dsync_ibc_pipe_send_handshake>, recv_handshake = 0x45c804 <dsync_ibc_pipe_recv_handshake>,
> send_end_of_list = 0x45c8b6 <dsync_ibc_pipe_send_end_of_list>, send_mailbox_state = 0x45c8e4 <dsync_ibc_pipe_send_mailbox_state>, recv_mailbox_state = 0x45c951 <dsync_ibc_pipe_recv_mailbox_state>,
> send_mailbox_tree_node = 0x45c9e1 <dsync_ibc_pipe_send_mailbox_tree_node>, recv_mailbox_tree_node = 0x45ca54 <dsync_ibc_pipe_recv_mailbox_tree_node>,
> send_mailbox_deletes = 0x45cade <dsync_ibc_pipe_send_mailbox_deletes>, recv_mailbox_deletes = 0x45cb3d <dsync_ibc_pipe_recv_mailbox_deletes>, send_mailbox = 0x45cbc8 <dsync_ibc_pipe_send_mailbox>,
> recv_mailbox = 0x45cd11 <dsync_ibc_pipe_recv_mailbox>, send_change = 0x45cd79 <dsync_ibc_pipe_send_change>, recv_change = 0x45cdce <dsync_ibc_pipe_recv_change>,
> send_mail_request = 0x45ce36 <dsync_ibc_pipe_send_mail_request>, recv_mail_request = 0x45ce9f <dsync_ibc_pipe_recv_mail_request>, send_mail = 0x45cf07 <dsync_ibc_pipe_send_mail>,
> recv_mail = 0x45cfff <dsync_ibc_pipe_recv_mail>, close_mail_streams = 0x45d0ce <dsync_ibc_pipe_close_mail_streams>, is_send_queue_full = 0x45c855 <dsync_ibc_pipe_is_send_queue_full>,
> has_pending_data = 0x45c889 <dsync_ibc_pipe_has_pending_data>}, io_callback = 0x445827 <dsync_brain_run_io>, io_context = 0x4a9fd0, failed = 0}
>
Hello Timo et al,
is there a chance that the crash I have reported two weeks ago can be
fixed? Or any thoughts about what triggers it / what I better try to
avoid / I do wrong? Any help is appreciated!
I'm afraid that our window of time for switching IMAP server software
will shut this month and we are forced to stay with cyrus for another
dozen of years.
I've compiled each nightly but a segmentation fault remains.
Is there anything I can do to avoid it or give helpful information?
Short reminder: with 2.1.15 mailboxes are being transferred from the
cyrus box. With 2.2(-20130314) not even a single mail in a single
mailbox made it to the dovecot side. The plan is to use doveadm backup
to transfer and adapt the content of the cyrus server to the new dovecot
server while the cyrus server remains in use. After running some iter-
ations (each will take less time) we switch the service from cyrus to
dovecot.
We think it is better to not start with 2.1.x as we want to benefit
from the new 2.2 dsync protocol to keep two dovecot servers in sync.
I have tried to simplify the configuration which is following:
# 20130314: /m/sw/dc/2.2-20130314/etc/dovecot/dovecot.conf
# OS: SunOS 5.11 i86pc zfs
auth_debug = yes
auth_debug_passwords = yes
auth_default_realm = iai.uni-bonn.de
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
auth_verbose_passwords = sha1
base_dir = /var/run/dovecot/
debug_log_path = /tmp/dcd
imapc_features = rfc822.size
imapc_host = mailbox.iai.uni-bonn.de
imapc_list_prefix = INBOX
imapc_master_user = *removed*
imapc_password = *removed*
imapc_port = 993
imapc_ssl = imaps
imapc_ssl_verify = no
imapc_user = %n
log_path = /tmp/dce
mail_debug = yes
mail_gid = dovemail
mail_location = sdbox:/m/d/imap/mbox/m/%n
mail_plugins = notify mail_log
mail_uid = dovemail
namespace inbox {
hidden = no
inbox = yes
list = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = /
subscriptions = yes
type = private
}
namespace user {
hidden = no
list = children
location = sdbox:/m/d/imap/mbox/m/%%n
prefix = user/%%u/
separator = /
type = shared
}
passdb {
args = scheme=CRYPT username_format=%u /m/d/etc/user/pw
driver = passwd-file
}
passdb {
args = username_format=%n /m/d/etc/user/global/pw-master-giat
driver = passwd-file
master = yes
pass = yes
}
passdb {
args = username_format=%n /m/d/etc/user/global/pw-master-top
driver = passwd-file
master = yes
pass = yes
}
passdb {
args = username_format=%n /m/d/etc/user/global/pw-master-top
driver = passwd-file
}
plugin {
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append mailbox_create save flag_change
mail_log_fields = uid box msgid size
}
protocols = imap pop3
service auth-worker {
user = doveauth
}
service auth {
user = doveauth
}
service imap-login {
process_min_avail = 4
service_count = 1
}
service imap {
executable = imap
process_limit = 1024
}
service pop3 {
executable = pop3
process_limit = 64
}
ssl_cert = </m/sw/dc/a/etc/dovecot/ssl/certs/dovecotCert.pem
ssl_key = </m/sw/dc/a/etc/dovecot/ssl/keys/dovecotKey.pem
syslog_facility = local6
userdb {
args = username_format=%u /m/d/etc/user/db
driver = passwd-file
override_fields = uid=dovemail gid=dovemail home=/m/d/user/%n
}
userdb {
args = username_format=%n /m/d/etc/user/global/db-master
default_fields = quota_rule=*:storage=512M
driver = passwd-file
override_fields = uid=dovemail gid=dovemail home=/m/d/user/global/%n
}
Thanks in advance, Walter Steiner
More information about the dovecot
mailing list