Glad to do any other debugging you'd like. Just running `make
TARGET=linux-glibc USE_NS=` or `make TARGET=osx`; nothing fancy.

On Thu, Jan 23, 2020 at 12:00 PM Willy Tarreau <w...@1wt.eu> wrote:

> On Thu, Jan 23, 2020 at 11:54:17AM -0800, James Brown wrote:
> > Where master == f22758d12af5e9f3919f24bf913b883a62df7d93, the following
> > config fails on both linux-glibc and osx:
> >
> > global
> >     maxconn 1024
> >
> > defaults
> >     timeout client 9s
> >     timeout server 9s
> >     timeout connect 1s
> >
> > frontend test_fe
> >     mode http
> >     bind :::9999
> >     use_backend test_be
> >
> > backend test_be
> >     mode http
> >     server localhost 127.0.0.1:10000
> >
> > Every request crashes immediately before connecting to the backend.
>
> I'm impressed, I'm unable to reproduce it!
>
> $ telnet 0 9999
> Trying 0.0.0.0...
> Connected to 0.
> Escape character is '^]'.
> GET / HTTP/1.1
>
> HTTP/1.1 200 OK
> connection: close
>
> > Backtrace:
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > back_handle_st_con (s=0x94abd0) at src/backend.c:1937
> > 1937 if (!conn->mux && !(conn->flags & CO_FL_WAIT_XPRT)) {
> > (gdb) bt
> > #0  back_handle_st_con (s=0x94abd0) at src/backend.c:1937
> > #1  0x000000000042ae75 in process_stream (t=0x94b020, context=0x94abd0,
> > state=<value optimized out>) at src/stream.c:1662
> > #2  0x00000000005083c2 in process_runnable_tasks () at src/task.c:461
> > #3  0x00000000004bb36b in run_poll_loop (data=<value optimized out>) at
> > src/haproxy.c:2630
> > #4  run_thread_poll_loop (data=<value optimized out>) at
> src/haproxy.c:2783
> > #5  0x00000000004bdba5 in main (argc=<value optimized out>, argv=<value
> > optimized out>) at src/haproxy.c:3483
> >
> > Segfault is on the same line on OS X and Linux.
>
> I'm pretty sure the connection is null (or almost null as derived from
> the CS) though that should not happen at this place. I'll have another
> look at this one tomorrow. Additionally this "if" block will be entirely
> removed :-)  But I really want to understand how we manage to enter there
> with an invalid connection.
>
> Thank you!
> Willy
>


-- 
James Brown
Engineer

Reply via email to