Am 04.07.2017 um 23:18 schrieb Willy Tarreau:
> On Tue, Jul 04, 2017 at 10:57:08PM +0200, Lukas Tribus wrote:
>> The call trace doesn't really look different when I used -dM or 
>> -DDEBUG_MEMORY.
>>
>> I was able to get a different trace by actually connecting to a backend 
>> however,
>> (instead of showing an haproxy internal 403 error):
> (...)
>
> Thank you Lukas, let's hope this will help.
>
>

Another bisect (this time with -dM or -DDEBUG_MEMORY), another commit...
Now it points to 23e9e931 (MINOR: log: Add logurilen tunable).


(gdb) bt
#0  0x00007ffff7179428 in __GI_raise (sig=sig@entry=6) at 
../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff717b02a in __GI_abort () at abort.c:89
#2  0x00007ffff71bb7ea in __libc_message (do_abort=do_abort@entry=2, 
fmt=fmt@entry=0x7ffff72d4e98 "*** Error in `%s': %s: 0x%s ***\n") at 
../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff71c437a in malloc_printerr (ar_ptr=<optimized out>, 
ptr=<optimized out>, str=0x7ffff72d4fc8 "double free or corruption (!prev)", 
action=3) at malloc.c:5006
#4  _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at 
malloc.c:3867
#5  0x00007ffff71c853c in __GI___libc_free (mem=<optimized out>) at 
malloc.c:2968
#6  0x000000000053758e in SSL_SESSION_free ()
#7  0x000000000053324b in SSL_free ()
#8  0x0000000000412055 in ssl_sock_close (conn=0xa56a10) at src/ssl_sock.c:4971
#9  0x00000000004d6a90 in conn_xprt_close (conn=0xa56a10) at 
include/proto/connection.h:96
#10 0x00000000004d6b01 in conn_full_close (conn=0xa56a10) at 
include/proto/connection.h:140
#11 0x00000000004d927f in stream_int_shutw_conn (si=0xaaad08) at 
src/stream_interface.c:883
#12 0x00000000004d7cd7 in si_shutw (si=0xaaad08) at 
include/proto/stream_interface.h:322
#13 0x00000000004d866c in stream_int_notify (si=0xaaad08) at 
src/stream_interface.c:459
#14 0x00000000004d8ad9 in si_conn_wake_cb (conn=0xa56a10) at 
src/stream_interface.c:581
#15 0x00000000004f7fad in conn_fd_handler (fd=5) at src/connection.c:158
#16 0x000000000050f1cb in fd_process_cached_events () at src/fd.c:240
#17 0x00000000004d4ddd in run_poll_loop () at src/haproxy.c:2193
#18 0x00000000004d6092 in main (argc=5, argv=0x7fffffffe648) at 
src/haproxy.c:2700
(gdb) quit

and

(gdb) bt
#0  0x00007ffff7179428 in __GI_raise (sig=sig@entry=6) at 
../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff717b02a in __GI_abort () at abort.c:89
#2  0x00007ffff71bb7ea in __libc_message (do_abort=2, 
fmt=fmt@entry=0x7ffff72d4e98 "*** Error in `%s': %s: 0x%s ***\n") at 
../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff71c613e in malloc_printerr (ar_ptr=0x7ffff7508b20 <main_arena>, 
ptr=0xa3f410, str=0x7ffff72d1cff "malloc(): memory corruption", 
action=<optimized out>) at malloc.c:5006
#4  _int_malloc (av=av@entry=0x7ffff7508b20 <main_arena>, bytes=bytes@entry=64) 
at malloc.c:3474
#5  0x00007ffff71c8184 in __GI___libc_malloc (bytes=64) at malloc.c:2913
#6  0x0000000000503755 in pool_refill_alloc (pool=0xa30cd0, avail=1) at 
src/memory.c:117
#7  0x00000000004eb3be in pool_alloc_dirty (pool=0xa30cd0) at 
include/common/memory.h:151
#8  0x00000000004eb3e0 in pool_alloc2 (pool=0xa30cd0) at 
include/common/memory.h:165
#9  0x00000000004ec10a in flt_stream_add_filter (s=0xaaa650, fconf=0xa3d5b0, 
flags=1) at src/filters.c:324
#10 0x00000000004ec646 in flt_set_stream_backend (s=0xaaa650, be=0xa490e0) at 
src/filters.c:448
#11 0x00000000004e1d63 in stream_set_backend (s=0xaaa650, be=0xa490e0) at 
src/proxy.c:1256
#12 0x0000000000484a8e in process_switching_rules (s=0xaaa650, req=0xaaa660, 
an_bit=32) at src/stream.c:1140
#13 0x0000000000486243 in process_stream (t=0xa4f710) at src/stream.c:1795
#14 0x00000000005063b6 in process_runnable_tasks () at src/task.c:238
#15 0x00000000004d4d6e in run_poll_loop () at src/haproxy.c:2175
#16 0x00000000004d6092 in main (argc=5, argv=0x7fffffffe648) at 
src/haproxy.c:2700
(gdb)




Reply via email to