[Dovecot] Re: beta2: strange assert

Jared demottjar at yahoo.com
Tue Jan 31 15:13:32 EET 2006


Jeff A. Earickson wrote:
> Hi,
> 
> My setup: Solaris 9, mbox format, mailboxes NFS mounted from
> another S9 system, imap.  I got the following assert yesterday:
> 
> Jan 30 19:57:15 emerald dovecot: [ID 107833 mail.error] imap(user): file 
> index-mail-headers.c: line 258 (index_mail_parse_header): assertion 
> failed: (part != NULL)
> Jan 30 19:57:16 emerald dovecot: [ID 107833 mail.error] imap(user): file 
> index-mail-headers.c: line 258 (index_mail_parse_header): assertion 
> failed: (part != NULL)
> 
> The gdb work on the core file is attached.  This is a mystery because
> part was NULL in the core file.  Weird.
> 
> Jeff Earickson
> Colby College
> 
> 
> ------------------------------------------------------------------------
> 
> Script started on Tue Jan 31 07:26:12 2006
> %gdb imap core
> GNU gdb 6.3
> 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 "sparc-sun-solaris2.9"...
> Core was generated by `imap'.
> Program terminated with signal 6, Aborted.
> Reading symbols from /usr/lib/libdl.so.1...done.
> Loaded symbols for /usr/lib/libdl.so.1
> Reading symbols from /usr/lib/libsocket.so.1...done.
> Loaded symbols for /usr/lib/libsocket.so.1
> Reading symbols from /usr/lib/libnsl.so.1...done.
> Loaded symbols for /usr/lib/libnsl.so.1
> Reading symbols from /usr/lib/librt.so.1...done.
> Loaded symbols for /usr/lib/librt.so.1
> Reading symbols from /usr/lib/libsendfile.so.1...done.
> Loaded symbols for /usr/lib/libsendfile.so.1
> Reading symbols from /usr/lib/libc.so.1...done.
> Loaded symbols for /usr/lib/libc.so.1
> Reading symbols from /usr/lib/libmp.so.2...done.
> Loaded symbols for /usr/lib/libmp.so.2
> Reading symbols from /usr/lib/libaio.so.1...done.
> Loaded symbols for /usr/lib/libaio.so.1
> Reading symbols from /usr/lib/libmd5.so.1...done.
> Loaded symbols for /usr/lib/libmd5.so.1
> Reading symbols from /usr/platform/SUNW,Ultra-1/lib/libc_psr.so.1...done.
> Loaded symbols for /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
> #0  0xff2204f8 in _libc_kill () from /usr/lib/libc.so.1
> (gdb) bt
> #0  0xff2204f8 in _libc_kill () from /usr/lib/libc.so.1
> #1  0xff1b6d18 in abort () from /usr/lib/libc.so.1
> #2  0x000735d0 in i_internal_panic_handler (
>     fmt=0x8a1b8 "file %s: line %d (%s): assertion failed: (%s)",
>     args=0xffbff420) at failures.c:375
> #3  0x000730a8 in i_panic (
>     format=0x8a1b8 "file %s: line %d (%s): assertion failed: (%s)")
>     at failures.c:173
> #4  0x00049a74 in index_mail_parse_header (part=0x0, hdr=0xbd760, mail=0xbb970)
>     at index-mail-headers.c:259
> #5  0x00049d14 in index_mail_parse_header_cb (part=0x0, hdr=0xbd760,
>     context=0xbb970) at index-mail-headers.c:343
> #6  0x0006e83c in message_parse_header (part=0x0, input=0xcc210,
>     hdr_size=0xbba48, callback=0x49d00 <index_mail_parse_header_cb>,
>     context=0xbb970) at message-parser.c:661
> #7  0x00049db0 in index_mail_parse_headers (mail=0xbb970, headers=0x0)
>     at index-mail-headers.c:365
> #8  0x00048668 in index_mail_parse_bodystructure (mail=0xbb970,
>     field=MAIL_CACHE_IMAP_BODYSTRUCTURE) at index-mail.c:525
> #9  0x00048b9c in index_mail_get_special (_mail=Variable "_mail" is not available.
> ) at index-mail.c:687
> #10 0x00037354 in mbox_mail_get_special (_mail=0xbb970,
>     field=MAIL_FETCH_IMAP_BODYSTRUCTURE) at mbox-mail.c:145
> #11 0x00063e0c in mail_get_special (mail=Variable "mail" is not available.
> ) at mail.c:114
> #12 0x00023aa4 in fetch_bodystructure (ctx=0xb2370, mail=Variable "mail" is not available.
> ) at imap-fetch.c:375
> #13 0x0002375c in imap_fetch (ctx=0xb2370) at imap-fetch.c:263
> #14 0x0001e7a0 in cmd_fetch (cmd=0xb00b0) at cmd-fetch.c:166
> #15 0x00021f98 in client_handle_input (cmd=0xb00b0) at client.c:355
> #16 0x0002209c in _client_input (context=Variable "context" is not available.
> ) at client.c:406
> #17 0x00078d74 in io_loop_handler_run (ioloop=0xad970) at ioloop-poll.c:189
> #18 0x00078650 in io_loop_run (ioloop=0xad970) at ioloop.c:235
> #19 0x0002a7d8 in main (argc=1, argv=0xffbffb5c, envp=0xffbffb64) at main.c:238
> (gdb) up 4
> #4  0x00049a74 in index_mail_parse_header (part=0x0, hdr=0xbd760, mail=0xbb970)
>     at index-mail-headers.c:259
> 259                     imap_bodystructure_parse_header(mail->data_pool, part, hdr);
> (gdb) print part
> $1 = (struct message_part *) 0x0
> (gdb) print *part
> Cannot access memory at address 0x0
> (gdb) print *input
> No symbol "input" in current context.
> (gdb) print *hdr
> $2 = {name = 0xbd7b8 "Return-Path", name_len = 11,
>   value = 0xcc3ed "<customerservice at studentuniverse.com>\r\nReceived: from stage2.wdc.studentuniverse.com (stage2.studentuniverse.com [216.164.95.211])\r\nP id k0RJwIOM028905\r\n", value_len = 37,
>   full_value = 0xcc3ed "<customerservice at studentuniverse.com>\r\nReceived: from stage2.wdc.studentuniverse.com (stage2.studentuniverse.com [216.164.95.211])\r\nP id k0RJwIOM028905\r\n", full_value_len = 37,
>   middle = 0xcc3eb ": <customerservice at studentuniverse.com>\r\nReceived: from stage2.wdc.studentuniverse.com (stage2.studentuniverse.com [216.164.95.211])\r\nP id k0RJwIOM028905\r\n", middle_len = 2, name_offset = 0,
>   full_value_offset = 13, continues = 0, continued = 0, eoh = 0,
>   no_newline = 0, use_full_value = 0}
> (gdb) print *mail
> $3 = {mail = {mail = {box = 0xb6ff8, transaction = 0xbb1b8, seq = 4,
>       uid = 1233, expunged = 0, has_nuls = 1, has_no_nuls = 0}, v = {
>       free = 0x490e0 <index_mail_free>,
>       set_seq = 0x48d20 <index_mail_set_seq>,
>       get_flags = 0x47b3c <index_mail_get_flags>,
>       get_keywords = 0x47b88 <index_mail_get_keywords>,
>       get_parts = 0x47d0c <index_mail_get_parts>,
>       get_received_date = 0x37224 <mbox_mail_get_received_date>,
>       get_date = 0x47db8 <index_mail_get_date>,
>       get_virtual_size = 0x47f60 <index_mail_get_virtual_size>,
>       get_physical_size = 0x37368 <mbox_mail_get_physical_size>,
>       get_first_header = 0x4a510 <index_mail_get_first_header>,
>       get_headers = 0x4a274 <index_mail_get_headers>,
>       get_header_stream = 0x4a570 <index_mail_get_header_stream>,
>       get_stream = 0x37408 <mbox_mail_get_stream>,
>       get_special = 0x37298 <mbox_mail_get_special>,
>       update_flags = 0x49180 <index_mail_update_flags>,
>       update_keywords = 0x491a4 <index_mail_update_keywords>,
>       expunge = 0x491c8 <index_mail_expunge>}, pool = 0xbb940,
>     module_contexts = {buffer = 0xbbad8, element_size = 4}}, data = {
>     flags = MAIL_SEEN, date = 0, received_date = 1138391916,
>     virtual_size = 35917, physical_size = 35337, sent_date = {time = -1,
>       timezone = 0}, parse_line = {field_idx = 4294967295, start_pos = 168,
>       end_pos = 201, line_num = 32, cache = 1}, parse_line_num = 41,
>     parts = 0x0,
>     envelope = 0xc0f10 "\"Fri, 27 Jan 2006 14:58:13 -0500 (EST)\" \"Your Order Confirmation\" ((NIL NIL \"customerservice\" \"studentuniverse.com\")) ((NIL NIL \"customerservice\" \"studentuniverse.com\")) ((NIL NIL \"customerservice\" \"s"..., body = 0x0, bodystructure = 0x0, uid_string = 0x0,
>     envelope_data = 0xc05d0, seq = 4, rec = 0xff110140, cache_flags = 20,
>     access_part = 3, stream = 0xcc210, filter_stream = 0xce220, hdr_size = {
>       physical_size = 52, virtual_size = 52, lines = 1}, body_size = {
>       physical_size = 34410, virtual_size = 34990, lines = 580},
>     parser_ctx = 0xbd398, parsing_count = 0, keywords = {buffer = 0xc0910,
>       element_size = 4}, all_cache_fields = 0xc11b0,
>     all_cache_fields_count = 26, save_sent_date = 0, save_envelope = 1,
>     save_bodystructure_header = 1, save_bodystructure_body = 1,
>     parsed_bodystructure = 0, hdr_size_set = 1, body_size_set = 1,
>     messageparts_saved_to_cache = 0}, data_pool = 0xc01a8, ibox = 0xb6ff8,
> ---Type <return> to continue, or q <return> to quit---
>   trans = 0xbb1b8, uid_validity = 1121902144, wanted_fields = 24597,
>   wanted_headers = 0xbaff0, header_seq = 4, header_data = 0xaeb80,
>   header_lines = {buffer = 0xaeba8, element_size = 20}, header_match = {
>     buffer = 0xaebd0, element_size = 1}, header_match_lines = {
>     buffer = 0xaec20, element_size = 4}, header_match_value = 6 '\006'}
> (gdb) quit
> %exit
> exit
> 
> script done on Tue Jan 31 07:29:30 2006


Now that looks familiar. (See previous post of mine.)



More information about the dovecot mailing list