From 4c658cdd50a915b3ad7acd19aea1d2e0f66c624b Mon Sep 17 00:00:00 2001 From: Bartosz Podrygajlo Date: Fri, 14 Jun 2024 16:26:51 +0200 Subject: [PATCH] Add assertion for known segfault during teardown of gNB. --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c index dbd64f524e..3cc612b98d 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c @@ -196,6 +196,12 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frame, sub_frame_ gNB_MAC_INST *gNB = RC.nrmac[module_idP]; NR_COMMON_channels_t *cc = gNB->common_channels; NR_ServingCellConfigCommon_t *scc = cc->ServingCellConfigCommon; + // Assert to detect segfault during gNB teardown. scc->ssbSubcarrierSpacing pointer is most likely overwritten + AssertFatal( + *scc->ssbSubcarrierSpacing >= 0 && *scc->ssbSubcarrierSpacing < sizeofArray(nr_slots_per_frame), + "ssbSubcarrierSpacing %ld is out of range, ssbSubcarrierSpacing pointer (%p) might be overwritten, known segfault condition", + *scc->ssbSubcarrierSpacing, + scc->ssbSubcarrierSpacing); NR_SCHED_LOCK(&gNB->sched_lock);