Hello,

we have a server with some config running an old version (1.4.25-1) of
haproxy under Debian wheezy. The reason we've not updated it is that any
new versions we had access to would crash.

Today I was able to pinpoint where the problem lies:

  # haproxy -c -f /etc/haproxy/haproxy2.cfg
  Segmentation fault

  # haproxy -v
  HA-Proxy version 1.5.8 2014/10/31
  Copyright 2000-2014 Willy Tarreau <[email protected]>

  # cat /etc/haproxy/haproxy2.cfg
  frontend public0
      disabled #->varnish
      bind            192.168.1.1:80
      option          httplog
      option          forwardfor
      option          httpclose

      default_backend farm0

That config file is derived from the original config file (which worked
with older haproxy versions (<=1.4.25)) by removing stuff from it and by
replacing the IP address.

Here's the stack trace:

  # gdb --args haproxy -c -f /etc/haproxy/haproxy2.cfg
  GNU gdb (GDB) 7.4.1-debian
  Copyright (C) 2012 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
  and "show warranty" for details.
  This GDB was configured as "x86_64-linux-gnu".
  For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
  Reading symbols from /tmp/foobar/testing/haproxy...Reading symbols
from
/usr/lib/debug/.build-id/32/cd7a1f9e2b30828b4186f93499ffe651d7ee20.debug...done.
  done.
  (gdb) run
  Starting program: /usr/sbin/haproxy -c -f /etc/haproxy/haproxy2.cfg

  Program received signal SIGSEGV, Segmentation fault.
  0x00000000004238b8 in propagate_processes (from=from@entry=0x6d68d0,
to=0x0) at src/cfgparse.c:6021
  6021    src/cfgparse.c: No such file or directory.
  (gdb) backtrace
  #0  propagate_processes (from=from@entry=0x6e37e0, to=0x0) at
src/cfgparse.c:5989
  #1  0x00000000004238bd in propagate_processes
(from=from@entry=0x6e37e0, to=<optimized out>) at src/cfgparse.c:6021
  #2  0x00000000004238bd in propagate_processes
(from=from@entry=0x6e37e0, to=<optimized out>) at src/cfgparse.c:6021

  [...etc...]

  #262034 0x00000000004238bd in propagate_processes
(from=from@entry=0x6e37e0, to=<optimized out>) at src/cfgparse.c:6021
  #262035 0x00000000004238bd in propagate_processes (from=0x6e37e0,
from@entry=0x6da0d0, to=<optimized out>) at src/cfgparse.c:6021
  #262036 0x000000000042388a in propagate_processes
(from=from@entry=0x6da0d0, to=to@entry=0x0) at src/cfgparse.c:6014
  #262037 0x000000000042504d in check_config_validity () at
src/cfgparse.c:7122
  #262038 0x0000000000408e9c in init (argc=<optimized out>,
argv=<optimized out>, argv@entry=0x7fffffffe628) at src/haproxy.c:713
  #262039 0x000000000040746c in main (argc=<optimized out>,
argv=0x7fffffffe628) at src/haproxy.c:1355


Reply via email to