2014-08-07 1:16 GMT+02:00 Cyril Bonté <[email protected]>:
> Hi Bjoern,
>
> Le 06/08/2014 22:16, [email protected] a écrit :
>
>> Hi Mark,
>>
>> trying to test this one, but if i use the "frontend/backend"-syntax
>> (and not the "listen"-syntax) with "external-check command", HAProxy
>> segfaults :
>>
>>
>> #   /usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg -d
>> Available polling systems :
>>        epoll : pref=300,  test result OK
>>         poll : pref=200,  test result OK
>>       select : pref=150,  test result FAILED
>> Total: 3 (2 usable), will use epoll.
>> Using epoll() as the polling mechanism.
>> [ALERT] 216/205611 (1316) : Starting [be_test:node01] check: no listener.
>> Segmentation fault (core dumped)
>
>
> OK, I could reproduce it. This is happening for several reasons :
> 1. External checks can only be used in "listen" sections.
> This is not clearly documented but it can be guessed by the arguments passed
> to the command : the proxy address and port are required (see [1]).
> I think this is annoying because it's only usable in some specific use
> cases. Maybe we should rework this part of the implementation : I see that
> for unix sockets, the port argument is set to "NOT_USED", we could do the
> same for checks in a backend section. Willy, Simon, is it OK for you ?
>
>
> 2. Because external checks are initialized late in the process (only when
> the first check is started), leaving some variables uninitialized.
> I'm going to send a patch which prepares the external checks early in the
> process initialization and quit in a clean way when no listener is found
> (meaning that we are in a backend section). But definitely, we should work
> on an alternative allowing external checks in backends.
>
> [1]
> http://cbonte.github.io/haproxy-dconv/snapshot/configuration-1.6.html#external-check%20command
>
>
> --
> Cyril Bonté


Thanks Cyril,

would be very useful if we could we have it also in "backend" sections.


----------
Bjoern

Reply via email to