[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