Hi Maciej, On Tue, Nov 10, 2020 at 03:21:45PM +0100, Maciej Zdeb wrote: > Hi, > > I'm very sorry that my skills in gdb and knowledge of HAProxy and C are not > sufficient for this debugging process.
Quite frankly, you don't have to be sorry for anything :-) I could reproduce the crash on 2.2 with your procedure, but it happened not on our canaries but here: Core was generated by `../haproxy-2.2/haproxy -D -f maciej/haproxy2.cfg -sf 27670'. Program terminated with signal SIGSEGV, Segmentation fault. #0 spoe_stop_processing (ctx=0x45def60, agent=0x12059c0) at src/flt_spoe.c:2576 2576 if (sa->frag_ctx.ctx == ctx) { (gdb) p sa $1 = (struct spoe_appctx *) 0x6b9e220 (gdb) p *sa Cannot access memory at address 0x6b9e220 (gdb) bt #0 spoe_stop_processing (ctx=0x45def60, agent=0x12059c0) at src/flt_spoe.c:2576 #1 spoe_process_messages (s=s@entry=0x2822f80, ctx=ctx@entry=0x45def60, messages=<optimized out>, dir=dir@entry=0, type=type@entry=1) at src/flt_spoe.c:2706 #2 0x00000000005491e3 in spoe_process_event (s=0x2822f80, ctx=0x45def60, ev=ev@entry=SPOE_EV_ON_HTTP_REQ_FE) at src/flt_spoe.c:2780 #3 0x000000000054940a in spoe_chn_pre_analyze (s=<optimized out>, filter=<optimized out>, chn=0x2822f90, an_bit=<optimized out>) at src/flt_spoe.c:3249 #4 0x0000000000551bd7 in flt_pre_analyze (s=s@entry=0x2822f80, chn=chn@entry=0x2822f90, an_bit=an_bit@entry=16) at src/filters.c:718 #5 0x00000000004f1176 in process_stream (t=<optimized out>, context=0x2822f80, state=<optimized out>) at src/stream.c:1796 #6 0x00000000005b0533 in run_tasks_from_lists (budgets=budgets@entry=0x7ffcc02fa2d4) at src/task.c:479 #7 0x00000000005b101a in process_runnable_tasks () at src/task.c:675 #8 0x000000000056c194 in run_poll_loop () at src/haproxy.c:2923 #9 0x000000000056c4d3 in run_thread_poll_loop (data=data@entry=0x0) at src/haproxy.c:3088 #10 0x00000000004275a9 in main (argc=<optimized out>, argv=0x7ffcc02fa6e8) at src/haproxy.c:3793 Seems like we're getting closer. Will continue digging now. Many thanks Maciej for all your hard work, really! Willy