Hi,
I have set up replication, but dovecot-lda now fails with a segmentation fault.
Problem seems to be in replication/replication-plugin.c line 253: struct replication_user *ruser = REPLICATION_USER_CONTEXT(ctx->ns->user);
resulting in ruser = 0x0
# 2.2.15: /usr/local/etc/dovecot/dovecot.conf # Pigeonhole version 0.4.6 (3e924b1b6c5c+) # OS: FreeBSD 10.0-RELEASE amd64
gdb Backtrace + doveconf -n below.
Regards
Stefan
gdb backtrace:
#0 0x0000000802001bc4 in replication_mail_transaction_commit (txn=0x801c811b0, changes=0x7fffffffd3d0) at replication-plugin.c:258 ctx = (struct replication_mail_txn_context *) 0x801c811b0 ruser = (struct replication_user *) 0x0 priority = REPLICATION_PRIORITY_NONE #1 0x0000000801490749 in notify_contexts_mail_transaction_commit (t=0x801c24600, changes=0x7fffffffd3d0) at notify-plugin.c:132 ctx = (struct notify_context *) 0x801c8d020 mail_txn = (struct notify_mail_txn *) 0x801c282b0 #2 0x0000000801491a53 in notify_transaction_commit (t=0x801c24600, changes_r=0x7fffffffd3d0) at notify-storage.c:182 lt = (struct notify_transaction_context *) 0x0 lbox = (union mailbox_module_context *) 0x801cade50 #3 0x0000000800ae1ff9 in mailbox_transaction_commit_get_changes (_t=0x801ce01b0, changes_r=0x7fffffffd3d0) at mail-storage.c:1916 _data_stack_cur_id = 3 t = (struct mailbox_transaction_context *) 0x801c24600 box = (struct mailbox *) 0x801cad840 save_count = 1 ret = -128 #4 0x0000000800ae1f49 in mailbox_transaction_commit (t=0x801ce01b0) at mail-storage.c:1897 changes = {pool = 0x801cd5420, uid_validity = 1234722882, saved_uids = { arr = {buffer = 0x801cd5440, element_size = 8}, v = 0x801cd5440, v_modifiable = 0x801cd5440}, ignored_modseq_changes = 0, changed = true, no_read_perm = false} ret = 8 #5 0x000000080244bfb2 in sieve_action_opr_optional_read () from /usr/local/lib/dovecot-2.2-pigeonhole/libdovecot-sieve.so.0 No symbol table info available. #6 0x0000000802443924 in sieve_result_implicit_keep () from /usr/local/lib/dovecot-2.2-pigeonhole/libdovecot-sieve.so.0 No symbol table info available. #7 0x0000000802443dcd in sieve_result_execute () from /usr/local/lib/dovecot-2.2-pigeonhole/libdovecot-sieve.so.0 No symbol table info available. #8 0x0000000802452f1c in sieve_execute () from /usr/local/lib/dovecot-2.2-pigeonhole/libdovecot-sieve.so.0 No symbol table info available. #9 0x0000000802205912 in sieve_plugin_init () from /usr/local/lib/dovecot/lib90_sieve_plugin.so
No symbol table info available. #10 0x0000000800829104 in mail_deliver (ctx=0x7fffffffda08, storage_r=0x7fffffffd960) at mail-deliver.c:400 ret = 8 #11 0x0000000000402f2e in main (argc=7, argv=0x7fffffffdb08) at main.c:437 set_roots = {0x604970, 0x0} ctx = {pool = 0x801c29420, set = 0x801c67988, session = 0x801c29440, dup_ctx = 0x801c237c0, session_id = 0x0, src_mail = 0x801c48840, src_envelope_sender = 0x0, dest_user = 0x801c87040, dest_addr = 0x7fffffffddaf "mail@maserver.de", final_dest_addr = 0x7fffffffddaf "mail@maserver.de", dest_mailbox_name = 0x403d68 "INBOX", dest_mail = 0x0, var_expand_table = 0x0, tempfail_error = 0x0, tried_default_save = false, saved_mail = false, save_dest_mail = false, mailbox_full = false, dsn = false} service_flags = 1027 user = 0x7fffffffdd9e "mail@maserver.de" errstr = 0x37f <Error reading address 0x37f: Bad address> path = 0x7fffffffddc0 "/tmp/mail" lda_set = (struct lda_settings *) 0x801c67988 storage_service = (struct mail_storage_service_ctx *) 0x801c46840 service_user = (struct mail_storage_service_user *) 0x801c67190 service_input = {module = 0x403d55 "lda", service = 0x403d55 "lda", username = 0x7fffffffdd9e "mail@maserver.de", session_id = 0x0, local_ip = { family = 0, u = {ip6 = {__u6_addr = {__u6_addr8 = '\0' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = {ip6 = {__u6_addr = { __u6_addr8 = '\0' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, local_port = 0, remote_port = 0, userdb_fields = 0x0, flags_override_add = 0, flags_override_remove = 0, no_userdb_lookup = 0} storage = (struct mail_storage *) 0x0 user_source = 0x404090 "" destaddr_source = 0x403d73 "-a parameter" process_euid = 0 stderr_rejection = false ret = 1 c = -1 error = MAIL_ERROR_NONE
# 2.2.15: /usr/local/etc/dovecot/dovecot.conf # Pigeonhole version 0.4.6 (3e924b1b6c5c+) # OS: FreeBSD 10.0-RELEASE amd64 auth_mechanisms = plain login digest-md5 doveadm_password = welcomemyguest first_valid_gid = 0 first_valid_uid = 125 listen = * login_greeting = McImap mail_location = maildir:~/.maildir mail_log_prefix = "%Us(%u): " mail_plugins = " notify replication" 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 ihave duplicate passdb { args = dovecot driver = pam } passdb { args = /usr/local/etc/dovecot/dovecot-mysql.conf driver = sql } plugin { antispam_backend = mailtrain antispam_mail_notspam = some@where antispam_mail_sendmail = /usr/sbin/sendmail antispam_mail_spam = some@elsewhere antispam_spam_pattern = INBOX.spam* plugin_debug = yes } protocols = imap sieve service aggregator { fifo_listener replication-notify-fifo { user = vmail } unix_listener replication-notify { user = vmail } } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-master { group = vmail mode = 0666 user = vmail } unix_listener auth-userdb { group = vmail mode = 0660 user = vmail } user = root } service doveadm { inet_listener { port = 31337 ssl = yes } } service managesieve-login { inet_listener sieve { port = 4190 } } service replicator { unix_listener replicator-doveadm { group = vmail mode = 0600 user = vmail } } ssl_cert = </a/cert.pem ssl_key = </a/key.pem userdb { driver = passwd } userdb { args = /usr/local/etc/dovecot/dovecot-mysql.conf driver = sql } verbose_proctitle = yes protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep mail_plugins = " notify replication antispam" } protocol lda { mail_plugins = " notify replication sieve" } protocol lmtp { mail_plugins = " notify replication sieve" }