On 08/12/2017 10:38 πμ, Pavlos Parissis wrote:
> On 08/12/2017 10:21 πμ, Christopher Faulet wrote:
>> Le 08/12/2017 à 05:52, Willy Tarreau a écrit :
>>>
>>>> pparissis at poseidonas in ~/repo/haproxy-1.8 on (master u=)
>>>> sudo gdb ./haproxy
>>>> GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
>>>> Copyright (C) 2016 Free Software Foundation, Inc.
>>>> License GPLv3+: GNU GPL version 3 or later 
>>>> <http://gnu.org/licenses/gpl.html>
>>>> This is free software: you are free to change and redistribute it.
>>>> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>>>> and "show warranty" for details.
>>>> This GDB was configured as "x86_64-linux-gnu".
>>>> Type "show configuration" for configuration details.
>>>> For bug reporting instructions, please see:
>>>> <http://www.gnu.org/software/gdb/bugs/>.
>>>> Find the GDB manual and other documentation resources online at:
>>>> <http://www.gnu.org/software/gdb/documentation/>.
>>>> For help, type "help".
>>>> Type "apropos word" to search for commands related to "word"...
>>>> Reading symbols from ./haproxy...done.
>>>> (gdb) run -f /etc/haproxy/haproxy-ams4-dc.cfg
>>>> Starting program: /home/pparissis/repo/haproxy-1.8/haproxy -f
>>>> /etc/haproxy/haproxy-ams4-dc.cfg
>>>> [Thread debugging using libthread_db enabled]
>>>> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
>>>> [WARNING] 340/221611 (13628) : parsing 
>>>> [/etc/haproxy/haproxy-ams4-dc.cfg:103] : a
>>>> 'http-request' rule placed after a 'use_backend' rule will still be 
>>>> processed before.
>>>> ^C
>>>> Program received signal SIGINT, Interrupt.
>>>> 0x000055555562e302 in register_name (name=0x5555558ee294 
>>>> "selected_dc_backup",
>>>> len=18, scope=scope@entry=0x7fffffffd83c,
>>>>      alloc=alloc@entry=1, err=0x7fffffffdb28) at src/vars.c:215
>>>> 215            HA_RWLOCK_WRLOCK(VARS_LOCK, &var_names_rwlock);
>>>
>>> Ah, this looks like a double-lock :-)
>>> CCing Christopher who knows better than me how to track them.
>>>
>> Hi,
>>
>> The problem is not a double-lock but an unlock on a free lock, leaving it in 
>> a bad state. This is
>> not obvious on this trace, but compiling HAProxy with the debug on threads 
>> it is easier to observe it.
>>
>> This patch is joined. It should fix the bug. Thanks Pavlos!
> 
> Applied to 1.8 repo and solved the issue as I can start haproxy.
> 

I meant to my local cloned repo:-)

Cheers,
Pavlos

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to