On Wed, Jun 10, 2015 at 02:17:23PM +0100, Frank Quinn wrote:
> You can recreate this on a CentOS 6.6 box by installing qpid-proton-c-devel
> using yum from EPEL, then compiling the example application that comes with
> it in /usr/share/proton/examples/messenger/send.c.
> 
> There is no broker with these example applications - it's point to point.
> 
> There is a matching recv.c application there too. If you start recv first,
> it works fine, but if you don't, the send application hangs which I believe
> is new behaviour.
> 
> Again, this does not happen on my Fedora laptop - only on CentOS 6.

I'm able to recreate this on RHEL6 as well using the RPMs from EPEL. I
see the connection aborted notice in the trace and then it fails to
exit. It appears to be repeatedly calling pn_transport_closed(). The
stack trace I see on EL6 is:

(gdb) backtrace
#0  pn_transport_closed (transport=0x804fa28)
    at /home/mcpierce/Programming/Proton/proton-c/src/transport/transport.c:2802
#1  0x00140ea8 in pni_connection_capacity (ctx=0x804f920)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:166
#2  pni_connection_update (ctx=0x804f920) at 
/home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:196
#3  pni_conn_modified (ctx=0x804f920) at 
/home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:225
#4  0x00141071 in pn_messenger_process_transport (messenger=0x804cb40, 
event=0x805c520)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1201
#5  0x00141134 in pn_messenger_process_events (messenger=0x804cb40)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1252
#6  0x00141f83 in pni_connection_readable (sel=0x804f958)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:261
#7  0x00143425 in pn_selectable_readable (selectable=0x804f958)
    at /home/mcpierce/Programming/Proton/proton-c/src/selectable.c:204
#8  0x00141483 in pn_messenger_process (messenger=0x804cb40)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1310
#9  0x001415c8 in pn_messenger_tsync (messenger=0x804cb40, predicate=0x13da40 
<pn_messenger_sent>, timeout=-1)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1379
#10 0x00141a97 in pn_messenger_sync (messenger=0x804cb40, predicate=0x13da40 
<pn_messenger_sent>)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1410
#11 0x00141c8c in pn_messenger_send (messenger=0x804cb40, n=-1)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:2119
#12 0x08048e59 in main (argc=-72537468, argv=0xb7ffe000)
    at /home/mcpierce/Programming/Proton/examples/c/messenger/send.c:102

The same backtrace on F22 is:

(gdb) backtrace
#0  pn_transport_closed (transport=transport@entry=0x60ac40)
    at /home/mcpierce/Programming/Proton/proton-c/src/transport/transport.c:2801
#1  0x00007ffff7bbf0a8 in pni_connection_capacity (sel=0x60aaf0)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:166
#2  pni_connection_update (sel=0x60aaf0) at 
/home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:196
#3  pni_conn_modified (ctx=0x60aa80) at 
/home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:225
#4  0x00007ffff7bbf135 in pn_messenger_process_transport 
(messenger=messenger@entry=0x605970, 
    event=event@entry=0x61a240) at 
/home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1201
#5  0x00007ffff7bbf27b in pn_messenger_process_events 
(messenger=messenger@entry=0x605970)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1252
#6  0x00007ffff7bbf6d9 in pni_connection_readable (sel=0x60aaf0)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:261
#7  0x00007ffff7bbf7e8 in pn_messenger_process 
(messenger=messenger@entry=0x605970)
    at /home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1310
#8  0x00007ffff7bbf94f in pn_messenger_tsync (messenger=0x605970, 
predicate=0x7ffff7bbc420 <pn_messenger_sent>, 
    timeout=-1) at 
/home/mcpierce/Programming/Proton/proton-c/src/messenger/messenger.c:1379
#9  0x0000000000401158 in main (argc=<optimized out>, argv=<optimized out>)
    at /home/mcpierce/Programming/Proton/examples/c/messenger/send.c:102

There's definitely a difference in the runtime behavior of Fedora vs.
RHEL in this case.

-- 
Darryl L. Pierce, Sr. Software Engineer @ Red Hat, Inc.
Delivering value year after year.
Red Hat ranks #1 in value among software vendors.
http://www.redhat.com/promo/vendor/

Attachment: pgpS6Fao6o8uN.pgp
Description: PGP signature

Reply via email to