Ken Giusti created DISPATCH-1330:
------------------------------------

             Summary: Q2 stall due to incorrect msg buffer ref count decrement 
on link detach
                 Key: DISPATCH-1330
                 URL: https://issues.apache.org/jira/browse/DISPATCH-1330
             Project: Qpid Dispatch
          Issue Type: Bug
          Components: Routing Engine
    Affects Versions: 1.6.0, 1.7.0
            Reporter: Ken Giusti
            Assignee: Ken Giusti
             Fix For: 1.8.0


Very rarely the test_40_drop_rx_client_multicast_large_message 
(system_tests_edge_router.RouterTest) will hang.

On examination it turns out that very large mcast message is stuck in the Q2 
holdoff=true state.

The message buffers are supposed to be discarded as the senders advance.  
However in this case all senders are at the end of the buffer list having sent 
all data.

The refcounts of the preceding buffers are all stuck at 1 - this is incorrect 
as the refcount should've hit 0 and the buffers should be freed.

It turns out that a sender was detached *after* the buffer refcounts were 
incremented for it, but *before* the msg's cursor was set.  This prevented the 
cleanup code from walking the list of unsent buffers decrement the refcounts on 
detach.

Kudos to Fernando Giorgetti for finding this issue.



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

Reply via email to