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.

Reply via email to