[ 
https://issues.apache.org/jira/browse/PROTON-1483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16023050#comment-16023050
 ] 

ASF subversion and git services commented on PROTON-1483:
---------------------------------------------------------

Commit a4e5c84d88eb32a1951e058836e5f509749a955b in qpid-proton's branch 
refs/heads/master from Clifford Jansen
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=a4e5c84 ]

PROTON-1483: C epoll proactor, change timerfd accounting


> 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]

Reply via email to