Thanks for the reply,
I recompiled with -O0
Program received signal SIGSEGV, Segmentation fault.
0x00000001001df58c in eb32_insert (root=0x1004a3490, new=0x1004e9724) at
ebtree/eb32tree.h:347
347 *up_ptr = new_left;
(gdb) print buf
$1 = 0
(gdb) backtrace
#0 0x00000001001df58c in eb32_insert (root=0x1004a3490, new=0x1004e9724)
at ebtree/eb32tree.h:347
#1 0x00000001000ce744 in check_config_validity () at src/cfgparse.c:7575
#2 0x000000010006e388 in init (argc=0, argv=0xffffffff7ffffa80) at
src/haproxy.c:935
#3 0x0000000100072084 in main (argc=3, argv=0xffffffff7ffffa68) at
src/haproxy.c:1786
(gdb)
When I add "id 1", "id 2" etc:
Program received signal SIGSEGV, Segmentation fault.
0x00000001001df58c in eb32_insert (root=0x1004a3490, new=0x1004e9724) at
ebtree/eb32tree.h:347
347 *up_ptr = new_left;
(gdb) backtrace
#0 0x00000001001df58c in eb32_insert (root=0x1004a3490, new=0x1004e9724)
at ebtree/eb32tree.h:347
#1 0x00000001000b62a8 in cfg_parse_listen (file=0x1004e4950 "haproxy.cfg",
linenum=17, args=0xffffffff7ffff460, kwm=0)
at src/cfgparse.c:3260
#2 0x00000001000ce168 in readcfgfile (file=0x1004e4950 "haproxy.cfg") at
src/cfgparse.c:7435
#3 0x000000010006e26c in init (argc=0, argv=0xffffffff7ffffb60) at
src/haproxy.c:917
#4 0x0000000100072084 in main (argc=3, argv=0xffffffff7ffffb48) at
src/haproxy.c:1786
(gdb) quit
I only have the system rented for another hour or two and maybe sometime
next week.
On Sat, Apr 29, 2017 at 8:15 AM, Willy Tarreau <[email protected]> wrote:
> Hello Jonathan,
>
> On Fri, Apr 28, 2017 at 04:57:43PM -0500, Jonathan S. Fisher wrote:
> > Hello gentleman, I was advised to send this your way (
> > http://discourse.haproxy.org/t/haproxy-core-dumps-on-
> solaris-sparc/1197/2)
> >
> > This is probably an issue with the way I'm compiling it (which is here:
> > https://pastebin.com/htEZTwBM) but I'm getting an immediate core dump
> when
> > running haproxy after compilation. I have a feeling it's probably an
> > alignment issue after reading a bit into the problem (
> > http://blog.jgc.org/2007/04/debugging-solaris-bus-error-caused-by.html)
>
> It's possible though it's surprizing.
>
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x000000010013fd80 in eb32_insert (root=<value optimized out>,
> > new=0x100439724) at ebtree/eb32tree.h:347
> > 347 *up_ptr = new_left;
> > (gdb) print new_left
> > No symbol "new_left" in current context.
> > (gdb) print up_ptr
> > No symbol "up_ptr" in current context.
>
> You'll need to build with "-O0" instead of "-O2" because the variables
> were optimized out.
>
> > (gdb) backtrace
> > #0 0x000000010013fd80 in eb32_insert (root=<value optimized out>,
> > new=0x100439724) at ebtree/eb32tree.h:347
> > #1 0x0000000100096858 in check_config_validity () at src/cfgparse.c:7575
>
> OK it's where proxies are automatically assigned an ID. What's really
> strange is that the tree was OK two lines ago for the lookup.
>
> Thus I suspect instead some corruption before the insertion or
> something similar. Does it also crash if you manually assign all your
> proxies "id" ? (directive "id" in each section with a different number).
>
> Willy
>
--
Jonathan | [email protected]
Pessimists, see a jar as half empty. Optimists, in contrast, see it as half
full.
Engineers, of course, understand the glass is twice as big as it needs to
be.