[Dovecot] Dovecot 1.1rc3 crashes with Dbox + imap_quota plugin
eric at flerd.com
eric at flerd.com
Tue Apr 1 16:44:42 EEST 2008
Version: Dovecot v1.1.rc3
OS: CentOS 5 running in OpenVZ
CPU: x86_64
Was running fine with maildir and decided to get dbox a try. Test user
created with a dbox mailstore backend and when a client logs in that tries
to run a getquotaroot imap command the process SIGSEGV's.
Have been able to narrow it down to dbox crashing against dict quota as
well as dirsize. Maildir works just fine.
example telnet session:
...
5 getquota *
5 NO Quota root doesn't exist.
6 getquotaroot inbox
Connection closed by foreign host.
------
Got the backtrace from a coredump as well:
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000463d99 in mail_index_get_header_ext (view=0x0, ext_id=2,
data_r=0x7fff8ad72140,
data_size_r=0x7fff8ad72138) at mail-index-view.c:550
550 view->v.get_header_ext(view, NULL, ext_id, data_r,
data_size_r);
----
(gdb) bt full
#0 0x0000000000463d99 in mail_index_get_header_ext (view=0x0, ext_id=2,
data_r=0x7fff8ad72140,
data_size_r=0x7fff8ad72138) at mail-index-view.c:550
No locals.
#1 0x000000000044604c in dbox_sync_want_flush_dirty (mbox=0x2aaaaaae5cc8,
close_flush_dirty_flags=true)
at dbox-sync.c:262
hdr = <value optimized out>
data = <value optimized out>
data_size = <value optimized out>
#2 0x0000000000446101 in dbox_sync_begin (mbox=0x0, ctx_r=0x7fff8ad72278,
close_flush_dirty_flags=64, force=64)
at dbox-sync.c:297
storage = (struct mail_storage *) 0x2aaaaaadb878
ctx = <value optimized out>
sync_flags = <value optimized out>
ret = <value optimized out>
rebuild = <value optimized out>
#3 0x00000000004468c8 in dbox_sync (mbox=0x0, close_flush_dirty_flags=64)
at dbox-sync.c:396
sync_ctx = (struct dbox_sync_context *) 0x2aaaaaae5cc8
#4 0x000000000043f0c4 in dbox_storage_mailbox_close (box=0x0) at
dbox-storage.c:312
mbox = <value optimized out>
ret = <value optimized out>
#5 0x00002aaaab62df50 in fts_mailbox_close (box=0x2aaaaaae5cc8) at
fts-storage.c:65
fbox = (struct fts_mailbox *) 0x2aaaaaae8f90
ret = <value optimized out>
#6 0x00002aaaab42a5ed in cmd_getquotaroot (cmd=0x2aaaaaadc338) at
imap-quota-plugin.c:98
storage = <value optimized out>
box = (struct mailbox *) 0x0
iter = (struct quota_root_iter *) 0x0
root = <value optimized out>
orig_mailbox = 0x2aaaaaae0518 "INBOX"
mailbox = 0x49a6ca "INBOX"
str = (string_t *) 0x2aaaaaacf1c0
#7 0x000000000041ab18 in client_command_input (cmd=0x0) at client.c:546
client = (struct client *) 0x2aaaaaadbf50
command = <value optimized out>
__PRETTY_FUNCTION__ = "client_command_input"
#8 0x000000000041abb9 in client_command_input (cmd=0x2aaaaaadc338) at
client.c:595
client = (struct client *) 0x2aaaaaadbf50
command = (struct command *) 0x7fff8ad72140
__PRETTY_FUNCTION__ = "client_command_input"
#9 0x000000000041b32f in client_handle_input (client=0x2aaaaaadbf50) at
client.c:636
_data_stack_cur_id = 3
ret = <value optimized out>
remove_io = <value optimized out>
handled_commands = false
#10 0x000000000041b54f in client_input (client=0x2aaaaaadbf50) at
client.c:691
cmd = <value optimized out>
output = (struct ostream *) 0x2aaaaaadc1e8
bytes = 27
__PRETTY_FUNCTION__ = "client_input"
#11 0x0000000000486a38 in io_loop_handler_run (ioloop=<value optimized
out>) at ioloop-epoll.c:201
ctx = <value optimized out>
event = (const struct epoll_event *) 0x2aaaaaad7dc0
list = (struct io_list *) 0x2aaaaaad8780
io = (struct io_file *) 0x2aaaaaadc280
tv = {tv_sec = 1799, tv_usec = 999598}
events_count = <value optimized out>
t_id = 2
msecs = <value optimized out>
ret = 1
i = 0
call = <value optimized out>
#12 0x0000000000485d1d in io_loop_run (ioloop=0x2aaaaaad7b60) at
ioloop.c:301
No locals.
#13 0x0000000000422871 in main (argc=<value optimized out>, argv=0x0,
envp=0x7fff8ad72578) at main.c:293
No locals.
----------
Let me know if there's any other info you need.
More information about the dovecot
mailing list