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.

Reply via email to