Control node deadlocked in RibOutUpdates::TailDequeue. This happened
when UpdatePack tried to acquire a lock on the next RouteUpdate in the
attr_set_ in UpdateQueue. This in turn happened since DequeueCommon
already had a lock on the RouteUpdate in question since it was the previous
one in the (temporal) queue_ in UpdateQueue.
Root cause is that calling clock_gettime with CLOCK_MONOTONIC does not
guarantee monotonically increasing timestamps.
Control node deadlocked in RibOutUpdates: :TailDequeue. This happened
when UpdatePack tried to acquire a lock on the next RouteUpdate in the
attr_set_ in UpdateQueue. This in turn happened since DequeueCommon
already had a lock on the RouteUpdate in question since it was the previous
one in the (temporal) queue_ in UpdateQueue.
Root cause is that calling clock_gettime with CLOCK_MONOTONIC does not
guarantee monotonically increasing timestamps.