[ https://issues.apache.org/jira/browse/PROTON-255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13592316#comment-13592316 ]
Ken Giusti commented on PROTON-255: ----------------------------------- The "FLOW" frame is missed by the driver since it is created by the call to pn_transport_quiesced() done by the tsync call. Usually, transport output is generated by the driver when it checks for pending output (done during the call to pn_connector_process). Since the driver is not creating the output, it is not aware of the need to send it. So when pending connections are walked the connector is never returned. #4 0x00007f4f4c2ff749 in pn_post_flow (transport=0xe73ce0, ssn_state=0xeb4748, state=0xf40798) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:2141 #5 0x00007f4f4c2ff9a3 in pn_process_flow_receiver (transport=0xe73ce0, endpoint=0xf36fd0) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:2166 #6 0x00007f4f4c3009ca in pn_phase (transport=0xe73ce0, phase=0x7f4f4c2ff8a5 <pn_process_flow_receiver>) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:2512 #7 0x00007f4f4c300a85 in pn_process (transport=0xe73ce0) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:2525 #8 0x00007f4f4c300d40 in pn_output_write_amqp (io_layer=0xe742b0, bytes=0xe74790 "", size=16384) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:2579 #9 0x00007f4f4c301cf7 in pn_io_layer_output_passthru (io_layer=0xe74278, bytes=0xe74790 "", size=16384) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:2991 #10 0x00007f4f4c301cf7 in pn_io_layer_output_passthru (io_layer=0xe74240, bytes=0xe74790 "", size=16384) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:2991 #11 0x00007f4f4c300f5c in transport_produce (transport=0xe73ce0) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:2619 #12 0x00007f4f4c302000 in pn_transport_pending (transport=0xe73ce0) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:3070 #13 0x00007f4f4c302142 in pn_transport_quiesced (transport=0xe73ce0) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/engine/engine.c:3104 #14 0x00007f4f4c308603 in pn_messenger_sent (messenger=0xe6ddc0) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/messenger.c:1088 #15 0x00007f4f4c306f81 in pn_messenger_tsync (messenger=0xe6ddc0, predicate=0x7f4f4c3085bb <pn_messenger_sent>, timeout=-1) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/messenger.c:621 #16 0x00007f4f4c307282 in pn_messenger_sync (messenger=0xe6ddc0, predicate=0x7f4f4c3085bb <pn_messenger_sent>) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/messenger.c:687 #17 0x00007f4f4c3087c2 in pn_messenger_send (messenger=0xe6ddc0) at /home/kgiusti/work/proton/qpid-proton/proton-c/src/messenger.c:1139 #18 0x0000000000401f3f in main (argc=8, argv=0x7fff718b8b68) at /home/kgiusti/work/proton/qpid-proton/tests/traffic/clients/c/msgr-recv.c:241 > Messenger stall in send(): frames buffered in transport not written to driver. > ------------------------------------------------------------------------------ > > Key: PROTON-255 > URL: https://issues.apache.org/jira/browse/PROTON-255 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c > Affects Versions: 0.4 > Reporter: Ken Giusti > Priority: Blocker > > I've created a simple "ping-pong" test between two Messenger clients. One > client sends 10k messages to the other, which replies. The test stalls after > sending 10 messages in each direction, which is the value used for link > credit. > The cause of the problem is that the FLOW frame sent by one client is not be > received by the other. The failure is due to the FLOW frame remaining > buffered in the sender's transport buffer, not being written to the driver. > The driver is waiting for socket activity, and never "sees" the pending > output sitting in the transport. > This bug appears to have been introduced by PROTON-225 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira