Just ran through the bisect:

git bisect start '--term-new=fixed' '--term-old=unfixed'
# fixed: [ebf033b47d58aa04ae9913038c9369dab8740411] [RELEASE] Released version 
1.8.19
git bisect fixed ebf033b47d58aa04ae9913038c9369dab8740411
# unfixed: [cd117685f0cff4f2f5577ef6a21eaae96ebd9f28] [RELEASE] Released 
version 1.8.8
git bisect unfixed cd117685f0cff4f2f5577ef6a21eaae96ebd9f28
# fixed: [88c166870a779985d50f6a2cf840c844bc9b64da] BUG/MINOR: tools: fix 
set_net_port() / set_host_port() on IPv4
git bisect fixed 88c166870a779985d50f6a2cf840c844bc9b64da
# unfixed: [fdc6c62dbebf4b646b4f80c383e3b00f34b0440f] MINOR: systemd: consider 
exit status 143 as successful
git bisect unfixed fdc6c62dbebf4b646b4f80c383e3b00f34b0440f
# unfixed: [ad84851746243d85f9be59703e9bee0f5c5f8eba] BUG/MEDIUM: threads: fix 
the double CAS implementation for ARMv7
git bisect unfixed ad84851746243d85f9be59703e9bee0f5c5f8eba
# fixed: [d9a130e1962c2a5352f33088c563f4248a102c48] BUG/MEDIUM: mux_pt: 
dereference the connection with care in mux_pt_wake()
git bisect fixed d9a130e1962c2a5352f33088c563f4248a102c48
# unfixed: [a1110e24e5be53ba5fe9ab82372c02a60da06cf9] BUG/MINOR: map: fix 
map_regm with backref
git bisect unfixed a1110e24e5be53ba5fe9ab82372c02a60da06cf9
# unfixed: [3c42f13badd149c9c3152d7b2e653bde5da7c17a] BUG/MEDIUM: cli/threads: 
protect all "proxy" commands against concurrent updates
git bisect unfixed 3c42f13badd149c9c3152d7b2e653bde5da7c17a
# unfixed: [d13cb1516cb5ae4cb8322ed630e1d4e1f584fd77] DOC: Fix spelling error 
in configuration doc
git bisect unfixed d13cb1516cb5ae4cb8322ed630e1d4e1f584fd77
# unfixed: [5b58c92dc9357a87aa3fe94c8121f683feb9c80e] BUG/MINOR: lua: Bad HTTP 
client request duration.
git bisect unfixed 5b58c92dc9357a87aa3fe94c8121f683feb9c80e
# first fixed commit: [d9a130e1962c2a5352f33088c563f4248a102c48] BUG/MEDIUM: 
mux_pt: dereference the connection with care in mux_pt_wake()

Cherry picking the identified commit
(d9a130e1962c2a5352f33088c563f4248a102c48) on top of 1.8.8 makes things
work. I will keep it running for a bit longer and see if it stays
stable.

-- 
You received this bug notification because you are a member of Ubuntu
High Availability Team, which is subscribed to haproxy in Ubuntu.
https://bugs.launchpad.net/bugs/1884149

Title:
  haproxy crashes on in __pool_get_first if unique-id-header is used

Status in HAProxy:
  Fix Released
Status in haproxy package in Ubuntu:
  Fix Released
Status in haproxy source package in Bionic:
  Triaged
Status in haproxy package in Debian:
  Unknown

Bug description:
  Version 1.8.8-1ubuntu0.10 of haproxy in Ubuntu 18.04 (bionic) crashes
  with

  ------------------------------------

  Thread 2.1 "haproxy" received signal SIGSEGV, Segmentation fault.
  [Switching to Thread 0xfffff77b1010 (LWP 17174)]
  __pool_get_first (pool=0xaaaaaac6ddd0, pool=0xaaaaaac6ddd0) at 
include/common/memory.h:124
  124   include/common/memory.h: No such file or directory.
  (gdb) bt
  #0  __pool_get_first (pool=0xaaaaaac6ddd0, pool=0xaaaaaac6ddd0) at 
include/common/memory.h:124
  #1  pool_alloc_dirty (pool=0xaaaaaac6ddd0) at include/common/memory.h:154
  #2  pool_alloc (pool=0xaaaaaac6ddd0) at include/common/memory.h:229
  #3  conn_new () at include/proto/connection.h:655
  #4  cs_new (conn=0x0) at include/proto/connection.h:683
  #5  connect_conn_chk (t=0xaaaaaacb8820) at src/checks.c:1553
  #6  process_chk_conn (t=0xaaaaaacb8820) at src/checks.c:2135
  #7  process_chk (t=0xaaaaaacb8820) at src/checks.c:2281
  #8  0x0000aaaaaabca0b4 in process_runnable_tasks () at src/task.c:231
  #9  0x0000aaaaaab76f44 in run_poll_loop () at src/haproxy.c:2399
  #10 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2461
  #11 0x0000aaaaaaad79ec in main (argc=<optimized out>, argv=0xaaaaaac61b30) at 
src/haproxy.c:3050

  ------------------------------------

  when running on an ARM64 system. The haproxy.cfg looks like this:

  ------------------------------------

  global
      log /dev/log local0
      log /dev/log local1 notice
      maxconn 4096
      user haproxy
      group haproxy
      spread-checks 0
      tune.ssl.default-dh-param 1024
      ssl-default-bind-ciphers 
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:!DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:!DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:!CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

  defaults
      log global
      mode tcp
      option httplog
      option dontlognull
      retries 3
      timeout queue 20000
      timeout client 50000
      timeout connect 5000
      timeout server 50000


  frontend anbox-stream-gateway-lb-5-80
      bind 0.0.0.0:80
      default_backend api_http
      mode http
      http-request redirect scheme https

  backend api_http
      mode http

  frontend anbox-stream-gateway-lb-5-443
      bind 0.0.0.0:443 ssl crt /var/lib/haproxy/default.pem no-sslv3
      default_backend app-anbox-stream-gateway
      mode http

  backend app-anbox-stream-gateway
      mode http
      balance leastconn
      server anbox-stream-gateway-0-4000 10.212.218.61:4000 check ssl verify 
none inter 2000 rise 2 fall 5 maxconn 4096
      server anbox-stream-gateway-1-4000 10.212.218.93:4000 check ssl verify 
none inter 2000 rise 2 fall 5 maxconn 4096
      server anbox-stream-gateway-2-4000 10.212.218.144:4000 check ssl verify 
none inter 2000 rise 2 fall 5 maxconn 4096

  ------------------------------------

  The crash occurs after a first few HTTP requests going through and
  happens again when systemd restarts the service.

  The bug is already reported in Debian https://bugs.debian.org/cgi-
  bin/bugreport.cgi?bug=921981 and upstream at
  https://github.com/haproxy/haproxy/issues/40

  Using the 1.8.19-1+deb10u2 package from Debian fixes the crash.

To manage notifications about this bug go to:
https://bugs.launchpad.net/haproxy/+bug/1884149/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-ha
Post to     : ubuntu-ha@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-ha
More help   : https://help.launchpad.net/ListHelp

Reply via email to