Thanks Vincent, got a core dump. Here is the backtrace
#0 0x00005577fb060375 in __pool_get_from_cache (pool=0x5577fb3f7540 <pool_base_start>) at include/common/memory.h:199 199 include/common/memory.h: No such file or directory. (gdb) bt full #0 0x00005577fb060375 in __pool_get_from_cache (pool=0x5577fb3f7540 <pool_base_start>) at include/common/memory.h:199 __ret = 0x5577fb583280 item = 0x5577fb583280 #1 __pool_get_first (pool=0x5577fb3f7540 <pool_base_start>) at include/common/memory.h:216 cmp = <optimized out> #2 pool_alloc_dirty (pool=0x5577fb3f7540 <pool_base_start>) at include/common/memory.h:258 p = 0x5577fb583280 #3 pool_alloc (pool=0x5577fb3f7540 <pool_base_start>) at include/common/memory.h:272 No locals. #4 http_process_request (s=0x5577fb580d50, req=<optimized out>, an_bit=2048) at src/proto_http.c:2880 sess = 0x5577fb57e7a0 txn = <optimized out> msg = <optimized out> #5 0x00005577fb08a726 in process_stream (t=<optimized out>, context=0x5577fb580d50, state=<optimized out>) at src/stream.c:1984 max_loops = 199 ana_list = 2048 ana_back = 2048 flags = <optimized out> s = 0x5577fb580d50 sess = <optimized out> rqf_last = <optimized out> rpf_last = 2147483648 rq_prod_last = 7 rq_cons_last = 0 rp_cons_last = 7 rp_prod_last = 0 req_ana_back = <optimized out> req = 0x5577fb580d60 res = 0x5577fb580dc0 si_f = 0x5577fb580fe8 si_b = 0x5577fb581028 #6 0x00005577fb1558c4 in process_runnable_tasks () at src/task.c:432 t = <optimized out> state = <optimized out> ctx = <optimized out> process = <optimized out> t = <optimized out> max_processed = <optimized out> #7 0x00005577fb0cd551 in run_poll_loop () at src/haproxy.c:2621 next = <optimized out> exp = <optimized out> #8 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2686 ptif = <optimized out> ptdf = <optimized out> start_lock = 0 #9 0x00005577fb0265d2 in main (argc=<optimized out>, argv=<optimized out>) at src/haproxy.c:3315 tids = 0x5577fb475c80 threads = 0x5577fb56e180 i = <optimized out> old_sig = {__val = {68097, 0, 0, 5, 65, 112, 1, 210453397509, 2, 0, 0, 0, 0, 0, 0, 0}} blocked_sig = {__val = {18446744067199990583, 18446744073709551615 <repeats 15 times>}} ---Type <return> to continue, or q <return> to quit--- err = <optimized out> retry = <optimized out> limit = {rlim_cur = 4053, rlim_max = 4053} errmsg = "\000o\323Q\374\177\000\000\270n\323Q\374\177\000\000\n\000\000\000\000\000\000\000d\177\214:\305\177\000\000\020o\323Q\374\177\000\000\340\366@\373wU\000\000\360!B\373wU\000\000\306\306 ;\305\177\000\000>\001\000\024\000\000\000\000\000m*U?z\020\310\n\000\000\000\000\000\000\000\020+z;\305\177\000\000\000\000\000" pidfd = <optimized out> Le Mardi, Février 12, 2019 23:20 CET, Vincent Bernat <ber...@luffy.cx> a écrit: ❦ 12 février 2019 21:44 +01, Mildis <m...@mildis.org>: > I'm struggling with Stretch/systemd to generate the coredump on crash. > Even running haproxy by hand with ulimit -c unlimited does not > generate a coredump. Also install haproxy-dbgsym. You need to comment the chroot directive in your HAProxy configuration if it's enabled. Also, you need to set the core pattern to a fixed directory where haproxy user can write to, like: sysctl -w kernel.core_pattern=/tmp/core.%p Then, on next segfault, you should get your coredump. -- Let me take you a button-hole lower. -- William Shakespeare, "Love's Labour's Lost"