Hi,
I'm returning with problem similar as in thread "[1.9.6] One of haproxy
processes using 100% CPU".
Thanks to Olivier hard work, some issues where fixed but still not all of
them. :( Currently it is much harder to trigger and it occurs on https
virtual server and not tcp one. I'm observing this problem for HAProxy
1.9.7, process starts using 100% cpu and admin socket is still responsive.
Attached gdb session. Please let me know if you need some more info from
gdb, unfortunately I'm not gdb expert and I'm not sure what to look for. It
is production server, however I can keep it for a couple hours isolated
from production traffic.
Pasting some anonymized info from show sess, please note that it was dumped
on 30/Apr/2019:06:53:54 (before dump, traffic was switched to another
server) but some connections are from 29/Apr/2019 and persist in that
strange state.
CC: Oliver :)
socat /var/run/haproxy/haproxy1.sock - <<< "show sess all"
0x56bb4f0: [29/Apr/2019:12:31:37.186578] id=14500574 proto=tcpv4
source=C.C.C.C:56567
flags=0x44e, conn_retries=2, srv_conn=0x24db060, pend_pos=(nil) waiting=0
frontend=virtual-server_front (id=45 mode=http), listener=? (id=1)
addr=V.V.V.V:443
backend=V.V.V.V:443_back (id=46 mode=http) addr=S.S.S.S:57654
server=slot_9_3 (id=78) addr=B.B.B.B:31160
task=0x6ec4070 (state=0x00 nice=0 calls=2 exp=<NEVER> tmask=0x1
age=18h22m)
txn=0x57eadf0 flags=0x88003000 meth=1 status=-1 req.st=MSG_DONE rsp.st
=MSG_RPBEFORE
req.f=0x0c blen=0 chnk=0 next=0
rsp.f=0x00 blen=0 chnk=0 next=0
si[0]=0x56bb788 (state=EST flags=0x48008 endp0=CS:0x6f373d0 exp=<NEVER>
et=0x000 sub=0)
si[1]=0x56bb7c8 (state=CON flags=0x111 endp1=CS:0x53a9250 exp=<PAST>
et=0x008 sub=2)
co0=0x533d6e0 ctrl=tcpv4 xprt=SSL mux=H2 data=STRM
target=LISTENER:0x23eb040
flags=0x80243300 fd=660 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x6f373d0 csf=0x00106a00 ctx=0x70f1e80
co1=0x91263b0 ctrl=tcpv4 xprt=RAW mux=PASS data=STRM
target=SERVER:0x24db060
flags=0x00403370 fd=51 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x53a9250 csf=0x00000200 ctx=(nil)
req=0x56bb500 (f=0x4cc00000 an=0x8000 pipe=0 tofwd=0 total=1610)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x56bb508 data=0x58ba660 o=1831 p=1831 req.next=0 i=0 size=16384
res=0x56bb560 (f=0x80000000 an=0x0 pipe=0 tofwd=0 total=0)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x56bb568 data=(nil) o=0 p=0 rsp.next=0 i=0 size=0
0x639a150: [29/Apr/2019:12:31:53.231220] id=14501038 proto=tcpv4
source=C2.C2.C2.C2:30107
flags=0x44e, conn_retries=2, srv_conn=0x24cdad0, pend_pos=(nil) waiting=0
frontend=virtual-server_front (id=45 mode=http), listener=? (id=1)
addr=V.V.V.V:443
backend=V.V.V.V:443_back (id=46 mode=http) addr=S2.S2.S2.S2:8760
server=slot_9_2 (id=61) addr=B.B.B.B:31160
task=0x6625ab0 (state=0x00 nice=0 calls=2 exp=<NEVER> tmask=0x1
age=18h22m)
txn=0x5af9a10 flags=0x88003000 meth=1 status=-1 req.st=MSG_DONE rsp.st
=MSG_RPBEFORE
req.f=0x0c blen=0 chnk=0 next=0
rsp.f=0x00 blen=0 chnk=0 next=0
si[0]=0x639a3e8 (state=EST flags=0x48008 endp0=CS:0x64d33f0 exp=<NEVER>
et=0x000 sub=0)
si[1]=0x639a428 (state=CON flags=0x111 endp1=CS:0x5d681c0 exp=<PAST>
et=0x008 sub=2)
co0=0x6f23720 ctrl=tcpv4 xprt=SSL mux=H2 data=STRM
target=LISTENER:0x23eb040
flags=0x80243300 fd=1282 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x64d33f0 csf=0x00106a00 ctx=0x5cc0890
co1=0x6039c60 ctrl=tcpv4 xprt=RAW mux=PASS data=STRM
target=SERVER:0x24cdad0
flags=0x00403370 fd=577 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x5d681c0 csf=0x00000200 ctx=0x5d681e0
req=0x639a160 (f=0x4cc00000 an=0x8000 pipe=0 tofwd=0 total=1137)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x639a168 data=0x5408ef0 o=1349 p=1349 req.next=0 i=0 size=16384
res=0x639a1c0 (f=0x80000000 an=0x0 pipe=0 tofwd=0 total=0)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x639a1c8 data=(nil) o=0 p=0 rsp.next=0 i=0 size=0
0x882c0f0: [29/Apr/2019:12:31:46.503263] id=14503967 proto=tcpv4 source=
5.173.79.240:7434
flags=0x44e, conn_retries=2, srv_conn=0x24cdad0, pend_pos=(nil) waiting=0
frontend=virtual-server_front (id=45 mode=http), listener=? (id=1)
addr=V.V.V.V:443
backend=V.V.V.V:443_back (id=46 mode=http) addr=S2.S2.S2.S2:24688
server=slot_9_2 (id=61) addr=B.B.B.B:31160
task=0x7c13f50 (state=0x00 nice=0 calls=2 exp=<NEVER> tmask=0x1
age=18h22m)
txn=0x5978210 flags=0x88003000 meth=1 status=-1 req.st=MSG_DONE rsp.st
=MSG_RPBEFORE
req.f=0x0c blen=0 chnk=0 next=0
rsp.f=0x00 blen=0 chnk=0 next=0
si[0]=0x882c388 (state=EST flags=0x48008 endp0=CS:0x7901a20 exp=<NEVER>
et=0x000 sub=0)
si[1]=0x882c3c8 (state=CON flags=0x111 endp1=CS:0x6ca3a50 exp=<PAST>
et=0x008 sub=2)
co0=0x67684b0 ctrl=tcpv4 xprt=SSL mux=H2 data=STRM
target=LISTENER:0x23eb040
flags=0x80243300 fd=970 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x7901a20 csf=0x00106a00 ctx=0x7ac8650
co1=0x74cba90 ctrl=tcpv4 xprt=RAW mux=PASS data=STRM
target=SERVER:0x24cdad0
flags=0x00403370 fd=2185 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x6ca3a50 csf=0x00000200 ctx=(nil)
req=0x882c100 (f=0x4cc00000 an=0x8000 pipe=0 tofwd=0 total=2096)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x882c108 data=0x5f42c30 o=2307 p=2307 req.next=0 i=0 size=16384
res=0x882c160 (f=0x80000000 an=0x0 pipe=0 tofwd=0 total=0)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x882c168 data=(nil) o=0 p=0 rsp.next=0 i=0 size=0
0x77af230: [29/Apr/2019:16:05:25.433552] id=26109777 proto=tcpv4
source=C3.C3.C3.C3:19974
flags=0x4e, conn_retries=2, srv_conn=0x24cb520, pend_pos=(nil) waiting=0
frontend=virtual-server_front (id=45 mode=http), listener=? (id=1)
addr=V.V.V.V:443
backend=V.V.V.V:443_back (id=46 mode=http) addr=S2.S2.S2.S2:55296
server=slot_6_2 (id=58) addr=B2.B2.B2.B2:31165
task=0x54bce70 (state=0x00 nice=0 calls=2 exp=<NEVER> tmask=0x1
age=14h48m)
txn=0x5f57d30 flags=0x88000000 meth=3 status=-1 req.st=MSG_DONE rsp.st
=MSG_RPBEFORE
req.f=0x0d blen=66 chnk=0 next=0
rsp.f=0x00 blen=0 chnk=0 next=0
si[0]=0x77af4c8 (state=EST flags=0x48008 endp0=CS:0x5943120 exp=<NEVER>
et=0x000 sub=0)
si[1]=0x77af508 (state=CON flags=0x111 endp1=CS:0x7a69aa0 exp=<PAST>
et=0x008 sub=2)
co0=0x6694b60 ctrl=tcpv4 xprt=SSL mux=H2 data=STRM
target=LISTENER:0x23eb040
flags=0x80243300 fd=699 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x5943120 csf=0x00106a00 ctx=0x5931bf0
co1=0x6af1500 ctrl=tcpv4 xprt=RAW mux=PASS data=STRM
target=SERVER:0x24cb520
flags=0x00403370 fd=1574 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x7a69aa0 csf=0x00000200 ctx=(nil)
req=0x77af240 (f=0x4cc00000 an=0x8000 pipe=0 tofwd=0 total=1183)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x77af248 data=0x540cf00 o=1398 p=1398 req.next=0 i=0 size=16384
res=0x77af2a0 (f=0x80000000 an=0x0 pipe=0 tofwd=0 total=0)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x77af2a8 data=(nil) o=0 p=0 rsp.next=0 i=0 size=0
0x5d1cf90: [29/Apr/2019:18:54:15.974874] id=35265590 proto=tcpv4
source=C4.C4.C4.C4:55010
flags=0x44e, conn_retries=2, srv_conn=0x24bb9e0, pend_pos=(nil) waiting=0
frontend=virtual-server_front (id=45 mode=http), listener=? (id=1)
addr=V.V.V.V:443
backend=V.V.V.V:443_back (id=46 mode=http) addr=10.32.189.89:17092
server=slot_3_1 (id=38) addr=B3.B3.B3.B3:31565
task=0x9848fb0 (state=0x00 nice=0 calls=2 exp=<NEVER> tmask=0x1
age=11h59m)
txn=0x5540d70 flags=0x88003000 meth=1 status=-1 req.st=MSG_DONE rsp.st
=MSG_RPBEFORE
req.f=0x0c blen=0 chnk=0 next=0
rsp.f=0x00 blen=0 chnk=0 next=0
si[0]=0x5d1d228 (state=EST flags=0x48008 endp0=CS:0x905b1b0 exp=<NEVER>
et=0x000 sub=0)
si[1]=0x5d1d268 (state=CON flags=0x111 endp1=CS:0x5474790 exp=<PAST>
et=0x008 sub=2)
co0=0x53a5690 ctrl=tcpv4 xprt=SSL mux=H2 data=STRM
target=LISTENER:0x23eb040
flags=0x80243300 fd=10 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x905b1b0 csf=0x00106a00 ctx=0x5907040
co1=0x67a6ed0 ctrl=tcpv4 xprt=RAW mux=PASS data=STRM
target=SERVER:0x24bb9e0
flags=0x00403370 fd=1356 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x5474790 csf=0x00000200 ctx=(nil)
req=0x5d1cfa0 (f=0x4cc00000 an=0x8000 pipe=0 tofwd=0 total=1428)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x5d1cfa8 data=0x5bd1c00 o=1646 p=1646 req.next=0 i=0 size=16384
res=0x5d1d000 (f=0x80000000 an=0x0 pipe=0 tofwd=0 total=0)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x5d1d008 data=(nil) o=0 p=0 rsp.next=0 i=0 size=0
0x6e5d100: [29/Apr/2019:21:47:45.668692] id=46668022 proto=tcpv4
source=C5.C5.C5.C5:38289
flags=0x44e, conn_retries=2, srv_conn=0x24d4be0, pend_pos=(nil) waiting=0
frontend=virtual-server_front (id=45 mode=http), listener=? (id=1)
addr=V.V.V.V:443
backend=V.V.V.V:443_back (id=46 mode=http) addr=S.S.S.S:22918
server=slot_1_3 (id=70) addr=B4.B4.B4.B4:31992
task=0x59e1a10 (state=0x00 nice=0 calls=2 exp=<NEVER> tmask=0x1 age=9h6m)
txn=0x92b23d0 flags=0x88003000 meth=1 status=-1 req.st=MSG_DONE rsp.st
=MSG_RPBEFORE
req.f=0x0c blen=0 chnk=0 next=0
rsp.f=0x00 blen=0 chnk=0 next=0
si[0]=0x6e5d398 (state=EST flags=0x48008 endp0=CS:0x7e027a0 exp=<NEVER>
et=0x000 sub=0)
si[1]=0x6e5d3d8 (state=CON flags=0x111 endp1=CS:0x6459520 exp=<PAST>
et=0x008 sub=2)
co0=0x6de8980 ctrl=tcpv4 xprt=SSL mux=H2 data=STRM
target=LISTENER:0x23eb040
flags=0x80243300 fd=3041 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x7e027a0 csf=0x00106a00 ctx=0x82f5900
co1=0xb84e280 ctrl=tcpv4 xprt=RAW mux=PASS data=STRM
target=SERVER:0x24d4be0
flags=0x00403370 fd=1787 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x6459520 csf=0x00000200 ctx=0x6459540
req=0x6e5d110 (f=0x4cc00000 an=0x8000 pipe=0 tofwd=0 total=1112)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x6e5d118 data=0x7235570 o=1324 p=1324 req.next=0 i=0 size=16384
res=0x6e5d170 (f=0x80000000 an=0x0 pipe=0 tofwd=0 total=0)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x6e5d178 data=(nil) o=0 p=0 rsp.next=0 i=0 size=0
0x680b1b0: [30/Apr/2019:06:53:54.039969] id=62359636 proto=unix_stream
source=unix:1
flags=0x8, conn_retries=0, srv_conn=(nil), pend_pos=(nil) waiting=0
frontend=GLOBAL (id=0 mode=tcp), listener=? (id=1) addr=unix:1
backend=<NONE> (id=-1 mode=-)
server=<NONE> (id=-1)
task=0x67a4f20 (state=0x00 nice=-64 calls=1 exp=<NEVER> tmask=0x1 age=0s)
si[0]=0x680b448 (state=EST flags=0x80008 endp0=CS:0x660fdf0 exp=<NEVER>
et=0x000 sub=0)
si[1]=0x680b488 (state=EST flags=0x204018 endp1=APPCTX:0x53a1a30
exp=<NEVER> et=0x000 sub=0)
co0=0x8a5b8f0 ctrl=unix_stream xprt=RAW mux=PASS data=STRM
target=LISTENER:0x19988b0
flags=0x00243300 fd=17 fd.state=22 fd.cache=0 updt=0 fd.tmask=0x1
cs=0x660fdf0 csf=0x00001000 ctx=0x660fe10
app1=0x53a1a30 st0=7 st1=0 st2=3 applet=<CLI> tmask=0x1, nice=-64,
calls=1, cpu=0, lat=0
req=0x680b1c0 (f=0xc4c220 an=0x0 pipe=0 tofwd=0 total=14)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x680b1c8 data=0x718bca0 o=0 p=0 req.next=0 i=0 size=16384
res=0x680b220 (f=0x80008002 an=0x0 pipe=0 tofwd=-1 total=9380)
an_exp=<NEVER> rex=<NEVER> wex=<NEVER>
buf=0x680b228 data=0x9d33d90 o=9380 p=9380 rsp.next=0 i=0 size=16384
socat /var/run/haproxy/haproxy1.sock - <<< "show info"
Name: HAProxy
Version: 1.9.7
Release_date: 2019/04/25
Nbthread: 1
Nbproc: 8
Process_num: 1
Pid: 44782
Uptime: 0d 22h54m13s
Uptime_sec: 82453
Memmax_MB: 0
PoolAlloc_MB: 9
PoolUsed_MB: 9
PoolFailed: 0
Ulimit-n: 1000000
Maxsock: 4001570
Maxconn: 2000000
Hard_maxconn: 2000000
CurrConns: 7
CumConns: 16818215
CumReq: 62359636
MaxSslConns: 0
CurrSslConns: 7
CumSslConns: 15468203
Maxpipes: 0
PipesUsed: 0
PipesFree: 0
ConnRate: 0
ConnRateLimit: 0
MaxConnRate: 450
SessRate: 0
SessRateLimit: 0
MaxSessRate: 450
SslRate: 0
SslRateLimit: 0
MaxSslRate: 408
SslFrontendKeyRate: 0
SslFrontendMaxKeyRate: 367
SslFrontendSessionReuse_pct: 0
SslBackendKeyRate: 0
SslBackendMaxKeyRate: 6
SslCacheLookups: 5405716
SslCacheMisses: 2783916
CompressBpsIn: 0
CompressBpsOut: 0
CompressBpsRateLim: 0
ZlibMemUsage: 0
MaxZlibMemUsage: 0
Tasks: 3748
Run_queue: 3
Idle_pct: 1
node: X
Stopping: 0
Jobs: 898
Unstoppable Jobs: 0
Listeners: 890
ActivePeers: 0
ConnectedPeers: 0
DroppedLogs: 134
BusyPolling: 0
socat /var/run/haproxy/haproxy1.sock - <<< "show activity"
thread_id: 0
date_now: 1556600105.168009
loops: 730017734
wake_cache: 220599287
wake_tasks: 412569304
wake_signal: 0
poll_exp: 633168591
poll_drop: 19816095
poll_dead: 0
poll_skip: 0
fd_skip: 0
fd_lock: 0
fd_del: 0
conn_dead: 0
stream: 144545285
empty_rq: 68411039
long_rq: 454381935
cpust_ms_tot: 116
cpust_ms_1s: 0
cpust_ms_15s: 0
avg_loop_us: 50
strace
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787194709}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787206841}) = 0
close(6) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787281934}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787295206}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787357244}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787369184}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787430478}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787442467}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787524492}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787537606}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787603519}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787615975}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787680909}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787693527}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787757296}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787770110}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787833630}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787845869}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787909129}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787921129}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787983756}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 787995880}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788058759}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788070708}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788133753}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788145936}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788209051}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788221068}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788284081}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788296179}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788359128}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788371166}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788434304}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788446107}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788509745}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788521850}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788585197}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788597339}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788661289}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788673507}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788736072}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788748221}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788811472}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788823528}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788886604}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788898706}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788960106}) = 0
epoll_wait(3, {}, 200, 0) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 788972268}) = 0
clock_gettime(CLOCK_THREAD_CPUTIME_ID, {53716, 789045142}) = 0
gdb --pid 44782
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.3) 7.7.1
Copyright (C) 2014 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".
Attaching to process 44782
Reading symbols from /usr/sbin/haproxy...done.
Reading symbols from /lib/x86_64-linux-gnu/libcrypt.so.1...Reading symbols from
/usr/lib/debug//lib/x86_64-linux-gnu/libcrypt-2.19.so...done.
done.
Loaded symbols for /lib/x86_64-linux-gnu/libcrypt.so.1
Reading symbols from /lib/x86_64-linux-gnu/libz.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib/x86_64-linux-gnu/libz.so.1
Reading symbols from /lib/x86_64-linux-gnu/libpthread.so.0...Reading symbols
from /usr/lib/debug//lib/x86_64-linux-gnu/libpthread-2.19.so...done.
done.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Loaded symbols for /lib/x86_64-linux-gnu/libpthread.so.0
Reading symbols from /lib/x86_64-linux-gnu/librt.so.1...Reading symbols from
/usr/lib/debug//lib/x86_64-linux-gnu/librt-2.19.so...done.
done.
Loaded symbols for /lib/x86_64-linux-gnu/librt.so.1
Reading symbols from /usr/lib/haproxy/openssl_1.1.1b/lib/libssl.so.1.1...(no
debugging symbols found)...done.
Loaded symbols for /usr/lib/haproxy/openssl_1.1.1b/lib/libssl.so.1.1
Reading symbols from /usr/lib/haproxy/openssl_1.1.1b/lib/libcrypto.so.1.1...(no
debugging symbols found)...done.
Loaded symbols for /usr/lib/haproxy/openssl_1.1.1b/lib/libcrypto.so.1.1
Reading symbols from /lib/x86_64-linux-gnu/libm.so.6...Reading symbols from
/usr/lib/debug//lib/x86_64-linux-gnu/libm-2.19.so...done.
done.
Loaded symbols for /lib/x86_64-linux-gnu/libm.so.6
Reading symbols from /lib/x86_64-linux-gnu/libdl.so.2...Reading symbols from
/usr/lib/debug//lib/x86_64-linux-gnu/libdl-2.19.so...done.
done.
Loaded symbols for /lib/x86_64-linux-gnu/libdl.so.2
Reading symbols from /usr/lib/haproxy/pcre_8.43/lib/libpcre.so.1...(no
debugging symbols found)...done.
Loaded symbols for /usr/lib/haproxy/pcre_8.43/lib/libpcre.so.1
Reading symbols from /lib/x86_64-linux-gnu/libc.so.6...Reading symbols from
/usr/lib/debug//lib/x86_64-linux-gnu/libc-2.19.so...ndone.
done.
Loaded symbols for /lib/x86_64-linux-gnu/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from
/usr/lib/debug//lib/x86_64-linux-gnu/ld-2.19.so...done.
done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib/haproxy/lua/random.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/haproxy/lua/random.so
Reading symbols from /lib/x86_64-linux-gnu/libnss_files.so.2...Reading symbols
from /usr/lib/debug//lib/x86_64-linux-gnu/libnss_files-2.19.so...done.
done.
Loaded symbols for /lib/x86_64-linux-gnu/libnss_files.so.2
chunk_init (chk=0x7fbb6604ae70, str=0x1968ce0 "", size=16384) at
include/common/chunk.h:70
70 chk->size = size;
(gdb) n
71 }
(gdb)
get_trash_chunk () at src/chunk.c:63
63 return trash_chunk;
(gdb)
64 }
(gdb)
h2c_decode_headers (h2c=0xa71f310, rxbuf=0x7ffd27cc44d0, flags=0x7ffd27cc44c0,
body_len=0x7ffd27cc44c8) at src/mux_h2.c:3320
3320 struct buffer *copy = NULL;
(gdb)
3322 struct htx *htx = NULL;
(gdb)
3324 int hole = 0;
(gdb)
3325 int ret = 0;
(gdb)
3328 int try = 0;
(gdb)
3331 if (b_data(&h2c->dbuf) - hole < h2c->dfl)
(gdb)
3341 if (unlikely(!(h2c->dff & H2_F_HEADERS_END_HEADERS))) {
(gdb)
3345 if (!h2_peek_frame_hdr(&h2c->dbuf, h2c->dfl + hole,
&hdr)) {
(gdb)
3531 if (hole) {
(gdb)
3538 if (b_full(&h2c->dbuf) && h2c->dfl > b_data(&h2c->dbuf)) {
(gdb)
3544 if (htx)
(gdb)
3546 free_trash_chunk(copy);
(gdb)
3547 return ret;
(gdb)
3586 }
(gdb)
h2c_frt_handle_headers (h2c=0xa71f310, h2s=0x622160 <__compound_literal.5>) at
src/mux_h2.c:1937
1937 if (h2c->st0 >= H2_CS_ERROR)
(gdb)
1940 if (error <= 0) {
(gdb)
1941 if (error == 0)
(gdb)
1942 goto out; // missing data
(gdb)
1996 h2_release_buf(h2c, &rxbuf);
(gdb)
1997 return NULL;
(gdb)
2007 }
(gdb)
h2_process_demux (h2c=0xa71f310) at src/mux_h2.c:2460
2460 if (tmp_h2s) {
(gdb)
2504 if (h2s->st == H2_SS_ERROR)
(gdb)
2507 if (h2c->st0 == H2_CS_FRAME_E)
(gdb)
2511 if (ret <= 0)
(gdb)
2512 break;
(gdb)
2520 if (h2c->rcvd_c > 0 &&
(gdb)
2526 if (h2s && h2s->cs &&
(gdb)
2534 h2c_restart_reading(h2c, 0);
(gdb)
2535 }
(gdb)
h2_process (h2c=0xa71f310) at src/mux_h2.c:2798
2798 if (h2c->st0 >= H2_CS_ERROR || conn->flags &
CO_FL_ERROR)
(gdb)
2801 if (!b_full(&h2c->dbuf))
(gdb)
2804 h2_send(h2c);
(gdb)
2806 if (unlikely(h2c->proxy->state == PR_STSTOPPED)) {
(gdb)
2822 if (!(h2c->flags & H2_CF_WAIT_FOR_HS) &&
(gdb)
2823 (conn->flags & (CO_FL_EARLY_SSL_HS | CO_FL_HANDSHAKE |
CO_FL_EARLY_DATA)) == CO_FL_EARLY_DATA) {
(gdb)
2822 if (!(h2c->flags & H2_CF_WAIT_FOR_HS) &&
(gdb)
2838 if (conn->flags & CO_FL_ERROR || conn_xprt_read0_pending(conn)
||
(gdb)
2839 h2c->st0 == H2_CS_ERROR2 || h2c->flags &
H2_CF_GOAWAY_FAILED ||
(gdb)
2838 if (conn->flags & CO_FL_ERROR || conn_xprt_read0_pending(conn)
||
(gdb)
2839 h2c->st0 == H2_CS_ERROR2 || h2c->flags &
H2_CF_GOAWAY_FAILED ||
(gdb)
2840 (eb_is_empty(&h2c->streams_by_id) && h2c->last_sid >= 0 &&
(gdb)
2839 h2c->st0 == H2_CS_ERROR2 || h2c->flags &
H2_CF_GOAWAY_FAILED ||
(gdb)
2840 (eb_is_empty(&h2c->streams_by_id) && h2c->last_sid >= 0 &&
(gdb)
2851 if (!b_data(&h2c->dbuf))
(gdb)
2854 if ((conn->flags & CO_FL_SOCK_WR_SH) ||
(gdb)
2855 h2c->st0 == H2_CS_ERROR2 || (h2c->flags &
H2_CF_GOAWAY_FAILED) ||
(gdb)
2854 if ((conn->flags & CO_FL_SOCK_WR_SH) ||
(gdb)
2855 h2c->st0 == H2_CS_ERROR2 || (h2c->flags &
H2_CF_GOAWAY_FAILED) ||
(gdb)
2856 (h2c->st0 != H2_CS_ERROR &&
(gdb)
2855 h2c->st0 == H2_CS_ERROR2 || (h2c->flags &
H2_CF_GOAWAY_FAILED) ||
(gdb)
2857 !b_data(&h2c->mbuf) &&
(gdb)
2856 (h2c->st0 != H2_CS_ERROR &&
(gdb)
2858 (h2c->mws <= 0 || LIST_ISEMPTY(&h2c->fctl_list)) &&
(gdb)
2857 !b_data(&h2c->mbuf) &&
(gdb)
2858 (h2c->mws <= 0 || LIST_ISEMPTY(&h2c->fctl_list)) &&
(gdb)
2859 ((h2c->flags & H2_CF_MUX_BLOCK_ANY) ||
LIST_ISEMPTY(&h2c->send_list))))
(gdb)
2858 (h2c->mws <= 0 || LIST_ISEMPTY(&h2c->fctl_list)) &&
(gdb)
2859 ((h2c->flags & H2_CF_MUX_BLOCK_ANY) ||
LIST_ISEMPTY(&h2c->send_list))))
(gdb)
2860 h2_release_buf(h2c, &h2c->mbuf);
(gdb)
2862 if (h2c->task) {
(gdb)
2863 if (eb_is_empty(&h2c->streams_by_id) ||
b_data(&h2c->mbuf)) {
(gdb)
2864 h2c->task->expire = tick_add(now_ms,
h2c->last_sid < 0 ? h2c->timeout : h2c->shut_timeout);
(gdb)
2865 task_queue(h2c->task);
(gdb)
2871 h2_send(h2c);
(gdb)
2872 return 0;
(gdb)
2873 }
(gdb)
h2_io_cb (t=0x0, ctx=0xa71f310, status=1) at src/mux_h2.c:2784
2784 return NULL;
(gdb)
2785 }
(gdb)
process_runnable_tasks () at src/task.c:396
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
369 t = (struct task
*)LIST_ELEM(task_per_thread[tid].task_list.n, struct tasklet *, list);
(gdb)
370 state = HA_ATOMIC_XCHG(&t->state, TASK_RUNNING);
(gdb)
371 __ha_barrier_store();
(gdb)
372 __task_remove_from_tasklet_list(t);
(gdb)
374 ctx = t->context;
(gdb)
375 process = t->process;
(gdb)
376 t->calls++;
(gdb)
378 if (unlikely(!TASK_IS_TASKLET(t) && t->call_date)) {
(gdb)
385 curr_task = (struct task *)t;
(gdb)
386 if (likely(process == process_stream))
(gdb)
389 if (t->process != NULL)
(gdb)
390 t = process(TASK_IS_TASKLET(t) ? NULL :
t, ctx, state);
(gdb)
396 curr_task = NULL;
(gdb)
400 if (t != NULL) {
(gdb)
413 max_processed--;
(gdb)
363 while (max_processed > 0 &&
!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
416 if (!LIST_ISEMPTY(&task_per_thread[tid].task_list)) {
(gdb)
417 HA_ATOMIC_OR(&active_tasks_mask, tid_bit);
(gdb)
418 activity[tid].long_rq++;
(gdb)
420 }
(gdb)
run_poll_loop () at src/haproxy.c:2656
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2670 else if (active_tasks_mask & tid_bit)
(gdb)
2671 activity[tid].wake_tasks++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2670 else if (active_tasks_mask & tid_bit)
(gdb)
2671 activity[tid].wake_tasks++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb) p tid
$1 = 0
(gdb) p exp
$2 = 1822801618
(gdb) p next
$3 = 1822801619
(gdb) p fd_cache_mask
$4 = 18446744073709551615
(gdb) p tid_bit
$5 = 1
(gdb) n
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2670 else if (active_tasks_mask & tid_bit)
(gdb)
2671 activity[tid].wake_tasks++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb) p activity
$6 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq = 68411039, long_rq
= 470943057, cpust_total = 369035, cpust_1s = {curr_sec = 1556600975, curr_ctr
= 3752, prev_ctr = 1727},
cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617, prev_ctr = 65253},
avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "", __end = 0x8c5680
<activity+128> ""}, {loops = 0,
wake_cache = 0, wake_tasks = 0, wake_signal = 0, poll_exp = 0, poll_drop =
0, poll_dead = 0, poll_skip = 0, fd_skip = 0, fd_lock = 0, fd_del = 0,
conn_dead = 0, stream = 0, empty_rq = 0,
long_rq = 0, cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0,
prev_ctr = 0}, cpust_15s = {curr_tick = 0, curr_ctr = 0, prev_ctr = 0},
avg_loop_us = 0,
__pad = 0x8c56dc <activity+220> "", __end = 0x8c5700 <activity+256> ""}
<repeats 63 times>}
(gdb)
$7 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq = 68411039, long_rq
= 470943057, cpust_total = 369035, cpust_1s = {curr_sec = 1556600975, curr_ctr
= 3752, prev_ctr = 1727},
cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617, prev_ctr = 65253},
avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "", __end = 0x8c5680
<activity+128> ""}, {loops = 0,
wake_cache = 0, wake_tasks = 0, wake_signal = 0, poll_exp = 0, poll_drop =
0, poll_dead = 0, poll_skip = 0, fd_skip = 0, fd_lock = 0, fd_del = 0,
conn_dead = 0, stream = 0, empty_rq = 0,
long_rq = 0, cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0,
prev_ctr = 0}, cpust_15s = {curr_tick = 0, curr_ctr = 0, prev_ctr = 0},
avg_loop_us = 0,
__pad = 0x8c56dc <activity+220> "", __end = 0x8c5700 <activity+256> ""}
<repeats 63 times>}
(gdb)
$8 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq = 68411039, long_rq
= 470943057, cpust_total = 369035, cpust_1s = {curr_sec = 1556600975, curr_ctr
= 3752, prev_ctr = 1727},
cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617, prev_ctr = 65253},
avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "", __end = 0x8c5680
<activity+128> ""}, {loops = 0,
wake_cache = 0, wake_tasks = 0, wake_signal = 0, poll_exp = 0, poll_drop =
0, poll_dead = 0, poll_skip = 0, fd_skip = 0, fd_lock = 0, fd_del = 0,
conn_dead = 0, stream = 0, empty_rq = 0,
long_rq = 0, cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0,
prev_ctr = 0}, cpust_15s = {curr_tick = 0, curr_ctr = 0, prev_ctr = 0},
avg_loop_us = 0,
__pad = 0x8c56dc <activity+220> "", __end = 0x8c5700 <activity+256> ""}
<repeats 63 times>}
(gdb)
$9 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq = 68411039, long_rq
= 470943057, cpust_total = 369035, cpust_1s = {curr_sec = 1556600975, curr_ctr
= 3752, prev_ctr = 1727},
cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617, prev_ctr = 65253},
avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "", __end = 0x8c5680
<activity+128> ""}, {loops = 0,
wake_cache = 0, wake_tasks = 0, wake_signal = 0, poll_exp = 0, poll_drop =
0, poll_dead = 0, poll_skip = 0, fd_skip = 0, fd_lock = 0, fd_del = 0,
conn_dead = 0, stream = 0, empty_rq = 0,
long_rq = 0, cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0,
prev_ctr = 0}, cpust_15s = {curr_tick = 0, curr_ctr = 0, prev_ctr = 0},
avg_loop_us = 0,
__pad = 0x8c56dc <activity+220> "", __end = 0x8c5700 <activity+256> ""}
<repeats 63 times>}
(gdb)
$10 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0,
fd_lock = 0, fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq =
68411039, long_rq = 470943057, cpust_total = 369035, cpust_1s = {curr_sec =
1556600975, curr_ctr = 3752,
prev_ctr = 1727}, cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617,
prev_ctr = 65253}, avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "",
__end = 0x8c5680 <activity+128> ""}, {loops = 0, wake_cache = 0, wake_tasks
= 0, wake_signal = 0, poll_exp = 0, poll_drop = 0, poll_dead = 0, poll_skip =
0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 0, empty_rq = 0, long_rq = 0,
cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0, prev_ctr = 0},
cpust_15s = {curr_tick = 0, curr_ctr = 0,
prev_ctr = 0}, avg_loop_us = 0, __pad = 0x8c56dc <activity+220> "", __end
= 0x8c5700 <activity+256> ""} <repeats 63 times>}
(gdb)
$11 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0,
fd_lock = 0, fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq =
68411039, long_rq = 470943057, cpust_total = 369035, cpust_1s = {curr_sec =
1556600975, curr_ctr = 3752,
prev_ctr = 1727}, cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617,
prev_ctr = 65253}, avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "",
__end = 0x8c5680 <activity+128> ""}, {loops = 0, wake_cache = 0, wake_tasks
= 0, wake_signal = 0, poll_exp = 0, poll_drop = 0, poll_dead = 0, poll_skip =
0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 0, empty_rq = 0, long_rq = 0,
cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0, prev_ctr = 0},
cpust_15s = {curr_tick = 0, curr_ctr = 0,
prev_ctr = 0}, avg_loop_us = 0, __pad = 0x8c56dc <activity+220> "", __end
= 0x8c5700 <activity+256> ""} <repeats 63 times>}
(gdb)
$12 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0,
fd_lock = 0, fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq =
68411039, long_rq = 470943057, cpust_total = 369035, cpust_1s = {curr_sec =
1556600975, curr_ctr = 3752,
prev_ctr = 1727}, cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617,
prev_ctr = 65253}, avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "",
__end = 0x8c5680 <activity+128> ""}, {loops = 0, wake_cache = 0, wake_tasks
= 0, wake_signal = 0, poll_exp = 0, poll_drop = 0, poll_dead = 0, poll_skip =
0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 0, empty_rq = 0, long_rq = 0,
cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0, prev_ctr = 0},
cpust_15s = {curr_tick = 0, curr_ctr = 0,
prev_ctr = 0}, avg_loop_us = 0, __pad = 0x8c56dc <activity+220> "", __end
= 0x8c5700 <activity+256> ""} <repeats 63 times>}
(gdb)
$13 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0,
fd_lock = 0, fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq =
68411039, long_rq = 470943057, cpust_total = 369035, cpust_1s = {curr_sec =
1556600975, curr_ctr = 3752,
prev_ctr = 1727}, cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617,
prev_ctr = 65253}, avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "",
__end = 0x8c5680 <activity+128> ""}, {loops = 0, wake_cache = 0, wake_tasks
= 0, wake_signal = 0, poll_exp = 0, poll_drop = 0, poll_dead = 0, poll_skip =
0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 0, empty_rq = 0, long_rq = 0,
cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0, prev_ctr = 0},
cpust_15s = {curr_tick = 0, curr_ctr = 0,
prev_ctr = 0}, avg_loop_us = 0, __pad = 0x8c56dc <activity+220> "", __end
= 0x8c5700 <activity+256> ""} <repeats 63 times>}
(gdb)
$14 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0,
fd_lock = 0, fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq =
68411039, long_rq = 470943057, cpust_total = 369035, cpust_1s = {curr_sec =
1556600975, curr_ctr = 3752,
prev_ctr = 1727}, cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617,
prev_ctr = 65253}, avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "",
__end = 0x8c5680 <activity+128> ""}, {loops = 0, wake_cache = 0, wake_tasks
= 0, wake_signal = 0, poll_exp = 0, poll_drop = 0, poll_dead = 0, poll_skip =
0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 0, empty_rq = 0, long_rq = 0,
cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0, prev_ctr = 0},
cpust_15s = {curr_tick = 0, curr_ctr = 0,
prev_ctr = 0}, avg_loop_us = 0, __pad = 0x8c56dc <activity+220> "", __end
= 0x8c5700 <activity+256> ""} <repeats 63 times>}
(gdb)
$15 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0,
fd_lock = 0, fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq =
68411039, long_rq = 470943057, cpust_total = 369035, cpust_1s = {curr_sec =
1556600975, curr_ctr = 3752,
prev_ctr = 1727}, cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617,
prev_ctr = 65253}, avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "",
__end = 0x8c5680 <activity+128> ""}, {loops = 0, wake_cache = 0, wake_tasks
= 0, wake_signal = 0, poll_exp = 0, poll_drop = 0, poll_dead = 0, poll_skip =
0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 0, empty_rq = 0, long_rq = 0,
cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0, prev_ctr = 0},
cpust_15s = {curr_tick = 0, curr_ctr = 0,
prev_ctr = 0}, avg_loop_us = 0, __pad = 0x8c56dc <activity+220> "", __end
= 0x8c5700 <activity+256> ""} <repeats 63 times>}
(gdb)
$16 = {{loops = 746578856, wake_cache = 220782367, wake_tasks = 428947346,
wake_signal = 0, poll_exp = 649729713, poll_drop = 19857602, poll_dead = 0,
poll_skip = 0, fd_skip = 0,
fd_lock = 0, fd_del = 0, conn_dead = 0, stream = 144545466, empty_rq =
68411039, long_rq = 470943057, cpust_total = 369035, cpust_1s = {curr_sec =
1556600975, curr_ctr = 3752,
prev_ctr = 1727}, cpust_15s = {curr_tick = 1822800556, curr_ctr = 68617,
prev_ctr = 65253}, avg_loop_us = 63964412, __pad = 0x8c565c <activity+92> "",
__end = 0x8c5680 <activity+128> ""}, {loops = 0, wake_cache = 0, wake_tasks
= 0, wake_signal = 0, poll_exp = 0, poll_drop = 0, poll_dead = 0, poll_skip =
0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 0, empty_rq = 0, long_rq = 0,
cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0, prev_ctr = 0},
cpust_15s = {curr_tick = 0, curr_ctr = 0,
prev_ctr = 0}, avg_loop_us = 0, __pad = 0x8c56dc <activity+220> "", __end
= 0x8c5700 <activity+256> ""} <repeats 63 times>}
(gdb) n
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2669 activity[tid].wake_cache++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb)
2652 process_runnable_tasks();
(gdb)
2656 if (tid == 0)
(gdb)
2657 signal_process_queue();
(gdb)
2660 next = wake_expired_tasks();
(gdb)
2663 if ((jobs - unstoppable_jobs) == 0)
(gdb)
2667 exp = now_ms;
(gdb)
2668 if (fd_cache_mask & tid_bit)
(gdb)
2670 else if (active_tasks_mask & tid_bit)
(gdb)
2671 activity[tid].wake_tasks++;
(gdb)
2685 cur_poller.poll(&cur_poller, exp);
(gdb)
2686 if (sleeping_thread_mask & tid_bit)
(gdb)
2688 fd_process_cached_events();
(gdb)
2690 activity[tid].loops++;
(gdb)
2691 }
(gdb) p tid
$17 = 0
(gdb) p next
$18 = 1822815525
(gdb) p exp
$19 = 1822815334
(gdb) p fd_cache_mask
$20 = 18446744073709551614
(gdb) p tid_bit
$21 = 1
(gdb) p activity
$22 = {{loops = 746578860, wake_cache = 220782370, wake_tasks = 428947347,
wake_signal = 0, poll_exp = 649729717, poll_drop = 19857609, poll_dead = 0,
poll_skip = 0, fd_skip = 0,
fd_lock = 0, fd_del = 0, conn_dead = 0, stream = 144545467, empty_rq =
68411039, long_rq = 470943061, cpust_total = 395854, cpust_1s = {curr_sec =
1556600976, curr_ctr = 9191,
prev_ctr = 21380}, cpust_15s = {curr_tick = 1822800556, curr_ctr = 95436,
prev_ctr = 65253}, avg_loop_us = 76846393, __pad = 0x8c565c <activity+92> "",
__end = 0x8c5680 <activity+128> ""}, {loops = 0, wake_cache = 0, wake_tasks
= 0, wake_signal = 0, poll_exp = 0, poll_drop = 0, poll_dead = 0, poll_skip =
0, fd_skip = 0, fd_lock = 0,
fd_del = 0, conn_dead = 0, stream = 0, empty_rq = 0, long_rq = 0,
cpust_total = 0, cpust_1s = {curr_sec = 0, curr_ctr = 0, prev_ctr = 0},
cpust_15s = {curr_tick = 0, curr_ctr = 0,
prev_ctr = 0}, avg_loop_us = 0, __pad = 0x8c56dc <activity+220> "", __end
= 0x8c5700 <activity+256> ""} <repeats 63 times>}
(gdb) quit
A debugging session is active.