Hello list,
When trying to deliver a big message (which over-quota user limit), I always get
segmentation faults.
Others common delivers work fine. This only happens with messages,
which over-quota user limit.
Here is more details:
/var/log/maillog:
...
** user at fakedomain.ua R=virtual_user T=dovecot_virtual_delivery: Child
process of dovecot_virtual_delivery transport (running command
"/usr/local/libexec/dovecot/deliver -d $local_part@$domain -f
$sender_address") was terminated by signal 11 (segmentation fault)
...
/var/log/messages:
...
kernel: pid 27409 (deliver), uid 26: exited on signal 11
...
dovecot -n:
# 1.2.14: /usr/local/etc/dovecot.conf
# OS: FreeBSD 7.3-RELEASE-p2 amd64
protocols: imap pop3 imaps pop3s managesieve
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/local/libexec/dovecot/imap-login
login_executable(imap): /usr/local/libexec/dovecot/imap-login
login_executable(pop3): /usr/local/libexec/dovecot/pop3-login
login_executable(managesieve): /usr/local/libexec/dovecot/managesieve-login
login_log_format_elements: user=<%u> method=%m rip=%r %c
login_processes_count: 10
valid_chroot_dirs: /var/mail
verbose_proctitle: yes
first_valid_uid: 26
first_valid_gid: 6
mail_privileged_group: mail
mail_location: mbox:~/mail:INBOX=/var/mail/virtual/%Ld/%Ln
mail_debug: yes
mbox_write_locks: fcntl
mbox_min_index_size: 100
mbox_very_dirty_syncs: yes
mail_executable(default): /usr/local/libexec/dovecot/imap
mail_executable(imap): /usr/local/libexec/dovecot/imap
mail_executable(pop3): /usr/local/libexec/dovecot/pop3
mail_executable(managesieve): /usr/local/libexec/dovecot/managesieve
mail_plugins(default): quota imap_quota
mail_plugins(imap): quota imap_quota
mail_plugins(pop3): quota
mail_plugins(managesieve):
mail_plugin_dir(default): /usr/local/lib/dovecot/imap
mail_plugin_dir(imap): /usr/local/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3
mail_plugin_dir(managesieve): /usr/local/lib/dovecot/managesieve
imap_client_workarounds(default): delay-newmail netscape-eoh
tb-extra-mailbox-sep
imap_client_workarounds(imap): delay-newmail netscape-eoh tb-extra-mailbox-sep
imap_client_workarounds(pop3):
imap_client_workarounds(managesieve):
pop3_no_flag_updates(default): no
pop3_no_flag_updates(imap): no
pop3_no_flag_updates(pop3): yes
pop3_no_flag_updates(managesieve): no
pop3_enable_last(default): no
pop3_enable_last(imap): no
pop3_enable_last(pop3): yes
pop3_enable_last(managesieve): no
pop3_lock_session(default): no
pop3_lock_session(imap): no
pop3_lock_session(pop3): yes
pop3_lock_session(managesieve): no
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
pop3_client_workarounds(managesieve):
lda:
postmaster_address: postmaster at fakedomain.ua
mail_plugins: quota
quota_full_tempfail: no
sendmail_path: /usr/local/sbin/exim
log_path: /var/log/dovecot-deliver-errors.log
info_log_path: /var/log/dovecot-deliver.log
auth default:
mechanisms: plain login
default_realm: fakedomain.ua
username_format: %Lu
debug: yes
passdb:
driver: sql
args: /usr/local/etc/dovecot-mysql.conf
userdb:
driver: sql
args: /usr/local/etc/dovecot-mysql.conf
socket:
type: listen
client:
path: /var/run/dovecot/auth-client
mode: 432
master:
path: /var/run/dovecot/auth-master
mode: 384
user: mailnull
group: mail
plugin:
quota: dict:user::proxy::quotadict
dict:
quotadict: mysql:/usr/local/etc/dovecot-dict-quota.conf
-----------
/var/log/dovecot-deliver.log (before segfaults):
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: Loading modules from
directory: /usr/local/lib/dovecot/lda
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: Module loaded:
/usr/local/lib/dovecot/lda/lib10_quota_plugin.so
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: auth input:
home=/var/mail/virtual/home/fakedomain.ua/user
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: auth input: uid=26
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: auth input: gid=6
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: auth input:
quota_rule=*:bytes=10485760
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: Quota root: name=user
backend=dict args=:proxy::quotadict
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: Quota rule: root=user
mailbox=* bytes=10485760 messages=0
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: dict quota: user=user at
fakedomain.ua, uri=proxy::quotadict, noenforcing=0
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: mbox:
data=/var/mail/virtual/home/fakedomain.ua/user/mail:INBOX=/var/mail/virtual
/fakedomain.ua/user
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: fs:
root=/var/mail/virtual/home/fakedomain.ua/user/mail, index=, control=,
inbox/var/mail/virtual/fakedomain.ua/user
Oct 05 14:55:43 deliver(user at fakedomain.ua): Info: dict quota: user=user at
fakedomain.ua, uri=proxy::quotadict, noenforcing=0
-----------
gdb --args /usr/local/libexec/dovecot/deliver -d user at fakedomain.ua -p
./big_message.eml
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging
symbols found)...
(gdb) r
Starting program: /usr/local/libexec/dovecot/deliver -d user at fakedomain.ua -p
./big_mess.eml
(no debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols found)...
Program received signal SIGSEGV, Segmentation fault.
0x0000000000483340 in message_parser_parse_next_block ()
(gdb) bt full
#0 0x0000000000483340 in message_parser_parse_next_block ()
No symbol table info available.
#1 0x0000000000444fe4 in index_mail_cache_parse_continue ()
No symbol table info available.
#2 0x0000000000446251 in index_mail_cache_parse_deinit ()
No symbol table info available.
#3 0x000000000043c110 in mbox_save_finish ()
No symbol table info available.
#4 0x000000000043c1b3 in mbox_save_cancel ()
No symbol table info available.
#5 0x00000000004565a0 in mailbox_save_cancel ()
No symbol table info available.
#6 0x0000000000456835 in mailbox_save_begin ()
No symbol table info available.
#7 0x00000000004529e4 in mail_storage_copy ()
No symbol table info available.
#8 0x0000000800e09ee1 in quota_copy () from
/usr/local/lib/dovecot/lda/lib10_quota_plugin.so
No symbol table info available.
#9 0x00000000004565c2 in mailbox_copy ()
No symbol table info available.
#10 0x0000000000418b6a in deliver_save ()
No symbol table info available.
#11 0x000000000041a82d in main ()
No symbol table info available.
(gdb) quit
-----------
If you need any additional information, please tell me.
----
Best regards,
Mike