Hi all, ive seen a few segfaults in RC15. It's hard for me to reproduce
but I was able to get a core when it happened with one of our customers.
RC15
FreeBSD 4.10
X86
NFS/NetApp
It's squirrelmail/webmail client.
Can't reproduce it, cant turn on dovecot.rawlog because I dont know in
advance which customer will hit this. See it about 5 times per hour,
with thousands of logins per hour.
Here's the backtrace..
Cor
------
Core was generated by `imap'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libc.so.4...done.
Reading symbols from /usr/local/lib/dovecot/imap/lib01_quota_plugin.so...done.
Reading symbols from /usr/lib/librpcsvc.so.2...done.
Reading symbols from
/usr/local/lib/dovecot/imap/lib02_imap_quota_plugin.so...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0 maildir_save_file_get_path (_t=0x80d72c0, seq=37) at maildir-save.c:242
242 i_assert(seq >= ctx->first_seq);
(gdb) bt full
#0 maildir_save_file_get_path (_t=0x80d72c0, seq=37) at maildir-save.c:242
_t = (struct mailbox_transaction_context *) 0x80d72c0
seq = 37
ctx = (struct maildir_save_context *) 0x0
mf = (struct maildir_filename *) 0x80d72c0
#1 0x80682ca in maildir_mail_get_virtual_size (_mail=0x80e9440) at
maildir-mail.c:145
mail = (struct index_mail *) 0x80e9440
mbox = (struct maildir_mailbox *) 0x80d8c40
data = (struct index_mail_data *) 0x80e94a4
path = 0x80e94a4 ""
fname = 0x80d72c0 "@\214\r\b??\f\b\004"
virtual_size = 580366801855675066
flags = 19
#2 0x8097b22 in mail_get_virtual_size (mail=0x80e9440) at mail.c:68
mail = (struct mail *) 0x80d72c0
#3 0x805cf4d in fetch_rfc822_size (ctx=0x80de088, mail=0x80e9440, context=0x0)
at imap-fetch-body.c:839
ctx = (struct imap_fetch_context *) 0x80d72c0
size = 135099072
#4 0x805b395 in imap_fetch (ctx=0x80de088) at imap-fetch.c:265
ctx = (struct imap_fetch_context *) 0x80de088
handlers = (struct imap_fetch_context_handler *) 0x80de1a8
ret = 1
#5 0x8056e0b in cmd_fetch (cmd=0x80db044) at cmd-fetch.c:171
cmd = (struct client_command_context *) 0x80db044
client = (struct client *) 0x80db000
ctx = (struct imap_fetch_context *) 0x80de088
args = (struct imap_arg *) 0x80dc048
search_arg = (struct mail_search_arg *) 0x80de050
messageset = 0x25 <Address 0x25 out of bounds>
ret = 135099072
#6 0x805955a in cmd_uid (cmd=0x80db044) at cmd-uid.c:19
cmd = (struct client_command_context *) 0x80db044
cmd_name = 0x80dc0f8 "FETCH"
#7 0x8059f45 in client_handle_input (cmd=0x80db044) at client.c:382
cmd = (struct client_command_context *) 0x80db044
client = (struct client *) 0x80db000
#8 0x805a01e in _client_input (context=0x80db000) at client.c:433
client = (struct client *) 0x80db000
cmd = (struct client_command_context *) 0x80db044
ret = 2
#9 0x80a9608 in io_loop_handler_run (ioloop=0x80d7000) at ioloop-poll.c:199
ctx = (struct ioloop_handler_context *) 0x80cb0a0
pollfd = (struct pollfd *) 0x2
tv = {tv_sec = 0, tv_usec = 888475}
io = (struct io *) 0x80cb4a0
t_id = 2
msecs = 135099072
ret = 0
call = 135099072
#10 0x80a901d in io_loop_run (ioloop=0x80d7000) at ioloop.c:281
ioloop = (struct ioloop *) 0x80d7000
#11 0x8060f1d in main (argc=1, argv=0xbfbff624, envp=0xbfbff62c) at main.c:280
No locals.
Ok, the other sefaults are the same problem..here's another one:
It looks like the filename gets corrupted or something..
Cor
Core was generated by `imap'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libc.so.4...done.
Reading symbols from /usr/local/lib/dovecot/imap/lib01_quota_plugin.so...done.
Reading symbols from /usr/lib/librpcsvc.so.2...done.
Reading symbols from
/usr/local/lib/dovecot/imap/lib02_imap_quota_plugin.so...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0 maildir_save_file_get_path (_t=0x80d7300, seq=55) at maildir-save.c:242
242 i_assert(seq >= ctx->first_seq);
(gdb) bt full
#0 maildir_save_file_get_path (_t=0x80d7300, seq=55) at maildir-save.c:242
_t = (struct mailbox_transaction_context *) 0x80d7300
seq = 55
ctx = (struct maildir_save_context *) 0x0
mf = (struct maildir_filename *) 0x80d7300
#1 0x80682ca in maildir_mail_get_virtual_size (_mail=0x80e9840) at
maildir-mail.c:145
mail = (struct index_mail *) 0x80e9840
mbox = (struct maildir_mailbox *) 0x80d8c40
data = (struct index_mail_data *) 0x80e98a4
path = 0x80e98a4 ""
fname = 0x80d7300 "@\214\r\b??\f\b\004"
virtual_size = 580366801855675066
flags = 19
#2 0x8097b22 in mail_get_virtual_size (mail=0x80e9840) at mail.c:68
mail = (struct mail *) 0x80d7300
#3 0x805cf4d in fetch_rfc822_size (ctx=0x80de088, mail=0x80e9840, context=0x0)
at imap-fetch-body.c:839
ctx = (struct imap_fetch_context *) 0x80d7300
size = 135099136
#4 0x805b395 in imap_fetch (ctx=0x80de088) at imap-fetch.c:265
ctx = (struct imap_fetch_context *) 0x80de088
handlers = (struct imap_fetch_context_handler *) 0x80de1a8
ret = 1
#5 0x8056e0b in cmd_fetch (cmd=0x80db044) at cmd-fetch.c:171
cmd = (struct client_command_context *) 0x80db044
client = (struct client *) 0x80db000
ctx = (struct imap_fetch_context *) 0x80de088
args = (struct imap_arg *) 0x80dc048
search_arg = (struct mail_search_arg *) 0x80de050
messageset = 0x37 <Address 0x37 out of bounds>
ret = 135099136
#6 0x805955a in cmd_uid (cmd=0x80db044) at cmd-uid.c:19
cmd = (struct client_command_context *) 0x80db044
cmd_name = 0x80dc0f8 "FETCH"
#7 0x8059f45 in client_handle_input (cmd=0x80db044) at client.c:382
cmd = (struct client_command_context *) 0x80db044
client = (struct client *) 0x80db000
#8 0x805a01e in _client_input (context=0x80db000) at client.c:433
client = (struct client *) 0x80db000
cmd = (struct client_command_context *) 0x80db044
ret = 2
#9 0x80a9608 in io_loop_handler_run (ioloop=0x80d7000) at ioloop-poll.c:199
ctx = (struct ioloop_handler_context *) 0x80cb0a0
pollfd = (struct pollfd *) 0x2
tv = {tv_sec = 0, tv_usec = 926624}
io = (struct io *) 0x80cb4a0
t_id = 2
msecs = 135099136
ret = 0
call = 135099136
#10 0x80a901d in io_loop_run (ioloop=0x80d7000) at ioloop.c:281
ioloop = (struct ioloop *) 0x80d7000
#11 0x8060f1d in main (argc=1, argv=0xbfbff5f0, envp=0xbfbff5f8) at main.c:280
On Sun, 2006-12-10 at 15:07 +0100, Cor Bosman wrote:> Hi all, ive seen a few segfaults in RC15. It's hard for me to reproduce > but I was able to get a core when it happened with one of our customers. > > RC15 > FreeBSD 4.10 > X86 > NFS/NetAppAre the index files in NFS also? See if this patch makes it give corrupted index file errors instead: http://dovecot.org/list/dovecot-cvs/2006-December/007059.html -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20061210/138fec40/attachment.bin>