[Dovecot] assertion failure with 2.0rc4
Ran into an assertion error on login with 2.0rc4, with kmail and the N900 mail client:
OS: Ubuntu Lucid 10.04.1 LTS FS: ext4 arch: x86-64
dovecot: imap-login: Login: user=<rmurray>, method=PLAIN, rip=192.168.1.9, lip=192.168.1.1, mpid=31843, TLS dovecot: imap(rmurray): Panic: file istream-header-filter.c: line 85 (read_mixed): assertion failed: (pos > 0) dovecot: master: Error: service(imap): child 31843 killed with signal 6 (core dumped)
#0 0x0000003e9fa33a75 in raise () from /lib/libc.so.6 No symbol table info available. #1 0x0000003e9fa375c0 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00007f419e3bdd34 in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:164 backtrace = 0x1542898 "ot.so.0(+0x26793) [0x7f900d292793] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read+0xbb) [0x7f900d2b6979] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x61) [0x7f900d2b7676] -> /usr/lib/do"... #3 0x00007f419e3bf01c in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x7f419e3e9778 "file %s: line %d (%s): assertion failed: (%s)", args=0x7fff6244c100) at failures.c:593 No locals. #4 0x00007f419e3be05c in i_panic ( format=0x7f419e3e9778 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:230 args = {{gp_offset = 0, fp_offset = 0, overflow_arg_area = 0x0, reg_save_area = 0x0}} #5 0x00007f419e3a1a4d in read_mixed (mstream=0x1598d20, body_highwater_size=0) at istream-header-filter.c:81 data = 0x0 pos = 0 ret = -1 __FUNCTION__ = "read_mixed" #6 0x00007f419e3a1e92 in read_header (mstream=0x1598d20) at istream-header-filter.c:164 body_highwater_size = 0 hdr = 0x0 highwater_offset = 0 pos = 0 ret = 0 matched = false hdr_ret = 0 __FUNCTION__ = "read_header" #7 0x00007f419e3a2793 in i_stream_header_filter_read (stream=0x1598d20) at istream-header-filter.c:351 mstream = 0x1598d20 v_offset = 22292552 ret = 22634928 #8 0x00007f419e3c6979 in i_stream_read (stream=0x1598d80) at istream.c:115 _stream = 0x1598d20 old_size = 1 ret = 140734842061776 __FUNCTION__ = "i_stream_read" #9 0x00007f419e3c7676 in i_stream_read_data (stream=0x1598d80, data_r=0x7fff6244c3b0, size_r=0x7fff6244c3a0, threshold=1) at istream.c:417 ret = 0 read_more = false __FUNCTION__ = "i_stream_read_data" #10 0x00007f419e3a7c91 in message_parse_header_next (ctx=0x159b440, hdr_r=0x7fff6244c408) at message-header-parser.c:89 line = 0x0 msg = 0x0 i = 0 size = 0 startpos = 0 colon_pos = 0 parse_size = 0 ret = 32767 continued = false continues = false last_no_newline = 127 last_crlf = 65 no_newline = false crlf_newline = false __FUNCTION__ = "message_parse_header_next" #11 0x00007f419e3a9e3c in parse_next_header (ctx=0x159b078, block_r=0x7fff6244c480) at message-parser.c:480 part = 0x1591558 hdr = 0x0 size = 22613672 ret = -1 __FUNCTION__ = "parse_next_header" #12 0x00007f419e3aaa05 in message_parser_parse_next_block (ctx=0x159b078, block_r=0x7fff6244c480) at message-parser.c:768 ret = 22615384 eof = false full = false __FUNCTION__ = "message_parser_parse_next_block" #13 0x00007f419e3aabc6 in message_parser_parse_header (ctx=0x159b078, hdr_size=0x1590f60, callback=0x7f419e68e1f8 <index_mail_parse_part_header_cb>, context=0x1590d48) at message-parser.c:807 block = {part = 0x0, hdr = 0x0, data = 0x0, size = 0} ret = 0 __FUNCTION__ = "message_parser_parse_header" #14 0x00007f419e68e575 in index_mail_parse_headers (mail=0x1590d48, headers=0x0) at index-mail-headers.c:437 data = 0x1590ea8 input = 0x1598d80 old_offset = 0 #15 0x00007f419e68b648 in index_mail_init_stream (mail=0x1590d48, hdr_size=0x7fff6244c640, body_size=0x7fff6244c620, stream_r=0x7fff6244c668) at index-mail.c:849 data = 0x1590ea8 input = 0x0 ret = 1 #16 0x00007f419e6b8377 in mbox_mail_get_stream (_mail=0x1590d48, hdr_size=0x7fff6244c640, body_size=0x7fff6244c620, stream_r=0x7fff6244c668) at mbox-mail.c:363 mail = 0x1590d48 #17 0x00007f419e62fb06 in mail_get_stream (mail=0x1590d48, hdr_size=0x7fff6244c640, body_size=0x7fff6244c620, stream_r=0x7fff6244c668) at mail.c:179 p = 0x1590d48 #18 0x00007f419e68a4b6 in index_mail_get_virtual_size (_mail=0x1590d48, size_r=0x7fff6244c6f8) at index-mail.c:389 mail = 0x0 data = 0x0 hdr_size = {physical_size = 0, virtual_size = 0, lines = 0} body_size = {physical_size = 4333341, virtual_size = 22595280, lines = 51875} input = 0x0 old_offset = 0 __FUNCTION__ = "index_mail_get_virtual_size" #19 0x00007f419e62f8cc in mail_get_virtual_size (mail=0x1590d48, size_r=0x7fff6244c6f8) at mail.c:114 p = 0x1590d48 #20 0x0000000000419d85 in fetch_rfc822_size (ctx=0x157d388, mail=0x1590d48, context=0x0) at imap-fetch-body.c:888 size = 22595280 #21 0x0000000000416af6 in imap_fetch_more_int (ctx=0x157d388) at imap-fetch.c:471 h = 0x157d708 _data_stack_cur_id = 4 client = 0x157cb78 handlers = 0x157d6e0 count = 5 ret = 1 __FUNCTION__ = "imap_fetch_more_int" #22 0x0000000000416d4d in imap_fetch_more (ctx=0x157d388) at imap-fetch.c:523 ret = 0 __FUNCTION__ = "imap_fetch_more" #23 0x000000000040b964 in cmd_fetch (cmd=0x157d238) at cmd-fetch.c:227 client = 0x0 ctx = 0x0 args = 0x0 next_arg = 0x0 list_arg = 0x0 search_args = 0x158b708 messageset = 0x157fb88 "51875:51896" ret = 0 #24 0x000000000041187e in cmd_uid (cmd=0x157d238) at cmd-uid.c:27 command = 0x154b710 cmd_name = 0x157fb80 "FETCH" #25 0x0000000000413507 in client_command_input (cmd=0x157d238) at imap-client.c:660 client = 0x157cb78 command = 0x7fff6244c870 __FUNCTION__ = "client_command_input" #26 0x0000000000413766 in client_command_input (cmd=0x157d238) at imap-client.c:710 client = 0x157cb78 command = 0x154b6c8 __FUNCTION__ = "client_command_input" #27 0x0000000000413891 in client_handle_next_command (client=0x157cb78, remove_io_r=0x7fff6244c90e) at imap-client.c:751 size = 92 #28 0x0000000000413911 in client_handle_input (client=0x157cb78) at imap-client.c:763 _data_stack_cur_id = 3 ret = false remove_io = false handled_commands = false __FUNCTION__ = "client_handle_input" #29 0x0000000000413a87 in client_input (client=0x157cb78) at imap-client.c:802 cmd = 0x154a7e8 output = 0x157d158 bytes = 92 __FUNCTION__ = "client_input" #30 0x00007f419e3cef4a in io_loop_handler_run (ioloop=0x154a5c0) at ioloop-epoll.c:212 ctx = 0x0 events = 0x0 event = 0x0 list = 0x0 io = 0x0 tv = {tv_sec = 1799, tv_usec = 999898} events_count = 6 t_id = 2 msecs = 1800000 ret = 0 i = 0 j = 0 call = true #31 0x00007f419e3cdb31 in io_loop_run (ioloop=0x154a5c0) at ioloop.c:350 No locals. #32 0x00007f419e3b635c in master_service_run (service=0x154a490, callback=0x41f592 <client_connected>) at master-service.c:496 No locals. #33 0x000000000041f7fc in main (argc=1, argv=0x154a370) at main.c:358 set_roots = {0x422ee0, 0x0} service_flags = 0 storage_service_flags = 0 postlogin_socket_path = 0x0 username = 0x0 c = 0
On Thu, 2010-08-05 at 15:28 -0700, Ryan Murray wrote:
#4 0x00007f419e3be05c in i_panic ( format=0x7f419e3e9778 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:230 args = {{gp_offset = 0, fp_offset = 0, overflow_arg_area = 0x0, reg_save_area = 0x0}} #5 0x00007f419e3a1a4d in read_mixed (mstream=0x1598d20, body_highwater_size=0) at istream-header-filter.c:81
Looks like the assert was just a few lines too early, fixed: http://hg.dovecot.org/dovecot-2.0/rev/dd3e70c85d43
participants (2)
-
Ryan Murray
-
Timo Sirainen