Hi Timo,
I've got a crash with dovecot 2.2
dovecot --version
2.2.rc2 (69c26a9e3be5)
It's occured when accessing with imap on a large mailbox (around 50k
messages)
imap(clean-quarantine(a)spamguard.fr): Panic: Buffer full (4254 > 4248,
pool <none>)
Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x6089a)
[0x7f9d1bcde89a] -> /usr/lib/dovecot/libdovecot.so.0(+0x608de)
[0x7f9d1bcde8de] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0)
[0x7f9d1bca039b] -> /usr/lib/dovecot/libdovecot.so.0(+0x5d148)
[0x7f9d1bcdb148] -> /usr/lib/dovecot/libdovecot.so.0(+0x56ba8)
[0x7f9d1bcd4ba8] -> /usr/lib/dovecot/libdovecot.so.0(+0x4fa77)
[0x7f9d1bccda77] -> /usr/lib/dovecot/libdovecot.so.0(+0x4faf2)
[0x7f9d1bccdaf2] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x69)
[0x7f9d1bce6de9] -> /usr/lib/dovecot/libdovecot.so.0(+0x6dcac)
[0x7f9d1bcebcac] -> /usr/lib/dovecot/libdovecot.so.0(+0x6de59)
[0x7f9d1bcebe59] -> /usr/lib/dovecot/libdovecot.so.0(+0x6df4b)
[0x7f9d1bcebf4b] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x69)
[0x7f9d1bce6de9] ->
/usr/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d)
[0x7f9d1bce765d] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x9af84)
[0x7f9d1bfd4f84] ->
/usr/lib/dovecot/libdovecot-storage.so.0(index_mail_get_binary_stream+0x77)
[0x7f9d1bfd5417] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mail_get_binary_stream+0x60)
[0x7f9d1bfae5c0] ->
/usr/lib/dovecot/libdovecot-storage.so.0(imap_msgpart_open+0x9f)
[0x7f9d1c00a3df] -> dovecot/imap() [0x418f55] -> dovecot/imap()
[0x4175fd] -> dovecot/imap(imap_fetch_more+0x34) [0x418554] ->
dovecot/imap(cmd_fetch+0x309) [0x40e2c9] ->
dovecot/imap(command_exec+0x3c) [0x41623c] -> dovecot/imap() [0x4152a0]
-> dovecot/imap() [0x41535a] -> dovecot/imap(client_handle_input+0x115)
[0x415615] -> dovecot/imap(client_input+0x72) [0x4159c2] ->
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f9d1bcee086]
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xd7)
[0x7f9d1bceeed7]
Mar 16 13:37:19 mx2 dovecot: imap(clean-quarantine(a)spamguard.fr): Fatal:
master: service(imap): child 9983 killed with signal 6 (core dumped)
backtrace:
#0 0x00007f9d1b926475 in raise () from
/lib/x86_64-linux-gnu/libc.so.6
No symbol table info
available.
#1 0x00007f9d1b9296f0 in abort () from
/lib/x86_64-linux-gnu/libc.so.6
No symbol table info
available.
#2 0x00007f9d1bcde8a8 in default_fatal_finish (type=<optimized out>,
status=status@entry=0) at
failures.c:191
backtrace = 0x62d5f0 "/usr/lib/dovecot/libdovecot.so.0(+0x6089a)
[0x7f9d1bcde89a] -> /usr/lib/dovecot/libdovecot.so.0(+0x608de)
[0x7f9d1bcde8de] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0)
[0x7f9d1bca039b] -> /usr/lib/d"...
#3 0x00007f9d1bcde8de in i_internal_fatal_handler (ctx=0x7fff68422000,
format=<optimized out>, args=<optimized out>) at
failures.c:652
status =
0
#4 0x00007f9d1bca039b in i_panic (format=format@entry=0x7f9d1bd0d510
"Buffer full (%lu > %lu, pool %s)") at
failures.c:263
ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp =
0x0}
args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area =
0x7fff684220f0, reg_save_area =
0x7fff68422030}}
#5 0x00007f9d1bcdb148 in buffer_check_limits (data_size=75, pos=4179,
buf=<optimized out>) at
buffer.c:65
extra = <optimized
out>
new_size =
4254
#6 buffer_write (_buf=0x7fff684221b0, pos=4179, data=0x679010,
data_size=75) at
buffer.c:178
buf = <optimized
out>
#7 0x00007f9d1bcd4ba8 in quoted_printable_decode_full
(
src=src@entry=0x677eb0 "enter\" bgcolor=3D\"#ffffff\"
width=3D\"560\">\n <table cellspacing=3D\"0\" border=3D\"0\"
align=3D\"center\" style=3D\"margin: 0=\n auto;\" cellpadding=3D\"0\"
width=3D\"520\"><tr>\n<td align=3D\"left\" width=3D\"520\">\n
"...,
src_size=5570, src_pos_r=src_pos_r@entry=0x7fff684221a8,
dest=dest@entry=0x7fff684221b0, eof=eof@entry=false) at
quoted-printable.c:60
hexbuf =
"3D"
src_pos = <optimized
out>
pos = <optimized
out>
next = <optimized
out>
errors = <optimized
out>
#8 0x00007f9d1bcd4d38 in quoted_printable_decode
(
src=src@entry=0x677eb0 "enter\" bgcolor=3D\"#ffffff\"
width=3D\"560\">\n <table cellspacing=3D\"0\" border=3D\"0\"
align=3D\"center\" style=3D\"margin: 0=\n auto;\" cellpadding=3D\"0\"
width=3D\"520\"><tr>\n<td align=3D\"left\" width=3D\"520\">\n
"...,
src_size=<optimized out>, src_pos_r=src_pos_r@entry=0x7fff684221a8,
dest=dest@entry=0x7fff684221b0) at
quoted-printable.c:108
No
locals.
#9 0x00007f9d1bccda77 in i_stream_qp_try_decode_block
(bstream=bstream@entry=0x66dd50, eof=eof@entry=false) at
istream-qp-decoder.c:63
stream =
0x66dd50
data = 0x677eb0 "enter\" bgcolor=3D\"#ffffff\"
width=3D\"560\">\n <table cellspacing=3D\"0\" border=3D\"0\"
align=3D\"center\" style=3D\"margin: 0=\n auto;\" cellpadding=3D\"0\"
width=3D\"520\"><tr>\n<td align=3D\"left\" width=3D\"520\">\n
"...
size =
6
avail =
4248
buffer_avail = <optimized
out>
pos = <optimized out>
buf = {data = 0x682e38, used = 4179, priv = {0x682e38, 0x0,
0x1098, 0x0, 0x0}}
ret = <optimized out>
#10 0x00007f9d1bccdaf2 in i_stream_qp_decoder_read (stream=0x66dd50) at
istream-qp-decoder.c:103
bstream = 0x66dd50
pre_count = 0
post_count = <optimized out>
ret = <optimized out>
prev_size = 5570
__FUNCTION__ = "i_stream_qp_decoder_read"
#11 0x00007f9d1bce6de9 in i_stream_read (stream=0x66ddb0) at istream.c:135
_stream = 0x66dd50
old_size = 0
ret = <optimized out>
__FUNCTION__ = "i_stream_read"
#12 0x00007f9d1bcebcac in read_more (sstream=0x66df30) at
istream-seekable.c:140
size = <optimized out>
ret = <optimized out>
#13 0x00007f9d1bcebe59 in read_from_buffer
(sstream=sstream@entry=0x66df30, ret_r=ret_r@entry=0x7fff684222c8) at
istream-seekable.c:182
stream = 0x66df30
data = <optimized out>
size = 0
pos = <optimized out>
offset = <optimized out>
__FUNCTION__ = "read_from_buffer"
#14 0x00007f9d1bcebf4b in i_stream_seekable_read (stream=0x66df30) at
istream-seekable.c:240
sstream = 0x66df30
data = <optimized out>
size = <optimized out>
pos = <optimized out>
ret = <optimized out>
__FUNCTION__ = "i_stream_seekable_read"
#15 0x00007f9d1bce6de9 in i_stream_read (stream=stream@entry=0x66df90)
at istream.c:135
_stream = 0x66df30
old_size = 0
ret = <optimized out>
__FUNCTION__ = "i_stream_read"
#16 0x00007f9d1bce765d in i_stream_read_data
(stream=stream@entry=0x66df90, data_r=data_r@entry=0x7fff684223b0,
size_r=size_r@entry=0x7fff684223b8, threshold=threshold@entry=0) at
istream.c:464
ret = <optimized out>
read_more = false
__FUNCTION__ = "i_stream_read_data"
#17 0x00007f9d1bfd4f84 in blocks_count_lines (full_input=0x66df90,
ctx=0x7fff684223c0) at index-mail-binary.c:319
block_idx = 0
p = <optimized out>
size = 0
data = 0x0
ret = <optimized out>
cur_block = 0x62d410
block_count = 1
cur_offset = 3944
skip = <optimized out>
#18 index_mail_read_binary_to_cache (_mail=_mail@entry=0x66fc00,
part=part@entry=0x671ed0, include_hdr=include_hdr@entry=false,
binary_r=binary_r@entry=0x7fff68422476,
converted_r=converted_r@entry=0x7fff68422477) at index-mail-binary.c:393
mail = 0x66fc00
cache = 0x657a20
ctx = {mail = 0x66fc00, input = 0x66d900, has_nuls = false,
converted = true, blocks = {arr = {buffer = 0x62d3d8, element_size =
24}, v = 0x62d3d8, v_modifiable = 0x62d3d8}, copy_start_offset = 13762}
__FUNCTION__ = "index_mail_read_binary_to_cache"
#19 0x00007f9d1bfd5417 in index_mail_get_binary_stream (_mail=0x66fc00,
part=0x671ed0, include_hdr=false, size_r=0x7fff68422538,
lines_r=<optimized out>, binary_r=0x7fff6842252e,
stream_r=0x7fff68422600) at index-mail-binary.c:556
mail = 0x66fc00
cache = 0x657a20
input = <optimized out>
binary = <optimized out>
converted = <optimized out>
__FUNCTION__ = "index_mail_get_binary_stream"
#20 0x00007f9d1bfae5c0 in mail_get_binary_stream
(mail=mail@entry=0x66fc00, part=part@entry=0x671ed0,
include_hdr=include_hdr@entry=false, size_r=size_r@entry=0x7fff68422538,
binary_r=binary_r@entry=0x7fff6842252e,
stream_r=stream_r@entry=0x7fff68422600) at mail.c:243
_data_stack_cur_id = 5
p = 0x66fc00
ret = <optimized out>
#21 0x00007f9d1c00a3df in imap_msgpart_open (mail=mail@entry=0x66fc00,
msgpart=0x669920, result_r=result_r@entry=0x7fff68422600) at
imap-msgpart.c:644
part = 0x671ed0
part_size = {physical_size = 6681664, virtual_size = 0, lines =
6684952}
size = <optimized out>
include_hdr = false
binary = <optimized out>
use_partial_cache = <optimized out>
ret = 0
#22 0x0000000000418f55 in fetch_body_msgpart (ctx=0x660118,
mail=0x66fc00, body=0x660748) at imap-fetch-body.c:164
result = {input = 0x0, size = 0, size_field = 0,
binary_decoded_input_has_nuls = false}
str = <optimized out>
#23 0x00000000004175fd in imap_fetch_more_int (ctx=ctx@entry=0x660118,
cancel=false) at imap-fetch.c:504
h = <optimized out>
_data_stack_cur_id = 4
state = 0x660168
client = 0x65f440
handlers = 0x660448
count = 2
ret = <optimized out>
__FUNCTION__ = "imap_fetch_more_int"
#24 0x0000000000418554 in imap_fetch_more (ctx=0x660118,
cmd=cmd@entry=0x660000) at imap-fetch.c:556
ret = <optimized out>
__FUNCTION__ = "imap_fetch_more"
#25 0x000000000040e2c9 in cmd_fetch (cmd=0x660000) at cmd-fetch.c:279
client = 0x65f440
ctx = 0x660118
args = 0x6388f8
next_arg = <optimized out>
list_arg = 0x1bc79e60
search_args = 0x0
qresync_args = {qresync_sample_seqset = 0x638a58,
qresync_sample_uidset = 0x0}
messageset = 0x638a60 "1186590"
send_vanished = <optimized out>
ret = <optimized out>
#26 0x000000000041623c in command_exec (cmd=cmd@entry=0x660000) at
imap-commands.c:156
hook = 0x636d50
ret = <optimized out>
#27 0x00000000004152a0 in client_command_input (cmd=0x660000) at
imap-client.c:775
client = 0x65f440
command = <optimized out>
__FUNCTION__ = "client_command_input"
#28 0x000000000041535a in client_command_input (cmd=0x660000) at
imap-client.c:836
client = 0x65f440
command = <optimized out>
__FUNCTION__ = "client_command_input"
#29 0x0000000000415615 in client_handle_next_command
(remove_io_r=<synthetic pointer>, client=0x65f440) at imap-client.c:874
No locals.
#30 client_handle_input (client=client@entry=0x65f440) at imap-client.c:886
_data_stack_cur_id = 3
ret = 240
remove_io = false
handled_commands = false
__FUNCTION__ = "client_handle_input"
#31 0x00000000004159c2 in client_input (client=0x65f440) at
imap-client.c:928
cmd = <optimized out>
output = 0x65fe38
bytes = 37
__FUNCTION__ = "client_input"
#32 0x00007f9d1bcee086 in io_loop_call_io (io=0x65ff00) at ioloop.c:387
ioloop = 0x6356f0
t_id = 2
#33 0x00007f9d1bceeed7 in io_loop_handler_run
(ioloop=ioloop@entry=0x6356f0) at ioloop-epoll.c:215
ctx = 0x635a60
events = 0x0
event = 0x635ad0
list = 0x65ff50
io = <optimized out>
tv = {tv_sec = 59, tv_usec = 738409}
events_count = <optimized out>
msecs = <optimized out>
ret = 1
i = <optimized out>
call = <optimized out>
__FUNCTION__ = "io_loop_handler_run"
#34 0x00007f9d1bcedbc8 in io_loop_run (ioloop=0x6356f0) at ioloop.c:406
No locals.
#35 0x00007f9d1bca54e3 in master_service_run (service=0x635590,
callback=callback@entry=0x41e790 <client_connected>) at master-service.c:550
No locals.
#36 0x000000000040b940 in main (argc=1, argv=0x635390) at main.c:400
set_roots = {0x425ac0, 0x0}
login_set = {auth_socket_path = 0x62d040 "\001",
postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback =
0x41e600 <login_client_connected>, failure_callback = 0x41e730
<login_client_failed>, request_auth_token = 1}
service_flags = <optimized out>
storage_service_flags = <optimized out>
username = 0x0
c = <optimized out>
Thanks for your help
Tonio