On Fri, Apr 05, 2019 at 12:55:11PM +0200, Emmanuel Hocdet wrote:
> 
> Hi,
> 
> To test deinit, i come across this:
> 
> #  /srv/sources/haproxy/haproxy -f /etc/haproxy/ssl.cfg -d -x 
> /run/haproxy_ssl.sock -sf 15716
> 
> log on 15716 process:
> 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.
> 
> Available filters :
>       [SPOE] spoe
>       [COMP] compression
>       [CACHE] cache
>       [TRACE] trace
> Using epoll() as the polling mechanism.
> 00000000:GLOBAL.accept(0005)=000d from [unix:1] ALPN=<none>
> 00000000:GLOBAL.srvcls[adfd:ffffffff]
> 00000000:GLOBAL.clicls[adfd:ffffffff]
> 00000000:GLOBAL.closed[adfd:ffffffff]
> [WARNING] 094/124050 (15809) : Stopping frontend GLOBAL in 0 ms.
> [WARNING] 094/124050 (15809) : Stopping frontend f-redir in 0 ms.
> [WARNING] 094/124050 (15809) : Stopping backend redir in 0 ms.
> [WARNING] 094/124050 (15809) : Stopping backend varnish in 0 ms.
> [WARNING] 094/124050 (15809) : Proxy GLOBAL stopped (FE: 1 conns, BE: 1 
> conns).
> [WARNING] 094/124050 (15809) : Proxy f-redir stopped (FE: 0 conns, BE: 0 
> conns).
> [WARNING] 094/124050 (15809) : Proxy redir stopped (FE: 0 conns, BE: 0 conns).
> [WARNING] 094/124051 (15809) : Proxy varnish stopped (FE: 0 conns, BE: 0 
> conns).
> libgcc_s.so.1 must be installed for pthread_cancel to work
> Aborted
> 
> Link with -lgcc_s fix that, and haproxy return with error code 0.
> I think it will be not very portable…
> 
> ++
> Manu
> 
> 

Hi Emmanuel,

This bug is caused by libpthread which is not linked with libgcc_s, so it tries
to load libgcc_s during the call to phtread_exit() but that can't work if the
process is chroot'ed.

Your solution is the good one, but it was not working on some distributions, I
add to do ADDLIB="-Wl,--no-as-needed -lgcc_s -Wl,--as-needed" instead.

Regards,

-- 
William Lallemand

Reply via email to