Pavlos Parissis <pavlos.parissis@...> writes:

> 
> 
> On 22/04/2016 08:26 πμ, David Torgerson wrote:
> > Attempting to upgrade from 1.5 to 1.6.4. Haproxy will run for a few
> > seconds to minutes and then will segfault.
> > 
> > dmesg
> > [9010697.311045] haproxy[31405]: segfault at b8 ip 00000000004131c7 sp
> > 00007ffde49436c0 error 4 in haproxy[400000+ce000]
> > [9010699.783167] haproxy[31469]: segfault at b8 ip 00000000004131c7 sp
> > 00007ffdc385ce60 error 4 in haproxy[400000+ce000]
> > [9010748.623894] haproxy[31696]: segfault at b8 ip 00000000004131c7 sp
> > 00007fffd91e3b90 error 4 in haproxy[400000+ce000]
> > [9010759.271240] haproxy[31864]: segfault at b8 ip 00000000004131c7 sp
> > 00007ffe8fc7ad30 error 4 in haproxy[400000+ce000]
> > 
> > addr2line -e /usr/bin/haproxy 00000000004131c7
> > /home/dtorgo/haproxy-1.6.4/src/log.c:1526
> > 1525                        case LOG_FMT_STATUS: // %ST
> > 1526                                ret = ltoa_o(txn->status, tmplog,
> > dst + maxsize - tmplog);
> > 1527                                if (ret == NULL)
> > 1528                                       goto out;
> > 1529                                tmplog = ret;
> > 1530                                last_isspace = 0;
> > 1531                                break;
> > 
> > Haproxy config (relevant parts)
> > global
> >         log     rsyslog1:514 local2 debug info
> >         log     rsyslog1:514 local3 notice emerg
> >         log-send-hostname
> > defaults
> >         mode http
> >         retries         3
> >         option          redispatch
> >         maxconn         65000
> >         timeout connect 5000
> >         timeout client  300000
> >         timeout server  300000
> >         option          allbackups
> >         option          dontlognull
> >         option          log-health-checks
> >         option          forceclose
> >         log-format
> > ±
{"flw":"%ID","lb":"%H","cip":"%ci","lbnfo":"%f/%b/%si","tm":"%Tq/%Tw/%Tc/%Tr
","tt":%Tt,"stts":"%ST","bytc":%U,"byts":%B,"trmstt":"%ts","cn":"%ac/%fc/%bc
/%sc","rtry":%rc,"q":"%bq/%sq","rqst":"%r","hdrs":"%hr"}
> 
>   ^<-- is that a valid character for haproxy config?
> Does the above config passes the sanity check(haproxy -c -f ..)?
> 
> Cheers,
> Pavlos
> 
> 

Yes. We have actually used that character for a few years. It is also worth 
mentioning that I do get several thousand+ messages to the syslog server 
before the segfault.

I did run haproxy in debug mode and haproxy segfaulted right after it 
procssed a TCP backend:

0000014f:users.accept(001d)=0025 from [10.0.79.228:32810]
0000014f:BACKEND_users-tcp.srvcls[0025:002d]
0000014f:BACKEND_users-tcp.clicls[0025:002d]
0000014f:BACKEND_users-tcp.closed[0025:002d]

frontend users
  mode tcp
  bind :27013 accept-proxy
  log global
  default_backend BACKEND_users-tcp

backend BACKEND_users
  balance leastconn
  server users_ELB_10.10.10.50:9013 10.10.10.50:9013
  server users_ELB_10.10.10.51:9013 10.10.10.51:9013
  server users_ELB_10.10.10.52:9013 10.10.10.52:9013

Reply via email to