On Monday 07 September 2009 04:18:06 Timo Sirainen
wrote:> On Tue, 2009-09-01 at 16:57 +0200, Michal Hlavinka wrote:
> > Would it be possible to use syslog for error output sooner or there
are
> > any cons?
>
> http://hg.dovecot.org/dovecot-1.2/rev/eb4ea59e4657
>
Thanks for looking at this!
Unfortunately this does not work
backtrace:
(gdb) bt
#0 0x00000034bca489d7 in _IO_vfprintf_internal (s=0x7fffffffe020,
format=<value
optimized out>, ap=0x7fffffffe350) at vfprintf.c:1580
#1 0x00000034bca6f232 in _IO_vsnprintf (string=0x63f718 "listen(",
maxlen=<value optimized out>, format=0x63f6e8 "listen(%s, %d) failed:
Address
already in use", args=0x7fffffffe350)
at vsnprintf.c:120
#2 0x000000000042605c in t_noalloc_strdup_vprintf (format=0x63f6e8
"listen(%s, %d) failed: Address already in use", args=0x7fffffffe350,
size_r=0x7fffffffe22c) at strfuncs.c:120
#3 0x0000000000426152 in p_strdup_vprintf (pool=0x63c780, format=0x42bd69
"listen(%s, %d) failed: %m", args=0x7fffffffe350) at strfuncs.c:139
#4 0x00000000004266c2 in t_strdup_vprintf (format=0x42bd69 "listen(%s, %d)
failed: %m", args=0x7fffffffe350) at strfuncs.c:254
#5 0x00000000004171c6 in syslog_handler (level=2, type=LOG_TYPE_FATAL,
format=0x42bd69 "listen(%s, %d) failed: %m", args=0x7fffffffe350) at
failures.c:298
#6 0x0000000000417274 in i_syslog_fatal_handler (type=LOG_TYPE_FATAL,
status=89, fmt=0x42bd69 "listen(%s, %d) failed: %m",
args=0x7fffffffe350) at
failures.c:311
#7 0x000000000040d783 in tee_fatal_handler (type=LOG_TYPE_FATAL, status=89,
fmt=0x42bd69 "listen(%s, %d) failed: %m", args=0x7fffffffe350) at
main.c:152
#8 0x0000000000416d87 in i_fatal (format=0x42bd69 "listen(%s, %d) failed:
%m") at failures.c:216
#9 0x0000000000407616 in listener_array_listen_missing (proto=0x42bc64
"imap", listens_arr=0x647720, retry=false) at listener.c:335
#10 0x000000000040769d in listener_listen_missing (set=0x6474d8,
proto=0x42bc64 "imap", retry=false) at listener.c:346
#11 0x00000000004077e1 in listeners_open_fds (old_set=0x0, retry=false) at
listener.c:371
#12 0x000000000040e50c in main (argc=1, argv=0x7fffffffe658) at main.c:649
reproducer:
listen for ipv4 and ipv6 connections on system, where ipv6 is disabled, start
dovecot:
Fatal: listen(::, 143) failed: Address already in use
Program received signal SIGSEGV, Segmentation fault.
Cheers,
Michal
-------------- next part --------------
(gdb) bt full
#0 0x00000034bca489d7 in _IO_vfprintf_internal (s=0x7fffffffe020,
format=<value optimized out>, ap=0x7fffffffe350) at vfprintf.c:1580
len = <value optimized out>
string_malloced = <value optimized out>
step0_jumps = {0, 3491, 3570, 6406, 6492, 2736, 2829, 5759, 3764, 3946,
4175, 1491, 1570, 1659, 1889, 1936, 3749, 3086, 5665, 5090, 6168, -557, 4254,
4343, 6127, -2814, 5387, 1748,
1817, 5680}
step3b_jumps = {0 <repeats 11 times>, 1570, 0, 0, 1889, 1936,
3749, 3086, 5665, 5090, 6168, -557, 4254, 4343, 6127, -2814, 5387, 0, 0, 0}
is_negative = <value optimized out>
alt = 0
space = 0
is_long_double = 0
step2_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4175, 1491, 1570, 1659,
1889, 1936, 3749, 3086, 5665, 5090, 6168, -557, 4254, 4343, 6127, -2814, 5387,
1748, 1817, 0}
the_arg = {pa_wchar = -1130298040 L'H', pa_int = -1130298040,
pa_long_int = 226502968648, pa_long_long_int = 226502968648, pa_u_int =
3164669256, pa_u_long_int = 226502968648,
pa_u_long_long_int = 226502968648, pa_double =
1.1190733549003374e-312, pa_long_double = <invalid float value>, pa_string
= 0x34bca10548 "",
pa_wstring = 0x34bca10548
L"\15130273400\31064564\13723644537\14334663166\31467141\15134657537\15431262147\35062563\13723644537\16335062547\15532272000\14431471145\16431271537\14533264564\14627657400\15135071157\14627674546\33064541\16035062547\16233664562\36272151\13723644537\14631262167\16433072541\16034674137\33472165\15034066141\16233671541\14532000164\16233671162\15733061400\14500065543\16433462566\16700062146\14631071157\31262562\16035671566\16433464562\13727600146\16434661157\13732661541\15134470166\13731472156\32664143\16434472163\14133264557\13727600170\16034671551\13731261541\11127600154\14534657517\15535665545\32671141\16431271537\34066552\14233257537\16434467163\16330673557\15332061537\16327657400\15531471164\15427667157\16231074000\15430261537\14734666554\16327657400\16235261545\14531657545\16633462564\16431263400\14132266141\16433462563\14531072000\14535062554\16327657400\14431264143\16534061537\15635267543\13727600164\14535467567\15733063162\14436000167\13735257562\14733467554\14733467554\15500072137\15634663563\16230200144\14527675147\14134472170\13700072143\16235071537\13731067564\14535067151\15430267162\15430266400\13730667554\14230271565\16327662554\31275151\16335062547\15530267160\15035062400\15427671145\31267151\15433060555\16427661557\33264562\14531661564\16231670164\16434000160\14131271150\14534657544\15630261564\16433062543\31270171\16331067145\16433462560\16533463400\16631262137\15330266537\16631262145\16330273000\15632271160\15300063164\14527674545\17134461556\14534672160\15732271563\14233200156\16434467163\16330673557\16731271000\31067151\14432061546\13700071151\14732271537\14533271551\16231261155\15035062400\15627671145\13730267564\15130400162\13700062156\16434661157\13732661541\15131662542\14436000156\13735257562\14534074550\14534400162\16434664547\16034471145\15430600143\16027672156\15634471145\14734600157\16034672145\13735067145\15734000162\13736064563\16631060546\6631271551\14335600064\14233267564\15532272000\14431471145\16431263537\14533264564\16333670000\16327674151\15635660560\15432263137\14330257545\15633664564\14531057563\15734472163\16434000171\14131271150\15730657544\14427662156\16235071545\13700074557\13734674563\15434471145\35071551\16335062547\15530267147\15500071137\14133262562\11127600160\15131457517\15727662554\14634462566\35667554\14334472163\33066157\15735057537\16034072567\15427671145"...,
pa_pointer = 0x34bca10548, pa_user = 0x34bca10548}
showsign = 0
step3a_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6038, 0, 0, 0, 1889, 1936,
3749, 3086, 5665, 0, 0, 0, 0, 4343, 0, 0, 0, 0, 0, 0}
step4_jumps = {0 <repeats 14 times>, 1889, 1936, 3749, 3086, 5665,
5090, 6168, -557, 4254, 4343, 6127, -2814, 5387, 0, 0, 0}
string = 0x3a <Address 0x3a out of bounds>
width = <value optimized out>
use_outdigits = 0
pad = <value optimized out>
step1_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 3946, 4175, 1491, 1570, 1659,
1889, 1936, 3749, 3086, 5665, 5090, 6168, -557, 4254, 4343, 6127, -2814, 5387,
1748, 1817, 0}
group = 0
is_short = 0
is_long = 0
is_char = 0
base = 0
left = 0
prec = <value optimized out>
spec = 115 's'
_buffer = {__routine = 0x7fffffffe090, __arg = 0x5, __canceltype = 2,
__prev = 0x34bc60a25d}
_avail = 0
thousands_sep = 0x0
grouping = 0xffffffffffffffff <Address 0xffffffffffffffff out of
bounds>
done = 7
f = 0x63f6f0 "s, %d) failed: Address already in use"
lead_str_end = 0x63f6ef "%s, %d) failed: Address already in
use"
work_buffer = "\30\355\0\0\0\0\0\0\0\0\0\0@\0\70\0\4\200\255\373!\0
\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\273\377\377\377\177\0\0.\273\377\377\377\177\0\0\0\333\377\377\377\177\0\0\202\236`\274\64\0\0\0\3\0\0\0\4\0\0\0\260\333\377\377\377\177\0\0P\336\377\377\377\177\0\0\230\265\375\367\377\177\0\0\20\335\377\377\377\177\0\0\5\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0]\242`\274\64\0\0\0\33",
'\0' <repeats 15 times>"\320, \60\240\274\64",
'\0' <repeats 11 times>"\260,
\333\377\377\377\177\0\0\0<\240\274\64", '\0' <repeats 11
times>, "h\230d\0\0\0\0\0\377\3---Type <return> to continue, or q
<return> to quit---
77\377\377\377\177\0\0y\342\334\367\377\177\0\0H\5\241\274\64\0\0\0\300k4\0\0\0`\2104\0\0\0\230\5",
'\0' <repeats 14 times>,
"?d\0\0\0\0\0\240A\246\274\64\0\0\0`\210"...
workstart = 0x0
workend = 0x7fffffffded8 "\230\265\375\367\377\177"
ap_save = {{gp_offset = 24, fp_offset = 48, overflow_arg_area =
0x7fffffffe440, reg_save_area = 0x7fffffffe370}}
nspecs_done = <value optimized out>
save_errno = <value optimized out>
readonly_format = 0
jump_table =
"\1\0\0\4\0\16\0\6\0\0\a\2\0\3\t\0\5\b\b\b\b\b\b\b\b\b\0\0\0\0\0\0\0\32\0\31\0\23\23\23\0\35\0\0\f\0\0\0\0\0\0\25\0\0\0\0\22\0\r\0\0\0\0\0\0\32\0\24\17\23\23\23\n\17\34\0\v\30\27\21\26\f\0\25\33\20\0\0\22\0\r"
__PRETTY_FUNCTION__ = "_IO_vfprintf_internal"
#1 0x00000034bca6f232 in _IO_vsnprintf (string=0x63f718 "listen(",
maxlen=<value optimized out>, format=0x63f6e8 "listen(%s, %d) failed:
Address already in use", args=0x7fffffffe350)
at vsnprintf.c:120
sf = {f = {_sbf = {_f = {_flags = -72515583, _IO_read_ptr = 0x63f718
"listen(", _IO_read_end = 0x63f718 "listen(", _IO_read_base
= 0x63f718 "listen(",
_IO_write_base = 0x63f718 "listen(", _IO_write_ptr =
0x63f71f "", _IO_write_end = 0x63f844 "", _IO_buf_base =
0x63f718 "listen(", _IO_buf_end = 0x63f844 "",
_IO_save_base = 0x0, _IO_backup_base = 0x0, _IO_save_end = 0x0,
_markers = 0x0, _chain = 0x0, _fileno = -1130326696, _flags2 = 0, _old_offset =
140737354124064,
_cur_column = 0, _vtable_offset = 0 '\0', _shortbuf =
"", _lock = 0x0, _offset = 140737488347408, _codecvt = 0x0, _wide_data
= 0x4033e0, _freeres_list = 0x0,
_freeres_buf = 0x0, _freeres_size = 0, _mode = -1, _unused2 =
"\0\0\0\0L\345`\274\64\0\0\0\1\0\0\0\377\177\0"}, vtable =
0x34bcd67440}, _s = {_allocate_buffer = 0,
_free_buffer = 0x34bca09558}},
overflow_buf =
"@\341\377\377\377\177\0\0-\1\0\0\0\0\0\0\360\341\377\377\377\177\0\0\65Ia\274\64\0\0\0\30\367c\0\0\0\0\0P\343\377\377\377\177\0\0\350\366c\0\0\0\0\0-\1\0\0\0\0\0"}
ret = 0
#2 0x000000000042605c in t_noalloc_strdup_vprintf (format=0x63f6e8
"listen(%s, %d) failed: Address already in use", args=0x7fffffffe350,
size_r=0x7fffffffe22c) at strfuncs.c:120
args2 = {{gp_offset = 24, fp_offset = 48, overflow_arg_area =
0x7fffffffe440, reg_save_area = 0x7fffffffe370}}
tmp = 0x63f718 "listen("
init_size = 301
ret = 32767
__PRETTY_FUNCTION__ = "t_noalloc_strdup_vprintf"
#3 0x0000000000426152 in p_strdup_vprintf (pool=0x63c780, format=0x42bd69
"listen(%s, %d) failed: %m", args=0x7fffffffe350) at strfuncs.c:139
tmp = 0x4033e0
"1\355I\211\321^H\211\342H\203\344\360PTI\307\300\60\254B"
buf = 0x7f00ffffe650 <Address 0x7f00ffffe650 out of bounds>
size = 0
#4 0x00000000004266c2 in t_strdup_vprintf (format=0x42bd69 "listen(%s, %d)
failed: %m", args=0x7fffffffe350) at strfuncs.c:254
No locals.
#5 0x00000000004171c6 in syslog_handler (level=2, type=LOG_TYPE_FATAL,
format=0x42bd69 "listen(%s, %d) failed: %m", args=0x7fffffffe350) at
failures.c:298
_data_stack_cur_id = 3
recursed = 1
#6 0x0000000000417274 in i_syslog_fatal_handler (type=LOG_TYPE_FATAL,
status=89, fmt=0x42bd69 "listen(%s, %d) failed: %m",
args=0x7fffffffe350) at failures.c:311
No locals.
#7 0x000000000040d783 in tee_fatal_handler (type=LOG_TYPE_FATAL, status=89,
fmt=0x42bd69 "listen(%s, %d) failed: %m", args=0x7fffffffe350) at
main.c:152
set = 0x6474d8
#8 0x0000000000416d87 in i_fatal (format=0x42bd69 "listen(%s, %d) failed:
%m") at failures.c:216
args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area =
0x7fffffffe440, reg_save_area = 0x7fffffffe370}}
#9 0x0000000000407616 in listener_array_listen_missing (proto=0x42bc64
"imap", listens_arr=0x647720, retry=false) at listener.c:335
listens = 0x649920
i = 1
j = 0
count = 2
#10 0x000000000040769d in listener_listen_missing (set=0x6474d8, proto=0x42bc64
"imap", retry=false) at listener.c:346
No locals.
#11 0x00000000004077e1 in listeners_open_fds (old_set=0x0, retry=false) at
listener.c:371
server = 0x647398
#12 0x000000000040e50c in main (argc=1, argv=0x7fffffffe658) at main.c:649
_data_stack_cur_id = 2
---Type <return> to continue, or q <return> to quit---
exec_protocol = 0x0
exec_args = 0x0
user = 0x7fffffffe93d "root"
home = 0x7fffffffef41 "/root"
foreground = false
ask_key_pass = false
log_error = false
dump_config = false
dump_config_nondefaults = false
i = 1