[Dovecot] crash with dovecot 2.2: Panic: Buffer full
tonio at starbridge.org
tonio at starbridge.org
Sun Apr 7 22:47:30 EEST 2013
Le 19/03/2013 07:24, Tonio a écrit :
>
>
>
> Le 18 mars 2013 à 14:47, Timo Sirainen <tss at iki.fi> a écrit :
>
>> On Sat, 2013-03-16 at 13:51 +0100, tonio at starbridge.org wrote:
>>> 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 at spamguard.fr): Panic: Buffer full (4254 > 4248,
>>> pool <none>)
>> These should fix it: http://hg.dovecot.org/dovecot-2.2/rev/689dbeadf168
>> http://hg.dovecot.org/dovecot-2.2/rev/ee7352f46d1e
>>
>>
>>
> Thx Timo
> It's ok now
>
> Regards
> Tonio
>
>
Hi Timo,
since I've upgraded to 2.2.rc5 (c24783148d78), I've got the previous
error again:
It's happening on a large mailbox on almost every emails, with Horde 5
webmail client (works fine with thunderbird so far)
Thanks for your help
Apr 7 21:30:58 mx2 dovecot: imap(clean-quarantine at spamguard.fr): Panic:
Buffer full (8206 > 8192, pool <none>)
Apr 7 21:30:58 mx2 dovecot: imap(clean-quarantine at spamguard.fr): Error:
Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x608ea)
[0x7f29866848ea] -> /usr/lib/dovecot/libdovecot.so.0(+0x6092e)
[0x7f298668492e] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0)
[0x7f2986646385] -> /usr/lib/dovecot/libdovecot.so.0(+0x5d198)
[0x7f2986681198] -> /usr/lib/dovecot/libdovecot.so.0(+0x56d90)
[0x7f298667ad90] -> /usr/lib/dovecot/libdovecot.so.0(+0x4fc1f)
[0x7f2986673c1f] -> /usr/lib/dovecot/libdovecot.so.0(+0x4fc92)
[0x7f2986673c92] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x69)
[0x7f298668ce39] -> /usr/lib/dovecot/libdovecot.so.0(+0x6ddac)
[0x7f2986691dac] -> /usr/lib/dovecot/libdovecot.so.0(+0x6df59)
[0x7f2986691f59] -> /usr/lib/dovecot/libdovecot.so.0(+0x6e04b)
[0x7f298669204b] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x69)
[0x7f298668ce39] ->
/usr/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d)
[0x7f298668d6bd] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x9b524)
[0x7f298697b524] ->
/usr/lib/dovecot/libdovecot-storage.so.0(index_mail_get_binary_stream+0x77)
[0x7f298697b9b7] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mail_get_binary_stream+0x60)
[0x7f2986954590] ->
/usr/lib/dovecot/libdovecot-storage.so.0(imap_msgpart_open+0x9f)
[0x7f29869b0a3f] -> dovecot/imap() [0x418f35] -> dovecot/imap()
[0x4175dd] -> dovecot/imap(imap_fetch_more+0x34) [0x418534] ->
dovecot/imap(cmd_fetch+0x309) [0x40e2c9] ->
dovecot/imap(command_exec+0x3c) [0x41621c] -> dovecot/imap() [0x415280]
-> dovecot/imap() [0x41533a] -> dovecot/imap(client_handle_input+0x115)
[0x4155f5] -> dovecot/imap(client_input+0x72) [0x4159a2] ->
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f2986694186]
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xd7)
[0x7f2986694fd7]
Apr 7 21:30:58 mx2 dovecot: imap(clean-quarantine at spamguard.fr): Fatal:
master: service(imap): child 23573 killed with signal 6 (core dumped)
#0 0x00007f29862cc475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt full
#0 0x00007f29862cc475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x00007f29862cf6f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2 0x00007f29866848f8 in default_fatal_finish (type=<optimized out>,
status=status at entry=0) at failures.c:191
backtrace = 0x62d6b0 "/usr/lib/dovecot/libdovecot.so.0(+0x608ea)
[0x7f29866848ea] -> /usr/lib/dovecot/libdovecot.so.0(+0x6092e)
[0x7f298668492e] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0)
[0x7f2986646385] -> /usr/lib/d"...
#3 0x00007f298668492e in i_internal_fatal_handler (ctx=0x7fffe230f150,
format=<optimized out>, args=<optimized out>) at failures.c:652
status = 0
#4 0x00007f2986646385 in i_panic (format=format at entry=0x7f29866b3890
"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 =
0x7fffe230f240, reg_save_area = 0x7fffe230f180}}
#5 0x00007f2986681198 in buffer_check_limits (data_size=38, pos=8168,
buf=<optimized out>) at buffer.c:65
extra = <optimized out>
new_size = 8206
#6 buffer_write (_buf=0x7fffe230f300, pos=8168, data=0x688beb,
data_size=38) at buffer.c:178
buf = <optimized out>
#7 0x00007f298667ad90 in quoted_printable_decode_full (
src=src at entry=0x686c20 ' ' <repeats 24 times>, "<br>\n", ' '
<repeats 20 times>, "</strong>\n", ' ' <repeats 16 times>, "</td>\n", '
' <repeats 12 times>, "</tr>\n", ' ' <repeats 12 times>, "<tr
height=3D\"36\" align=3D\"center\">\n", ' ' <repeats 16 times>, "<td
width=3D\"62%\" >\n", ' ' <repeats 17 times>..., src_size=8192,
src_pos_r=src_pos_r at entry=0x7fffe230f2f8,
dest=dest at entry=0x7fffe230f300, eof=eof at entry=false) at
quoted-printable.c:61
hexbuf = "3D"
src_pos = <optimized out>
pos = <optimized out>
next = <optimized out>
errors = <optimized out>
#8 0x00007f298667af28 in quoted_printable_decode (
src=src at entry=0x686c20 ' ' <repeats 24 times>, "<br>\n", ' '
<repeats 20 times>, "</strong>\n", ' ' <repeats 16 times>, "</td>\n", '
' <repeats 12 times>, "</tr>\n", ' ' <repeats 12 times>, "<tr
height=3D\"36\" align=3D\"center\">\n", ' ' <repeats 16 times>, "<td
width=3D\"62%\" >\n", ' ' <repeats 17 times>..., src_size=<optimized
out>, src_pos_r=src_pos_r at entry=0x7fffe230f2f8,
dest=dest at entry=0x7fffe230f300) at quoted-printable.c:109
No locals.
#9 0x00007f2986673c1f in i_stream_qp_try_decode_input
(bstream=bstream at entry=0x9f9e90, eof=eof at entry=false) at
istream-qp-decoder.c:63
stream =
0x9f9e90
data = 0x686c20 ' ' <repeats 24 times>, "<br>\n", ' ' <repeats
20 times>, "</strong>\n", ' ' <repeats 16 times>, "</td>\n", ' '
<repeats 12 times>, "</tr>\n", ' ' <repeats 12 times>, "<tr
height=3D\"36\" align=3D\"center\">\n", ' ' <repeats 16 times>, "<td
width=3D\"62%\" >\n", ' ' <repeats 17
times>...
size =
8192
avail =
8192
buffer_avail = <optimized
out>
pos = <optimized
out>
buf = {data = 0xa08590, used = 8168, priv = {0xa08590, 0x0,
0x2000, 0x0,
0x0}}
ret = <optimized
out>
#10 0x00007f2986673c92 in i_stream_qp_decoder_read (stream=0x9f9e90) at
istream-qp-decoder.c:103
bstream =
0x9f9e90
pre_count =
0
post_count = <optimized
out>
ret = <optimized
out>
prev_size =
8192
__FUNCTION__ =
"i_stream_qp_decoder_read"
#11 0x00007f298668ce39 in i_stream_read (stream=0x9f9ef0) at
istream.c:135
_stream =
0x9f9e90
old_size =
0
ret = <optimized
out>
__FUNCTION__ =
"i_stream_read"
#12 0x00007f2986691dac in read_more (sstream=0x9fa360) at
istream-seekable.c:140
size = <optimized
out>
ret = <optimized
out>
#13 0x00007f2986691f59 in read_from_buffer
(sstream=sstream at entry=0x9fa360, ret_r=ret_r at entry=0x7fffe230f418) at
istream-seekable.c:182
stream =
0x9fa360
data = <optimized
out>
size =
0
pos = <optimized out>
offset = <optimized
out>
__FUNCTION__ =
"read_from_buffer"
#14 0x00007f298669204b in i_stream_seekable_read (stream=0x9fa360) at
istream-seekable.c:240
sstream =
0x9fa360
data = <optimized
out>
size = <optimized out>
pos = <optimized out>
ret = <optimized out>
__FUNCTION__ = "i_stream_seekable_read"
#15 0x00007f298668ce39 in i_stream_read (stream=stream at entry=0x9fa3c0)
at istream.c:135
_stream = 0x9fa360
old_size = 0
ret = <optimized out>
__FUNCTION__ = "i_stream_read"
#16 0x00007f298668d6bd in i_stream_read_data
(stream=stream at entry=0x9fa3c0, data_r=data_r at entry=0x7fffe230f500,
size_r=size_r at entry=0x7fffe230f508, threshold=threshold at entry=0) at
istream.c:465
ret = <optimized out>
read_more = false
__FUNCTION__ = "i_stream_read_data"
#17 0x00007f298697b524 in blocks_count_lines (full_input=0x9fa3c0,
ctx=0x7fffe230f510) at index-mail-binary.c:319
block_idx = 5
p = <optimized out>
size = 0
data = 0x0
ret = <optimized out>
cur_block = 0x62d488
block_count = 7
cur_offset = 3718
skip = <optimized out>
#18 index_mail_read_binary_to_cache (_mail=_mail at entry=0x66d5b0,
part=part at entry=0x672050, include_hdr=include_hdr at entry=false,
binary_r=binary_r at entry=0x7fffe230f5c6,
converted_r=converted_r at entry=0x7fffe230f5c7) at index-mail-binary.c:393
mail = 0x66d5b0
cache = 0x657b30
ctx = {mail = 0x66d5b0, input = 0x685ac0, has_nuls = false,
converted = true, blocks = {arr = {buffer = 0x62d3d8, element_size =
24}, v = 0x62d3d8, v_modifiable = 0x62d3d8}, copy_start_offset = 16849}
__FUNCTION__ = "index_mail_read_binary_to_cache"
#19 0x00007f298697b9b7 in index_mail_get_binary_stream (_mail=0x66d5b0,
part=0x672050, include_hdr=false, size_r=0x7fffe230f688,
lines_r=<optimized out>, binary_r=0x7fffe230f67e,
stream_r=0x7fffe230f750) at index-mail-binary.c:556
mail = 0x66d5b0
cache = 0x657b30
input = <optimized out>
binary = <optimized out>
converted = <optimized out>
__FUNCTION__ = "index_mail_get_binary_stream"
#20 0x00007f2986954590 in mail_get_binary_stream
(mail=mail at entry=0x66d5b0, part=part at entry=0x672050,
include_hdr=include_hdr at entry=false, size_r=size_r at entry=0x7fffe230f688,
binary_r=binary_r at entry=0x7fffe230f67e,
stream_r=stream_r at entry=0x7fffe230f750) at mail.c:243
_data_stack_cur_id = 5
p = 0x66d5b0
ret = <optimized out>
#21 0x00007f29869b0a3f in imap_msgpart_open (mail=mail at entry=0x66d5b0,
msgpart=0x669a30, result_r=result_r at entry=0x7fffe230f750) at
imap-msgpart.c:645
part = 0x672050
part_size = {physical_size = 6681872, virtual_size = 0, lines =
6685192}
size = <optimized out>
include_hdr = false
binary = <optimized out>
use_partial_cache = <optimized out>
ret = 0
#22 0x0000000000418f35 in fetch_body_msgpart (ctx=0x660208,
mail=0x66d5b0, body=0x660838) at imap-fetch-body.c:164
result = {input = 0x0, size = 0, size_field = 0,
binary_decoded_input_has_nuls = false}
str = <optimized out>
#23 0x00000000004175dd in imap_fetch_more_int (ctx=ctx at entry=0x660208,
cancel=false) at imap-fetch.c:504
h = <optimized out>
_data_stack_cur_id = 4
state = 0x660258
client = 0x65f510
handlers = 0x660538
count = 2
ret = <optimized out>
__FUNCTION__ = "imap_fetch_more_int"
#24 0x0000000000418534 in imap_fetch_more (ctx=0x660208,
cmd=cmd at entry=0x6600f0) at imap-fetch.c:556
ret = <optimized out>
__FUNCTION__ = "imap_fetch_more"
#25 0x000000000040e2c9 in cmd_fetch (cmd=0x6600f0) at cmd-fetch.c:279
client = 0x65f510
ctx = 0x660208
args = 0x638a08
next_arg = <optimized out>
list_arg = 0x8661fe60
search_args = 0x0
qresync_args = {qresync_sample_seqset = 0x638b68,
qresync_sample_uidset = 0x0}
messageset = 0x638b70 "1330796"
send_vanished = <optimized out>
ret = <optimized out>
#26 0x000000000041621c in command_exec (cmd=cmd at entry=0x6600f0) at
imap-commands.c:156
hook = 0x636d60
ret = <optimized out>
#27 0x0000000000415280 in client_command_input (cmd=0x6600f0) at
imap-client.c:775
client = 0x65f510
command = <optimized out>
__FUNCTION__ = "client_command_input"
#28 0x000000000041533a in client_command_input (cmd=0x6600f0) at
imap-client.c:836
client = 0x65f510
command = <optimized out>
__FUNCTION__ = "client_command_input"
#29 0x00000000004155f5 in client_handle_next_command
(remove_io_r=<synthetic pointer>, client=0x65f510) at imap-client.c:874
No locals.
#30 client_handle_input (client=client at entry=0x65f510) at imap-client.c:886
_data_stack_cur_id = 3
ret = false
remove_io = false
handled_commands = false
__FUNCTION__ = "client_handle_input"
#31 0x00000000004159a2 in client_input (client=0x65f510) at
imap-client.c:928
cmd = <optimized out>
output = 0x65ff28
bytes = 37
__FUNCTION__ = "client_input"
#32 0x00007f2986694186 in io_loop_call_io (io=0x65fff0) at ioloop.c:387
ioloop = 0x635700
t_id = 2
#33 0x00007f2986694fd7 in io_loop_handler_run
(ioloop=ioloop at entry=0x635700) at ioloop-epoll.c:215
ctx = 0x635a70
events = 0x0
event = 0x635ae0
list = 0x660040
io = <optimized out>
tv = {tv_sec = 1799, tv_usec = 999263}
events_count = <optimized out>
msecs = <optimized out>
ret = 1
i = <optimized out>
call = <optimized out>
__FUNCTION__ = "io_loop_handler_run"
#34 0x00007f2986693cc8 in io_loop_run (ioloop=0x635700) at ioloop.c:406
No locals.
#35 0x00007f298664b513 in master_service_run (service=0x635590,
callback=callback at entry=0x41e770 <client_connected>) at master-service.c:560
No locals.
#36 0x000000000040b940 in main (argc=1, argv=0x635390) at main.c:400
set_roots = {0x425a20, 0x0}
login_set = {auth_socket_path = 0x62d040 "\001",
postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback =
0x41e5e0 <login_client_connected>, failure_callback = 0x41e710
<login_client_failed>, request_auth_token = 1}
service_flags = <optimized out>
storage_service_flags = <optimized out>
username = 0x0
c = <optimized out>
More information about the dovecot
mailing list