[ https://issues.apache.org/jira/browse/PROTON-1766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16379253#comment-16379253 ]
ASF subversion and git services commented on PROTON-1766: --------------------------------------------------------- Commit 0774a4caa637481c438d40b5bbc815ff8fcbba25 in qpid-proton's branch refs/heads/master from [~aconway] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=0774a4c ] PROTON-1766: [c-epoll] Fix initialization order race Set the pn_connection_t backpointer *after* the pconnection has been set up. Otherwise there is a race with pn_connection_wake() on connections that are re-used after pn_proactor_release_connection() > [cpp] seg fault in reconnect test > --------------------------------- > > Key: PROTON-1766 > URL: https://issues.apache.org/jira/browse/PROTON-1766 > Project: Qpid Proton > Issue Type: Improvement > Components: cpp-binding, proton-c > Affects Versions: proton-c-0.20.0 > Reporter: Alan Conway > Assignee: Alan Conway > Priority: Major > Fix For: proton-c-0.21.0 > > > See [https://issues.jboss.org/browse/ENTMQCL-600] for details and reproducer > code, summary: > > Using the to be attached reproducer and broker configuration: > Running amqsender > ./amqsender <broker1> <broker2> <username> <password> <address> <frequency in > microseconds> > e.g. > ./amqsender testbox111:5672 testbox111:5673 anon anon Q1 1 > You can reproduce the coredump with just one broker > 1. keep slave down > 2. start master broker > 3. run amqsender with a very low frequency > 4. kill master broker > This should reproduce the coredump. > The reproducer has events implemented for on_transport_close yet we see: > {code} > . > . > . > [0x7fffec0169b0]:(PN_TRANSPORT, pn_transport<0x7fffec0169b0>) > [0x7fffec0169b0]:(PN_TRANSPORT, pn_transport<0x7fffec0169b0>) > [0x7fffec0169b0]:(PN_CONNECTION_WAKE, pn_connection<0x7fffec000b90>) > AMQSender::on_connection_wake pn_connection<0x7fffec000b90> > [0x7fffec0169b0]:(PN_TRANSPORT_TAIL_CLOSED, pn_transport<0x7fffec0169b0>) > [0x7fffec0169b0]:(PN_TRANSPORT_ERROR, pn_transport<0x7fffec0169b0>) > [0x7fffec0169b0]:(PN_TRANSPORT_HEAD_CLOSED, pn_transport<0x7fffec0169b0>) > [0x7fffec0169b0]:(PN_TRANSPORT_CLOSED, pn_transport<0x7fffec0169b0>) > [0x7fffec0169b0]:(PN_CONNECTION_INIT, pn_connection<0x7fffec000b90>) > Thread 1 "amqsender" received signal SIGSEGV, Segmentation fault. > 0x00007ffff72bcdd0 in pthread_mutex_lock () from /lib64/libpthread.so.0 > Missing separate debuginfos, use: dnf debuginfo-install > cyrus-sasl-gssapi-2.1.26-26.2.fc24.x86_64 > cyrus-sasl-lib-2.1.26-26.2.fc24.x86_64 cyrus-sasl-md5-2.1.26-26.2.fc24.x86_64 > cyrus-sasl-plain-2.1.26-26.2.fc24.x86_64 > cyrus-sasl-scram-2.1.26-26.2.fc24.x86_64 keyutils-libs-1.5.9-8.fc24.x86_64 > krb5-libs-1.14.4-7.fc25.x86_64 libcom_err-1.43.3-1.fc25.x86_64 > libcrypt-nss-2.24-4.fc25.x86_64 libdb-5.3.28-16.fc25.x86_64 > libgcc-6.3.1-1.fc25.x86_64 libselinux-2.5-13.fc25.x86_64 > libstdc++-6.3.1-1.fc25.x86_64 nss-softokn-freebl-3.28.3-1.1.fc25.x86_64 > openssl-libs-1.0.2k-1.fc25.x86_64 pcre-8.40-5.fc25.x86_64 > zlib-1.2.8-10.fc24.x86_64 > (gdb) bt > #0 0x00007ffff72bcdd0 in pthread_mutex_lock () from /lib64/libpthread.so.0 > #1 0x00007ffff76dc4fa in lock (m=0x1a0) at > /home/rkieley/LocalProjects/src/rh/rh-qpid-proton/proton-c/src/proactor/epoll.c:112 > #2 0x00007ffff76dcc09 in wake (ctx=0x7fffec2b8ac0) at > /home/rkieley/LocalProjects/src/rh/rh-qpid-proton/proton-c/src/proactor/epoll.c:436 > #3 0x00007ffff76def0e in pn_connection_wake (c=0x7fffec000b90) at > /home/rkieley/LocalProjects/src/rh/rh-qpid-proton/proton-c/src/proactor/epoll.c:1302 > #4 0x00007ffff7b81b82 in proton::container::impl::connection_work_queue::add > (this=0x7fffec001d30, f=...) at > /home/rkieley/LocalProjects/src/rh/rh-qpid-proton/proton-c/bindings/cpp/src/proactor_container_impl.cpp:118 > #5 0x00007ffff7bacde5 in proton::work_queue::add (this=0x7fffec001cd8, > f=...) at > /home/rkieley/LocalProjects/src/rh/rh-qpid-proton/proton-c/bindings/cpp/src/work_queue.cpp:43 > #6 0x000000000040536f in AMQSender::send (this=this@entry=0x7fffffffd960, > strMsg="7578") at ../attachments/AMQSender.cpp:42 > #7 0x000000000040328f in main (argc=<optimized out>, argv=0x7fffffffdbd8) at > ../attachments/amqsend.cpp:20 > (gdb) frame 2 > #2 0x00007ffff76dcc09 in wake (ctx=0x7fffec2b8ac0) at > /home/rkieley/LocalProjects/src/rh/rh-qpid-proton/proton-c/src/proactor/epoll.c:436 > 436 lock(&p->eventfd_mutex); > (gdb) print p > $3 = (pn_proactor_t *) 0x0 > (gdb) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org