Hi List,
Sometimes after a few 'restarts' of haproxy 1.8.8 (using -sf <pid>
parameter) one of the processes seems to get into a 'hanging' state
consuming 100% cpu..
In this configuration i'm using 'nbthread 1' not sure if this is related
to the corrupted task-tree from my other lua issue.?.
https://www.mail-archive.com/haproxy@formilux.org/msg29801.html .?.
Also i'm using my new smtpmailqueue and serverhealthchecker lua scripts
(can be found on github.).. these probably 'contribute' to triggering
the condition.
Anything i can check / provide.?
(cant really share the config itself a.t.m. as its from our production
env, but it has like 15 backends with 1 server each, a little header
rewriting/insertion but nothing big..)
GNU gdb (GDB) 8.0.1 [GDB v8.0.1 for FreeBSD]
Copyright (C) 2017 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-portbld-freebsd11.1".
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 /usr/local/sbin/haproxy...done.
Attaching to program: /usr/local/sbin/haproxy, process 68580
Reading symbols from /lib/libcrypt.so.5...(no debugging symbols
found)...done.
Reading symbols from /lib/libz.so.6...(no debugging symbols found)...done.
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Reading symbols from /usr/lib/libssl.so.8...(no debugging symbols
found)...done.
Reading symbols from /lib/libcrypto.so.8...(no debugging symbols
found)...done.
Reading symbols from /usr/local/lib/liblua-5.3.so...(no debugging
symbols found)...done.
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols
found)...done.
[Switching to LWP 100340 of process 68580]
0x000000000044890b in xref_get_peer_and_lock (xref=0x80254b680) at
include/common/xref.h:34
34 include/common/xref.h: No such file or directory.
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) next
45 in include/common/xref.h
(gdb) next
46 in include/common/xref.h
(gdb) next
34 in include/common/xref.h
(gdb) next
37 in include/common/xref.h
(gdb) bt full
#0 xref_get_peer_and_lock (xref=0x80254b680) at include/common/xref.h:37
local = 0x1
remote = 0x7fffffffe210
#1 0x000000000044833d in hlua_socket_release (appctx=0x80254b600) at
src/hlua.c:1583
peer = 0x0
#2 0x0000000000546519 in si_applet_release (si=0x802551dc8) at
include/proto/stream_interface.h:233
appctx = 0x80254b600
#3 0x0000000000541a8d in stream_int_shutw_applet (si=0x802551dc8) at
src/stream_interface.c:1502
ic = 0x802551b90
oc = 0x802551bd0
#4 0x0000000000543809 in si_shutw (si=0x802551dc8) at
include/proto/stream_interface.h:320
No locals.
#5 0x0000000000543320 in stream_int_notify (si=0x802551dc8) at
src/stream_interface.c:465
conn = 0x0
ic = 0x802551b90
oc = 0x802551bd0
#6 0x000000000044dc81 in hlua_socket_receive_yield (L=0x80243f2a8,
status=1, ctx=0) at src/hlua.c:1770
socket = 0x8026a0028
wanted = -1
hlua = 0x8024d6780
appctx = 0x80254b600
len = 25
nblk = 1
blk1 = 0x8027da4d4 "501 5.1.3 Invalid address\r\nclass=\"tbl\"
width=\"100%\">\n<tr class=\"titre\"><th class=\"pxname\"
width=\"10%\"><a
name=\"SMTP-Mailroute_XXXX-25_EX01-125_tcp_ipv4\"></a><a class=px
href=\"#SMTP-Mailroute_XXXX-25_E"...
len1 = 25
blk2 = 0x100000005 <error: Cannot access memory at address
0x100000005>
len2 = 3
skip_at_end = 2
oc = 0x802551bd0
si = 0x802551dc8
s = 0x802551b80
peer = 0x80254b680
#7 0x0000000801880417 in ?? () from /usr/local/lib/liblua-5.3.so
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#8 0x000000080187f1a6 in ?? () from /usr/local/lib/liblua-5.3.so
No symbol table info available.
#9 0x0000000801880194 in lua_resume () from /usr/local/lib/liblua-5.3.so
No symbol table info available.
#10 0x00000000004370a9 in hlua_ctx_resume (lua=0x8024d6780,
yield_allowed=1) at src/hlua.c:1014
ret = 39132616
msg = 0x802647f00 ""
#11 0x00000000004406c7 in hlua_process_task (task=0x80242d460) at
src/hlua.c:5523
hlua = 0x8024d6780
status = HLUA_E_OK
#12 0x0000000000591177 in process_runnable_tasks () at src/task.c:231
t = 0x80242d460
i = 32767
max_processed = 199
rq_next = 0x0
local_tasks = {0x0, 0x8add10 <applet_active_lock>, 0x0,
0x80254b600, 0x80254b600, 0x80254b600, 0x80254b600, 0x80254b600,
0x100000000, 0x0, 0x0, 0x0,
0x8add10 <applet_active_lock>, 0x0, 0x0, 0x7fffffffe758}
local_tasks_count = 0
final_tasks_count = 0
#13 0x0000000000510a5b in run_poll_loop () at src/haproxy.c:2399
next = 588656154
exp = 588656154
#14 0x000000000050e370 in run_thread_poll_loop (data=0x802446068) at
src/haproxy.c:2461
start_lock = 0
ptif = 0x8a0908 <per_thread_init_list>
ptdf = 0x202
#15 0x000000000050aef2 in main (argc=10, argv=0x7fffffffec58) at
src/haproxy.c:3050
tids = 0x802446068
threads = 0x8024efd60
i = 1
err = 0
retry = 200
limit = {rlim_cur = 2285, rlim_max = 2285}
---Type <return> to continue, or q <return> to quit---
errmsg =
"\000\354\377\377\377\177\000\000\260\354\377\377\377\177\000\000X\354\377\377\377\177\000\000\n\000\000\000\000\000\000\000R\325c\321\223Z\332\017\240u\212\000\000\000\000\000P\354\377\377\377\177\000\000\260\354\377\377\377\177\000\000X\354\377\377\377\177\000\000\n\000\000\000\000\000\000\000\360\353\377\377\377\177\000\000r3\340\001\b\000\000\000\001\000\000"
pidfd = 26
(gdb) info locals
tids = 0x802446068
threads = 0x8024efd60
i = 1
err = 0
retry = 200
limit = {rlim_cur = 2285, rlim_max = 2285}
errmsg =
"\000\354\377\377\377\177\000\000\260\354\377\377\377\177\000\000X\354\377\377\377\177\000\000\n\000\000\000\000\000\000\000R\325c\321\223Z\332\017\240u\212\000\000\000\000\000P\354\377\377\377\177\000\000\260\354\377\377\377\177\000\000X\354\377\377\377\177\000\000\n\000\000\000\000\000\000\000\360\353\377\377\377\177\000\000r3\340\001\b\000\000\000\001\000\000"
pidfd = 26