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)