Hi Bart,
On Fri, Jan 08, 2010 at 01:00:42PM +0100, Bart van der Schans wrote:
> Hi,
>
> First of all, I really like haproxy and I'm really exited about the
> keep-alive support! So I gave the new 1.4-dev6 spin, but I'm getting a
> segfault.
>
> When I run haproxy (with -d) in gdb I get:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000433cf9 in manage_server_side_cookies (t=0x25dd1f0,
> rtr=0x25e1ae0) at src/proto_http.c:5929
> 5929 if ((t->sessid =
> pool_alloc2(apools.sessid)) == NULL) {
> (gdb)
> (gdb)
> (gdb) bt
> #0 0x0000000000433cf9 in manage_server_side_cookies (t=0x25dd1f0,
> rtr=0x25e1ae0) at src/proto_http.c:5929
> #1 0x00000000004306f4 in http_process_res_common (t=0x25dd1f0,
> rep=0x25e1ae0, an_bit=262144, px=0x2554230) at src/proto_http.c:4587
> #2 0x000000000044c0ba in process_session (t=0x25dd660) at src/session.c:982
> #3 0x0000000000409e6b in process_runnable_tasks (next=0x7fff914ba01c)
> at src/task.c:234
> #4 0x00000000004045bd in run_poll_loop () at src/haproxy.c:935
> #5 0x0000000000404d1f in main (argc=4, argv=0x7fff914ba188) at
> src/haproxy.c:1210
>
> So it looks like something goes wrong with the session cookie
> handling. The relevant part in my config (do you need my complete
> config?):
Yes I think that this one requires particular handling during the
session resetting. I'll investigate. Could you try with cookie
prefix mode which should be 100% compatible in your case since
you don't look it up in the URL :
cookie JSESSIONID prefix
server cms1 172.16.1.33:80 cookie s1 check inter 3s weight 100
server cms2 172.16.1.34:80 cookie s2 check inter 3s weight 100
If it works it will also ensure you can restart haproxy at any time
without loosing your session cookies. In parallel, I'll check in the
code if I can spot anything causing issues with the appsession cookie
in case of keep-alive mode (as I assume this was with "http-server-close"
option).
I'll ask you for your complete config if I can't reproduce it here.
Thanks!
willy