Quantcast
Channel: Serverphorums.com - HAProxy
Viewing all articles
Browse latest Browse all 5112

Segfault when parsing a configuration file (2 replies)

$
0
0
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 <w@1wt.eu>

# 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

Viewing all articles
Browse latest Browse all 5112

Trending Articles