Skip to content

Multi-UE: message "should be called with the scheduler mutex locked"

Multi-UE operation: on multiple RA at the same time, we get

Assertion (rc == 16) failed!
In schedule_nr_prach() /home/user/openairinterface5g/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c:264
this function should be called with the scheduler mutex locked

Multi_UE_Issue_schedule_nr_prach.txt

or

Assertion (rc == 16) failed!
In send_initial_ul_rrc_message() /home/user/openairinterface5g/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c:2919
this function should be called with the scheduler mutex locked

Multi_UE_Issue_send_initial_ul_rrc_message.txt

How to trigger: do many RA, possibly at the same time

Issue: nr_mac_prepare_ra_ue() is called with the scheduler being locked (via NR_SCHED_ENSURE_LOCKED();), but if there is no free RA, it unlocks the scheduler via NR_SCHED_UNLOCK(). In short, when calling nr_mac_prepare_ra_ue(), the scheduler is locked, but it might return with the scheduler unlocked.

Fix: remove NR_SCHED_UNLOCK().