Chuck Rolke created PROTON-1483:
-----------------------------------
Summary: proactor/epoll.c:181: ptimer_callback: Assertion
Key: PROTON-1483
URL: https://issues.apache.org/jira/browse/PROTON-1483
Project: Qpid Proton
Issue Type: Bug
Components: proton-c
Affects Versions: 0.18.0
Environment: Fedora 25
Master source builds of qpid-proton and qpid-dispatch
Reporter: Chuck Rolke
Attachments: A.conf, B.conf
Start a dispatch router network of two routers. Send client traffic or not. Let
it sit for a few minutes.
{noformat}
qdrouterd: /home/chug/git/qpid-proton/proton-c/src/proactor/epoll.c:181:
ptimer_callback: Assertion `exp_count >= pt->skip_count' failed.
{noformat}
Either router A or B may fail this way. Looking at one core dump the internals
show:
{noformat}
(gdb) list
176 ssize_t l = read(pt->timerfd, &u_exp_count, sizeof(uint64_t));
177 (void)l; /* Silence compiler complaints in release build */
178 assert(l == sizeof(uint64_t));
179 assert(u_exp_count < INT_MAX); // or test and log it?
180 int exp_count = (int) u_exp_count;
181 assert(exp_count >= pt->skip_count);
182 assert(exp_count <= pt->pending_count);
183 exp_count -= pt->skip_count;
184 pt->skip_count = 0;
185 pt->pending_count -= exp_count;
(gdb) p exp_count
$1 = 1
(gdb) p pt->skip_count
$2 = 2
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
#1 0x00007fc51c49d51a in __GI_abort () at abort.c:89
#2 0x00007fc51c493da7 in __assert_fail_base (fmt=<optimized out>,
assertion=assertion@entry=0x7fc51d45fbc2 "exp_count >= pt->skip_count",
file=file@entry=0x7fc51d45fb30
"/home/chug/git/qpid-proton/proton-c/src/proactor/epoll.c",
line=line@entry=181,
function=function@entry=0x7fc51d45fe70 <__PRETTY_FUNCTION__.7041>
"ptimer_callback") at assert.c:92
#3 0x00007fc51c493e52 in __GI___assert_fail (assertion=0x7fc51d45fbc2
"exp_count >= pt->skip_count", file=0x7fc51d45fb30
"/home/chug/git/qpid-proton/proton-c/src/proactor/epoll.c", line=181,
function=0x7fc51d45fe70 <__PRETTY_FUNCTION__.7041> "ptimer_callback") at
assert.c:101
#4 0x00007fc51d45b620 in ptimer_callback (pt=0xfd8db8) at
/home/chug/git/qpid-proton/proton-c/src/proactor/epoll.c:181
#5 0x00007fc51d45ebae in proactor_process (p=0xfd8d40, timeout=true) at
/home/chug/git/qpid-proton/proton-c/src/proactor/epoll.c:1537
#6 0x00007fc51d45f0ae in proactor_do_epoll (p=0xfd8d40, can_block=true) at
/home/chug/git/qpid-proton/proton-c/src/proactor/epoll.c:1657
#7 0x00007fc51d45f196 in pn_proactor_wait (p=0xfd8d40) at
/home/chug/git/qpid-proton/proton-c/src/proactor/epoll.c:1680
#8 0x00007fc51d901d6a in thread_run (arg=0xfcfdd0) at
/home/chug/git/qpid-dispatch/src/server.c:817
#9 0x00007fc51d2416ca in start_thread (arg=0x7fc50fd93700) at
pthread_create.c:333
#10 0x00007fc51c56df7f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:105
{noformat}
The attached conf files are for the test routers.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]