Skip to content

Avoid concurrent write while filling RX/CRC.indication

Robert Schmidt requested to merge gnb-stable-ul-many-ues into develop

We observe these asserts while running concurrent UL traffic on many UEs:

Assertion (crc->rnti == rx->rnti) failed!
In handle_nr_ulsch() ../../../openair2/NR_PHY_INTERFACE/NR_IF_Module.c:193
mis-match between CRC RNTI 7221 and RX RNTI 35cf

CRC and RX indication need to be pairwise for one UE, when here we have each for different UE. However, investigation seemed to indicate that both arrays for CRC and RX indication contained only one PDU; it seemed the RNTI changed while writing the CRC/RX.indication messages in nr_fill_indication().

In this patch, we change the logic to mark a ULSCH free AFTER calling nr_fill_indication(). It is difficult to say if this makes the assertion disappear, but preliminary tests did not exhibit the same failure states.

Closes #773 (closed)

Edited by Robert Schmidt

Merge request reports