[Dovecot] 2.2rc2 core dump
Hi,
using dovecot 2.2rc2 I got core dumps during IMAP subscription change if the CONTROL directory (specified in mail_location) does not exists.
userdb_mail: mbox:~/Test:INBOX=~/Test/heiko:INDEX=~/.imap/index:CONTROL=~/.imap/control
If ~/.imap/control does not exists, dovecot crashes. See below for log msg, full backtrace and configuration.
Heiko
Heiko Schlichting Freie Universität Berlin heiko.schlichting@fu-berlin.de Zentraleinrichtung für Datenverarbeitung Telefon +49 30 838-54327 Fabeckstraße 32 Telefax +49 30 838454327 14195 Berlin
Mar 11 13:57:42 12:island dovecot: imap(heiko): Panic: file mailbox-list.c: line 1066 (mailbox_list_try_mkdir_root): assertion failed: (strncmp(root_dir, path, strlen(root_dir)) == 0) Mar 11 13:57:42 13:island dovecot: imap(heiko): Error: Raw backtrace: /home/dovecot/server/lib/dovecot/libdovecot.so.0(+0x60c8a) [0x7f12ad342c8a] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(+0x60cd6) [0x7f12ad342cd6] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f12ad303faf] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(mailbox_list_try_mkdir_root+0x573) [0x7f12ad61db43] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(mailbox_list_mkdir_root+0x12) [0x7f12ad61db92] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(subsfile_set_subscribed+0x346) [0x7f12ad62ff66] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(mailbox_list_set_subscribed+0x1b) [0x7f12ad61aebb] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(index_storage_set_subscribed+0x48) [0x7f12ad63f3c8] -> dovecot/imap heiko 130.133.5.5 subscribe [0x4129c8] -> dovecot/imap heiko 130.133.5.5 subscribe [0x41604d] -> dovecot/imap heiko 130.133.5.5 subscribe [0x4151a0] -> dovecot/imap heiko 130.133.5.5 subscribe [0x41528d] -> dovecot/imap heiko 130.133.5.5 subscribe [0x41550d] -> dovecot/imap heiko 130.133.5.5 subscribe [0x41588f] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f12ad3518f6] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xaf) [0x7f12ad35296f] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f12ad351898] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f12ad308c03] -> dovecot/imap heiko 130.133.5.5 subscribe [0x41eb17] -> /lib/libc.so.6(__libc_start_main+0xfd) [0x7f12acf9ec8d] -> dovecot/imap heiko 130.133.5.5 subscribe [0x40b559] Mar 11 13:57:42 12:island dovecot: imap(heiko): Fatal: master: service(imap): child 387120 killed with signal 6 (core dumped)
Core was generated by `dovecot/imap'.
Program terminated with signal 6, Aborted.
#0 0x00007f12acfb21b5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
in ../nptl/sysdeps/unix/sysv/linux/raise.c
#0 0x00007f12acfb21b5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
pid = <value optimized out>
selftid = <value optimized out>
#1 0x00007f12acfb4fc0 in *__GI_abort () at abort.c:92
act = {__sigaction_handler = {sa_handler = 0x2, sa_sigaction = 0x2}, sa_mask = {__val = {139718192212334, 140734208616120, 140734208615824, 15504224, 139718192015737, 139718188100360, 139718199721984, 206158430224, 4294967295,
140734208615136, 1, 2826480, 0, 140734208615824, 15504224, 139718191620096}}, sa_flags = -1383389422, sa_restorer = 0x1}
sigs = {__val = {32, 0
# 2.2.rc2: /home/dovecot/server/etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.7 auth_mechanisms = plain login auth_username_format = %Ln auth_verbose = yes default_login_user = nobody default_vsz_limit = 2 G first_valid_uid = 1000 listen = 130.133.10.100 mail_fsync = always mail_nfs_storage = yes namespace inbox { inbox = yes location = prefix = separator = / type = private } passdb { args = /server/dovecot/bin/checkpassword-isnet driver = checkpassword } protocols = imap service auth-worker { user = $default_internal_user } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service imap { process_limit = 1024 } shutdown_clients = no ssl = required ssl_cert =
On 11.3.2013, at 16.00, Heiko Schlichting dovecot-l@FU-Berlin.DE wrote:
using dovecot 2.2rc2 I got core dumps during IMAP subscription change if the CONTROL directory (specified in mail_location) does not exists.
userdb_mail: mbox:~/Test:INBOX=~/Test/heiko:INDEX=~/.imap/index:CONTROL=~/.imap/control
If ~/.imap/control does not exists, dovecot crashes. See below for log msg, full backtrace and configuration.
I can't reproduce this with latest hg, so I think it's fixed?
Timo Sirainen wrote:
On 11.3.2013, at 16.00, Heiko Schlichting dovecot-l@FU-Berlin.DE wrote:
using dovecot 2.2rc2 I got core dumps during IMAP subscription change if the CONTROL directory (specified in mail_location) does not exists.
userdb_mail: mbox:~/Test:INBOX=~/Test/heiko:INDEX=~/.imap/index:CONTROL=~/.imap/control
If ~/.imap/control does not exists, dovecot crashes. See below for log msg, full backtrace and configuration.
I can't reproduce this with latest hg, so I think it's fixed?
Latest hg is not so easy as you commit every few minutes.
Testing with one hour old changeset 16065 ab434891f2af failed during compilation:
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -DMODULE_DIR=\""/home/dovecot/server/lib/dovecot"\" -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT fs-test.o -MD -MP -MF .deps/fs-test.Tpo -c -o fs-test.o fs-test.c fs-test.c:7:26: error: iostream-ssl.h: No such file or directory fs-test.c:12: error: variable 'ssl_set' has initializer but incomplete type fs-test.c:13: error: unknown field 'ca_dir' specified in initializer fs-test.c:14: warning: excess elements in struct initializer fs-test.c:14: warning: (near initialization for 'ssl_set') make[3]: *** [fs-test.o] Error 1
So I reverted changeset 16040 70dd78cd89ab and run into the next problem:
make[4]: Entering directory /home/dovecot/src/dovecot/src/replication/replicator' make[4]: *** No rule to make target
doveadm-connection.c', needed by `doveadm-connection.o'. Stop.
Maybe I should wait until tomorrow and check when your are finished with your currect coding activities.
Heiko
Heiko Schlichting Freie Universität Berlin heiko.schlichting@fu-berlin.de Zentraleinrichtung für Datenverarbeitung Telefon +49 30 838-54327 Fabeckstraße 32 Telefax +49 30 838454327 14195 Berlin
On 20.3.2013, at 20.26, Heiko Schlichting dovecot-l@FU-Berlin.DE wrote:
Testing with one hour old changeset 16065 ab434891f2af failed during compilation:
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -DMODULE_DIR=\""/home/dovecot/server/lib/dovecot"\" -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT fs-test.o -MD -MP -MF .deps/fs-test.Tpo -c -o fs-test.o fs-test.c fs-test.c:7:26: error: iostream-ssl.h: No such file or directory
The Makefile is out of date. You need to run autogen.sh and configure again. Or use configure --enable-maintainer-mode so you don't have to remember to do that.
On 20.3.2013, at 20.26, Heiko Schlichting dovecot-l@FU-Berlin.DE wrote:
Testing with one hour old changeset 16065 ab434891f2af failed during compilation:
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -DMODULE_DIR=\""/home/dovecot/server/lib/dovecot"\" -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT fs-test.o -MD -MP -MF .deps/fs-test.Tpo -c -o fs-test.o fs-test.c fs-test.c:7:26: error: iostream-ssl.h: No such file or directory
The Makefile is out of date. You need to run autogen.sh and configure again. Or use configure --enable-maintainer-mode so you don't have to remember to do that.
Yes, sorry.
But it still crashes if I subscribe and the CONTROL=... directory does not exists:
Mar 20 19:38:58 13:island dovecot: imap(heiko): Error: Raw backtrace: /home/dovecot/server/lib/dovecot/libdovecot.so.0(+0x6131a) [0x7f011db8d31a] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(+0x61366) [0x7f011db8d366] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f011db4e1df] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(mailbox_list_try_mkdir_root+0x573) [0x7f011de68fc3] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(mailbox_list_mkdir_root+0x12) [0x7f011de69012] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(subsfile_set_subscribed+0x346) [0x7f011de7b486] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(mailbox_list_set_subscribed+0x1b) [0x7f011de6633b] -> /home/dovecot/server/lib/dovecot/libdovecot-storage.so.0(index_storage_set_subscribed+0x48) [0x7f011de8a9f8] -> dovecot/imap heiko 130.133.5.5 SUBSCRIBE [0x412a18] -> dovecot/imap heiko 130.133.5.5 SUBSCRIBE [0x41609d] -> dovecot/imap heiko 130.133.5.5 SUBSCRIBE [0x4151f0] -> dovecot/imap heiko 130.133.5.5 SUBSCRIBE [0x4152dd] -> dovecot/imap heiko 130.133.5.5 SUBSCRIBE [0x41555d] -> dovecot/imap heiko 130.133.5.5 SUBSCRIBE [0x4158df] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f011db9c076] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xaf) [0x7f011db9d0ef] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f011db9c018] -> /home/dovecot/server/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f011db52ea3] -> dovecot/imap heiko 130.133.5.5 SUBSCRIBE [0x41eb57] -> /lib/libc.so.6(__libc_start_main+0xfd) [0x7f011d7e8c8d] -> dovecot/imap heiko 130.133.5.5 SUBSCRIBE [0x40b5c9]
After creating the CONTROL=... directory manually with mkdir it works without problems.
Heiko
Heiko Schlichting Freie Universität Berlin heiko.schlichting@fu-berlin.de Zentraleinrichtung für Datenverarbeitung Telefon +49 30 838-54327 Fabeckstraße 32 Telefax +49 30 838454327 14195 Berlin
On 20.3.2013, at 20.42, Heiko Schlichting dovecot-l@FU-Berlin.DE wrote:
On 20.3.2013, at 20.26, Heiko Schlichting dovecot-l@FU-Berlin.DE wrote:
Testing with one hour old changeset 16065 ab434891f2af failed during compilation:
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib -DMODULE_DIR=\""/home/dovecot/server/lib/dovecot"\" -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT fs-test.o -MD -MP -MF .deps/fs-test.Tpo -c -o fs-test.o fs-test.c fs-test.c:7:26: error: iostream-ssl.h: No such file or directory
The Makefile is out of date. You need to run autogen.sh and configure again. Or use configure --enable-maintainer-mode so you don't have to remember to do that.
Yes, sorry.
But it still crashes if I subscribe and the CONTROL=... directory does not exists:
Not sure why I couldn't reproduce it earlier, but I could now. These fix it:
http://hg.dovecot.org/dovecot-2.2/rev/f39c649057ea http://hg.dovecot.org/dovecot-2.2/rev/9a913c803608
But it still crashes if I subscribe and the CONTROL=... directory does not exists:
Not sure why I couldn't reproduce it earlier, but I could now. These fix it:
http://hg.dovecot.org/dovecot-2.2/rev/f39c649057ea http://hg.dovecot.org/dovecot-2.2/rev/9a913c803608
Thanks. I can confirm that it is fixed in v2.2.rc3.
Heiko
Heiko Schlichting Freie Universität Berlin heiko.schlichting@fu-berlin.de Zentraleinrichtung für Datenverarbeitung Telefon +49 30 838-54327 Fabeckstraße 32 Telefax +49 30 838454327 14195 Berlin
participants (2)
-
Heiko Schlichting
-
Timo Sirainen