On Thu, Jan 21, 2021 at 01:31:46AM +0000, Bertrand Jacquin wrote: > glibc < 2.10 requires _GNU_SOURCE in order to make use of strsignal(), > otherwise leading to SEGV at runtime. > > $ make V=1 TARGET=linux-glibc-legacy USE_THREAD= USE_ACCEPT4= > .. > src/mworker.c: In function 'mworker_catch_sigchld': > src/mworker.c:285: warning: implicit declaration of function 'strsignal' > src/mworker.c:285: warning: pointer/integer type mismatch in conditional > expression > .. > > $ make V=1 reg-tests REGTESTS_TYPES=slow,default > .. > ###### Test case: reg-tests/mcli/mcli_start_progs.vtc ###### > ## test results in: > "/tmp/haregtests-2021-01-19_15-18-07.n24989/vtc.29077.28f6153d" > ---- h1 Bad exit status: 0x008b exit 0x0 signal 11 core 128 > ---- h1 Assert error in haproxy_wait(), src/vtc_haproxy.c line 792: > Condition(*(&h->fds[1]) >= 0) not true. Errno=0 Success > .. > > $ gdb ./haproxy /tmp/core.0.haproxy.30270 > .. > Core was generated by `/root/haproxy/haproxy -d -W -S fd@8 -dM -f > /tmp/haregtests-2021-01-19_15-18-07.'. > Program terminated with signal 11, Segmentation fault. > #0 0x00002aaaab387a10 in strlen () from /lib64/libc.so.6 > (gdb) bt > #0 0x00002aaaab387a10 in strlen () from /lib64/libc.so.6 > #1 0x00002aaaab354b69 in vfprintf () from /lib64/libc.so.6 > #2 0x00002aaaab37788a in vsnprintf () from /lib64/libc.so.6 > #3 0x00000000004a76a3 in memvprintf (out=0x7fffedc680a0, format=0x5a5d58 > "Current worker #%d (%d) exited with code %d (%s)\n", > orig_args=0x7fffedc680d0) > at src/tools.c:3868 > #4 0x00000000004bbd40 in print_message (label=0x58abed "ALERT", > fmt=0x5a5d58 "Current worker #%d (%d) exited with code %d (%s)\n", > argp=0x7fffedc680d0) > at src/log.c:1066 > #5 0x00000000004bc07f in ha_alert (fmt=0x5a5d58 "Current worker #%d (%d) > exited with code %d (%s)\n") at src/log.c:1109 > #6 0x0000000000534b7b in mworker_catch_sigchld (sh=<value optimized out>) > at src/mworker.c:293 > #7 0x0000000000556af3 in __signal_process_queue () at src/signal.c:88 > #8 0x00000000004f6216 in signal_process_queue () at > include/haproxy/signal.h:39 > #9 run_poll_loop () at src/haproxy.c:2859 > #10 0x00000000004f63b7 in run_thread_poll_loop (data=<value optimized out>) > at src/haproxy.c:3028 > #11 0x00000000004faaac in main (argc=<value optimized out>, > argv=0x7fffedc68498) at src/haproxy.c:904 > > See: https://man7.org/linux/man-pages/man3/strsignal.3.html
Thanks, merged. I've added the missing backport info in the commit message and renamed the worker tag by mworker. -- William Lallemand

