[
https://issues.apache.org/jira/browse/DISPATCH-1893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17263472#comment-17263472
]
ASF subversion and git services commented on DISPATCH-1893:
-----------------------------------------------------------
Commit ef2964653a844ec110214ec1c236f44d963fed01 in qpid-dispatch's branch
refs/heads/master from Ken Giusti
[ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=ef29646 ]
DISPATCH-1893: fix race in qd_message_next_stream_data()
The race occurs when attempting to get the next stream_data entry from
a message where no further stream_data is present but the message has
not been completely received.
The search for the next stream_data fails since the message body
cursor is at the end of the content buffer list. The lock is then
dropped. The "receive complete" flag is then checked to determine if
the proper return code. Depending on the receive complete flag the
return code will indicate either the body parsing is complete
(NO_MORE) or wait for more data (DATA_INCOMPLETE).
The race ocurs when the input I/O thread takes control right after the
qd_message_next_stream_data drops the lock and adds more body data and
completes the recieve before the thread calling
qd_message_next_stream_data checks the receive complete flag.
This leads to qd_message_next_stream_data() to indicate NO_MORE while
it has not completely consumed all stream data entries. This results
in a truncated message body.
This closes #977
> HTTP1: CI failure (hang) in test_01_concurrent_requests
> -------------------------------------------------------
>
> Key: DISPATCH-1893
> URL: https://issues.apache.org/jira/browse/DISPATCH-1893
> Project: Qpid Dispatch
> Issue Type: Test
> Components: Protocol Adaptors
> Affects Versions: 1.15.0
> Reporter: Ken Giusti
> Assignee: Ken Giusti
> Priority: Critical
> Fix For: 1.15.0
>
>
> Occurs most frequently in Travis CI. Needs investigation.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]