On 23.09.2008 09:47, Timo Sirainen wrote:
On Tue, 2008-09-23 at 09:38 +0400, Anton Yuzhaninov wrote:
On 22.09.2008 23:34, Timo Sirainen wrote:
On Thu, 2008-09-18 at 19:32 +0400, Anton Yuzhaninov wrote:
I found imap core in coredump dir:

(gdb) bt
#0  0x00000000004abdea in message_parse_header_next (ctx=0x79c150, 
hdr_r=0x7fffffffe478) at message-header-parser.c:114
Do you still have this core? Could you do:

p *ctx.input
p ret
p msg
p size
p parse_size
p startpos

(gdb) f 0
#0  0x00000000004abdea in message_parse_header_next (ctx=0x79c150, 
hdr_r=0x7fffffffe478) at message-header-parser.c:114
114                             if (msg[0] == '\n' ||
(gdb) p *ctx.input
$1 = {v_offset = 0, stream_errno = 0, mmaped = 0, blocking = 1, closed = 0, 
seekable = 1, eof = 0, real_stream = 0x795180}

Thanks, one more:

p *ctx.input.real_stream


(gdb) p *ctx.input.real_stream
$1 = {iostream = {refcount = 2, close = 0x4d1610 
<io_stream_default_close_destroy>,
    destroy = 0x4a78b0 <i_stream_header_filter_destroy>,
    set_max_buffer_size = 0x4a7980 <i_stream_header_filter_set_max_buffer_size>,
    destroy_callback = 0x4630f0 <index_mail_stream_destroy_callback>, 
destroy_context = 0x713048},
  read = 0x4a84a0 <i_stream_header_filter_read>, seek = 0x4a8770 
<i_stream_header_filter_seek>,
  sync = 0x4a88e0 <i_stream_header_filter_sync>, stat = 0x4a8900 
<i_stream_header_filter_stat>, istream = {v_offset = 0,
    stream_errno = 0, mmaped = 0, blocking = 1, closed = 0, seekable = 1, eof = 
0, real_stream = 0x795180}, fd = -1,
  abs_start_offset = 212797, 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 = 1221550817, tv_nsec = 0}, 
st_mtimespec = {tv_sec = 1221550817, tv_nsec = 0},
    st_ctimespec = {tv_sec = 1221550817, 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 = 
0x7302d0, parent_start_offset = 0, line_str = 0x0}

(gdb) p ret
$2 = -2
(gdb) p msg
$3 = (const unsigned char *) 0x0
(gdb) p size
$4 = 0

Strange, it returned "input buffer is full" while the buffer was empty..


--
WBR,
 Anton Yuzhaninov
 Rambler Mail

Reply via email to