You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Revert of original patch.
Testing with debug binaries has revealed problems with
hitting several different assert related to handling of the
TrpId queue mechanism.
Likely cause is that get_trp() seems to deliver the
same TrpId to two different (assist_send-threads), one
where the TrpId is delivered through the neighbour priority
mechaninsm, and another where it is delivered as a non-neighbour.
If this happens it breaks the protection mechanisms if the
transporter buffers, where only a single threads is assumed to
operate on the same TrpId.
Root cause may be that the patch now being reverted called
insert_trp() on transporters having data to sent as part of
startChangeNeighbourNode() - making it a non-neighbour
TrpId awaiting sends.
However, the later call to setNeighbourNode() may reinstantiate
the same NodeId as a neighbour again. Thus the same TrpId
coulde be returned both as a non-neighbour as a neighbour and
be operated upon on two different threads.
Change-Id: Icada4600e008d551e97af2b31abd070f5e4ac68a
0 commit comments