[Dovecot] failed assertion in 1.1.8: istream.c: line 81

Alan Ferrency alan at pair.com
Wed Mar 4 17:12:57 EET 2009


Hi.

I applied the patch, and the assertion did move to istream-raw-mbox.c.

I've attached a script of the gdb session with the prints you requested.

Thanks,
Alan Ferrency
pair Networks, Inc.

On Tue, 3 Mar 2009, Timo Sirainen wrote:

> On Tue, 2009-03-03 at 15:42 -0500, Alan Ferrency wrote:
> > On Tue, 3 Mar 2009, Timo Sirainen wrote:
> >
> > > On Tue, 2009-03-03 at 15:35 -0500, Alan Ferrency wrote:
> > > > I have a core dump available for deliver; here's a backtrace:
>
> There's some bug here, but I'm not really sure where exactly the bug is.
> Could you apply the attached patch, remove -O2 from CFLAGS in
> src/lib-storage/index/mbox/Makefile, install and see if the assert moves
> to the istream-raw-mbox.c. If it does, again do:
>
> fr 6
> p ret
> p pos
> p new_pos
> p *rstream
> p *stream.parent
> p *stream.parent.real_stream
-------------- next part --------------
GNU gdb 6.1.1 [FreeBSD]

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 "i386-marcel-freebsd"...

Core was generated by `deliver'.

Program terminated with signal 6, Aborted.

Reading symbols from /usr/local/lib/libiconv.so.3...done.

Loaded symbols for /usr/local/lib/libiconv.so.3

Reading symbols from /lib/libc.so.6...done.

Loaded symbols for /lib/libc.so.6

Reading symbols from /usr/local/lib/dovecot/lda/lib10_quota_plugin.so...done.

Loaded symbols for /usr/local/lib/dovecot/lda/lib10_quota_plugin.so

Reading symbols from /usr/lib/librpcsvc.so.3...done.

Loaded symbols for /usr/lib/librpcsvc.so.3

Reading symbols from /libexec/ld-elf.so.1...done.

Loaded symbols for /libexec/ld-elf.so.1

#0  0x282c0ecb in kill () from /lib/libc.so.6

(gdb) bt

#0  0x282c0ecb in kill () from /lib/libc.so.6

#1  0x282c0e68 in raise () from /lib/libc.so.6

#2  0x282bfb78 in abort () from /lib/libc.so.6

#3  0x080bbc24 in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:150

#4  0x080bbf07 in i_syslog_fatal_handler (type=LOG_TYPE_PANIC, status=0, 

    fmt=0x80d14d0 "file %s: line %d (%s): assertion failed: (%s)", args=0xbfbfe274 "?\024\r\b?") at failures.c:308

#5  0x080bbd83 in i_panic (format=0x80d14d0 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:197

#6  0x0806d5da in i_stream_raw_mbox_read (stream=0x8107e00) at istream-raw-mbox.c:184

#7  0x0806dc1a in i_stream_raw_mbox_read (stream=0x8107e00) at istream-raw-mbox.c:332

#8  0x0806dc1a in i_stream_raw_mbox_read (stream=0x8107e00) at istream-raw-mbox.c:332

#9  0x080bf960 in i_stream_read (stream=0x8107e28) at istream.c:78

#10 0x080bfe89 in i_stream_read_data (stream=0x8107e28, data_r=0xbfbfe4d8, size_r=0xbfbfe4d4, threshold=0) at istream.c:322

#11 0x0806e696 in istream_raw_mbox_get_body_size (stream=0x8107e28, expected_body_size=11013) at istream-raw-mbox.c:563

#12 0x08074746 in mbox_sync_read_next_mail (sync_ctx=0xbfbfe710, mail_ctx=0xbfbfe5a0) at mbox-sync.c:151

#13 0x08076830 in mbox_sync_loop (sync_ctx=0xbfbfe710, mail_ctx=0xbfbfe5a0, partial=false) at mbox-sync.c:1003

#14 0x08077e61 in mbox_sync_do (sync_ctx=0xbfbfe710, flags=0) at mbox-sync.c:1528

#15 0x080789cb in mbox_sync_int (mbox=0x8108028, flags=0, lock_id=0xbfbfe8c4) at mbox-sync.c:1833

#16 0x08078c12 in mbox_sync (mbox=0x8108028, flags=0) at mbox-sync.c:1885

#17 0x08071f2e in mbox_save_init_file (ctx=0x80f7b00, t=0x80f7980, want_mail=true) at mbox-save.c:318

#18 0x08072380 in mbox_save_init (_t=0x80f7980, flags=0, keywords=0x0, received_date=1236179180, timezone_offset=0, 

    from_envelope=0x80eb100 "info at hawk-display.com", input=0x80fbf28, dest_mail=0x810b028, ctx_r=0xbfbfea20) at mbox-save.c:459

#19 0x282f317f in quota_save_init (t=0x80f7980, flags=0, keywords=0x0, received_date=-1, timezone_offset=0, 

    from_envelope=0x80eb100 "info at hawk-display.com", input=0x80fbf28, dest_mail=0x810b028, ctx_r=0xbfbfea20)

    at quota-storage.c:236

#20 0x080924b9 in mailbox_save_init (t=0x5, flags=0, keywords=0x0, received_date=-1, timezone_offset=0, 

    from_envelope=0x80eb100 "info at hawk-display.com", input=0x80fbf28, dest_mail=0x810b028, ctx_r=0xbfbfea20)

    at mail-storage.c:726

#21 0x08090496 in mail_storage_copy (t=0x80f7980, mail=0xbfbfea20, flags=0, keywords=0x0, dest_mail=0x810b028)

    at mail-copy.c:28

#22 0x282f308a in quota_copy (t=0x80f7980, mail=0x8102028, flags=0, keywords=0x0, dest_mail=0x810b028) at quota-storage.c:180

#23 0x08059100 in deliver_save (namespaces=0x80fc028, storage_r=0xbfbfeb90, mailbox=0x80d57eb "INBOX", mail=0x8102028, 

    flags=0, keywords=0x0) at deliver.c:237

#24 0x0805a968 in main (argc=5, argv=0xbfbfec40) at deliver.c:1093

(gdb) fr 6

#6  0x0806d5da in i_stream_raw_mbox_read (stream=0x8107e00) at istream-raw-mbox.c:184

184					i_assert(stream->skip != stream->pos);

(gdb) p ret

$1 = -2

(gdb) p pos

$2 = 8192

(gdb) [ p new_pos

$3 = 135332096

(gdb) p *rstream

$4 = {istream = {iostream = {refcount = 1, close = 0x80cd3a8 <io_stream_default_close_destroy>, 

      destroy = 0x806ce4c <i_stream_raw_mbox_destroy>, 

      set_max_buffer_size = 0x806cee8 <i_stream_raw_mbox_set_max_buffer_size>, destroy_callback = 0, destroy_context = 0x0}, 

    read = 0x806d370 <i_stream_raw_mbox_read>, seek = 0x806dce8 <i_stream_raw_mbox_seek>, 

    sync = 0x806dd54 <i_stream_raw_mbox_sync>, stat = 0x806dd90 <i_stream_raw_mbox_stat>, istream = {v_offset = 676764, 

      stream_errno = 0, mmaped = 0, blocking = 1, closed = 0, seekable = 1, eof = 0, real_stream = 0x8107e00}, fd = -1, 

    abs_start_offset = 0, statbuf = {st_dev = 0, st_ino = 0, st_mode = 0, st_nlink = 0, st_uid = 0, st_gid = 0, st_rdev = 0, 

      st_atimespec = {tv_sec = 1236179180, tv_nsec = 0}, st_mtimespec = {tv_sec = 1236179180, tv_nsec = 0}, st_ctimespec = {

        tv_sec = 1236179180, tv_nsec = 0}, st_size = -1, st_blocks = 0, st_blksize = 0, st_flags = 0, st_gen = 0, 

      st_lspare = 0, st_birthtimespec = {tv_sec = 0, tv_nsec = 0}}, buffer = 0x0, w_buffer = 0x0, buffer_size = 0, 

    max_buffer_size = 8192, skip = 0, pos = 0, parent = 0x8110128, parent_start_offset = 0, line_str = 0x0, 

    return_nolf_line = 0}, received_time = 1236097582, next_received_time = -1, 

  sender = 0x8116040 "wordpress at patriciabosworth.com", next_sender = 0x0, from_offset = 675607, hdr_offset = 675670, 

  body_offset = 676406, mail_size = 18446744073709551615, input_peak_offset = 684956, locked = 1, seeked = 1, crlf_ending = 0, 

  corrupted = 0, eof = 0, header_missing_eoh = 0}

(gdb) p *stream.parent

$5 = {v_offset = 676764, stream_errno = 0, mmaped = 0, blocking = 1, closed = 0, seekable = 1, eof = 0, 

  real_stream = 0x8110100}

(gdb) p *stream.parent.pr  real_stream

$6 = {iostream = {refcount = 2, close = 0x80c0fbc <i_stream_file_close>, destroy = 0x80c1008 <i_stream_file_destroy>, 

    set_max_buffer_size = 0x80c00bc <i_stream_default_set_max_buffer_size>, destroy_callback = 0, destroy_context = 0x0}, 

  read = 0x80c1038 <i_stream_file_read>, seek = 0x80c12e0 <i_stream_file_seek>, sync = 0x80c135c <i_stream_file_sync>, 

  stat = 0x80c1380 <i_stream_file_stat>, istream = {v_offset = 676764, stream_errno = 0, mmaped = 0, blocking = 1, closed = 0, 

    seekable = 1, eof = 0, real_stream = 0x8110100}, fd = 10, abs_start_offset = 0, statbuf = {st_dev = 58, st_ino = 8290386, 

    st_mode = 33152, st_nlink = 1, st_uid = 5509, st_gid = 1000, st_rdev = 33543528, st_atimespec = {tv_sec = 1236179164, 

      tv_nsec = 0}, st_mtimespec = {tv_sec = 1236097582, tv_nsec = 0}, st_ctimespec = {tv_sec = 1236097582, tv_nsec = 0}, 

    st_size = 687419, st_blocks = 1376, st_blksize = 4096, st_flags = 0, st_gen = 0, st_lspare = 0, st_birthtimespec = {

      tv_sec = 0, tv_nsec = 0}}, 

  buffer = 0x8117000 "\nFrom his something she hough her arzil though familiar whisper her psychic the mill yannis followed <a href=\"http://thhgjdirect.com/stop-serzone/\" rel=\"nofollow\">attorney louisiana serzone</a> duin s"..., 

  w_buffer = 0x8117000 "\nFrom his something she hough her arzil though familiar whisper her psychic the mill yannis followed <a href=\"http://thhgjdirect.com/stop-serzone/\" rel=\"nofollow\">attorney louisiana serzone</a> duin s"..., buffer_size = 8192, 

  max_buffer_size = 8192, skip = 0, pos = 8192, parent = 0x0, parent_start_offset = 0, line_str = 0x0, return_nolf_line = 0}

(gdb) q



More information about the dovecot mailing list