connectedhomeip icon indicating copy to clipboard operation
connectedhomeip copied to clipboard

if SendStandaloneAckMessage fails, ReliableMessageMgr::ExecuteActions() loops infinitely

Open cecille opened this issue 3 years ago • 5 comments

Problem

infinte loop

Proposed Solution

This is essentially a race problem - in order to properly shut down a connection, the acks should be flushed first, but that doesn't appear to be happening

cecille avatar Mar 30 '22 00:03 cecille

Happens if I try to call CloseSession in the CommissioneeDeviceProxy

cecille avatar Apr 03 '22 15:04 cecille

So what we are doing here is calling ExpirePairing on the session manager.

That will call ReleaseSession, which will end up landing us in ExchangeContext::OnSessionReleased. That will try to flush acks and then remove the retrans table entry.

The FlushAcks will presumably fail because the session is already gone (?). But either way the retrans table entry should go away.

And after this, the exchange should generally be deallocated at some point, and then it will no longer show up in ExecuteForAllContext in ExecuteActions.

I guess I am not clear on where the infinite loop here is. Which loops is it, @cecille ?

bzbarsky-apple avatar Apr 05 '22 16:04 bzbarsky-apple

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

stale[bot] avatar Oct 03 '22 01:10 stale[bot]

This stale issue has been automatically closed. Thank you for your contributions.

stale[bot] avatar Oct 12 '22 04:10 stale[bot]

This stale issue has been automatically closed. Thank you for your contributions.

stale[bot] avatar Oct 21 '22 06:10 stale[bot]

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

stale[bot] avatar Apr 25 '23 21:04 stale[bot]

This stale issue has been automatically closed. Thank you for your contributions.

stale[bot] avatar May 04 '23 02:05 stale[bot]