-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
Segmentation fault when unloading LimeSuiteNG RF driver for srsRAN_Project
Description
When using the LimeSuiteNG RF driver with srsRAN_Project, the application crashes with a segmentation fault during driver unload/exit.
Steps to reproduce
- Build and run
srsRAN_ProjectwithLimeSuiteNGRF driver. - Start
open5gs - Start
gNB - Stop the application to trigger RF driver unload.
- Observe segmentation fault.
Expected behavior
The RF driver should unload cleanly without causing a crash.
Actual behavior
The application terminates with a segmentation fault on driver unload.
Environment
- srsRAN_Project: branch limesuiteng commit 47d0c13c24ec87bd3635355ff26cd9e5f4244453
- LimeSuiteNG: branch develop commit 3178f11
- Hardware: LimeXTRX at LimePSB v1.3
- OS/Distribution: Debian GNU/Linux 12 (bookworm)
Additional context
- The crash consistently occurs only on unload, not during normal operation.
- Backtrace/logs:
--== srsRAN gNB (commit 47d0c13c24) ==--
Lower PHY in dual executor mode.
Available radio types: zmq and limesuiteng.
Key:Value{ logLevel:3 }
Key:Value{ dev0:"LimeSDR" }
Key:Value{ port0:"dev0" }
Key:Value{ port0_rx_path:"LNAW" }
Key:Value{ port0_tx_path:"BAND1" }
Key:Value{ port0_linkFormat:"I16" }
Key:Value{ timestamp:"ticks" }
provided: port0_linkFormat
provided: port0_rx_path
provided: port0_tx_path
provided: port0
provided: dev0
Connected: LimeSDR XTRX, media=PCIe, addr=/dev/limepcie0, serial=000000000e5dd7bf
Cell pci=1, bw=5 MHz, 1T1R, dl_arfcn=392000 (n2), dl_freq=1960 MHz, dl_ssb_arfcn=391970, ul_freq=1880 MHz
N2: Connection to AMF on 10.53.1.2:38412 completed
==== gNB started ===
Type <h> to view help
Rx| Loss: 0 overrun: 0 rate: 0 MB/s
Tx| Late: 0 underrun: 1 rate: 0 MB/s
Rx| Loss: 0 overrun: 7191 rate: 0 MB/s
Tx| Late: 0 underrun: 261 rate: 0 MB/s
/dev/limepcie0/trx0 Rx0: 23.404 MB/s | TS:5758720 pkt:22496 o:12935(+12935) l:0(+0) dma:11248/11252(+4) swFIFO:5623
/dev/limepcie0/trx0 Tx0: 3.818 MB/s | TS:3306006 pkt:3689 u:429(+429) l:0(+0) dma:525/527(+2) tsAdvance:-427929/-162505/+93159us, f:2
Rx| Loss: 0 overrun: 16416 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 531 rate: 3.81818 MB/s
Rx| Loss: 0 overrun: 25618 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 801 rate: 3.81818 MB/s
/dev/limepcie0/trx0 Rx0: 23.404 MB/s | TS:11519744 pkt:45000 o:31307(+18372) l:0(+0) dma:22500/22504(+4) swFIFO:5623
/dev/limepcie0/trx0 Tx0: 3.912 MB/s | TS:6070805 pkt:7469 u:969(+540) l:0(+0) dma:1065/1067(+2) tsAdvance:-952729/-682625/+0us, f:3
Rx| Loss: 0 overrun: 34825 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 1071 rate: 3.91164 MB/s
Rx| Loss: 0 overrun: 44042 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 1341 rate: 3.91164 MB/s
/dev/limepcie0/trx0 Rx0: 23.404 MB/s | TS:17280768 pkt:67504 o:49694(+18387) l:0(+0) dma:33752/33756(+4) swFIFO:5623
/dev/limepcie0/trx0 Tx0: 4.834 MB/s | TS:9458070 pkt:12110 u:1632(+663) l:0(+0) dma:1729/1730(+1) tsAdvance:-1372840/-1227894/+0us, f:2
Rx| Loss: 0 overrun: 53260 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 1836 rate: 4.83392 MB/s
Rx| Loss: 0 overrun: 62479 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 2399 rate: 4.83392 MB/s
/dev/limepcie0/trx0 Rx0: 23.404 MB/s | TS:23041792 pkt:90008 o:68107(+18413) l:0(+0) dma:45004/45008(+4) swFIFO:5623
/dev/limepcie0/trx0 Tx0: 8.063 MB/s | TS:15200790 pkt:19915 u:2747(+1115) l:0(+0) dma:2841/2845(+4) tsAdvance:-1380840/-1367479/+0us, f:2
Rx| Loss: 0 overrun: 71713 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 2961 rate: 8.06311 MB/s
Rx| Loss: 0 overrun: 80927 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 3524 rate: 8.06311 MB/s
/dev/limepcie0/trx0 Rx0: 23.404 MB/s | TS:28802815 pkt:112512 o:86496(+18389) l:0(+0) dma:56256/56260(+4) swFIFO:5622
/dev/limepcie0/trx0 Tx0: 8.241 MB/s | TS:20971926 pkt:27832 u:3878(+1131) l:0(+0) dma:3973/3976(+3) tsAdvance:-1381018/-1372335/+0us, f:3
Rx| Loss: 0 overrun: 90139 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 4086 rate: 8.24096 MB/s
Rx| Loss: 0 overrun: 99356 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 4655 rate: 8.24096 MB/s
Rx| Loss: 0 overrun: 99356 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 4655 rate: 8.24096 MB/s
/dev/limepcie0/trx0 Rx0: 23.404 MB/s | TS:34563840 pkt:135016 o:104884(+18388) l:0(+0) dma:67508/67512(+4) swFIFO:5623
/dev/limepcie0/trx0 Tx0: 8.179 MB/s | TS:26789910 pkt:35735 u:5007(+1129) l:0(+0) dma:5101/5105(+4) tsAdvance:-1380307/-1368308/+0us, f:2
Rx| Loss: 0 overrun: 108567 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 5218 rate: 8.17912 MB/s
Rx| Loss: 0 overrun: 117777 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 5780 rate: 8.17912 MB/s
/dev/limepcie0/trx0 Rx0: 23.404 MB/s | TS:40324864 pkt:157520 o:123269(+18385) l:0(+0) dma:78760/78764(+4) swFIFO:5623
/dev/limepcie0/trx0 Tx0: 8.241 MB/s | TS:32561429 pkt:43652 u:6138(+1131) l:0(+0) dma:6233/6236(+3) tsAdvance:-1375262/-1366319/+0us, f:2
Rx| Loss: 0 overrun: 126992 rate: 23.4042 MB/s
Tx| Late: 0 underrun: 6343 rate: 8.24096 MB/s
^CStopping...
Logfile stored in /tmp/gnb.log
double free or corruption (!prev)
Stack trace (most recent call last) in thread 3343:
#10 Object "/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1", at 0xffffffffffffffff, in
#9 Source "../sysdeps/unix/sysv/linux/aarch64/clone.S", line 79, in thread_start [0x7fb224bf5b]
#8 Source "./nptl/pthread_create.c", line 442, in start_thread [0x7fb21e202f]
#7 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0x7fb24ce9db, in
#6 Object "/home/lime/develop/srsRAN_Project/build/apps/gnb/gnb", at 0x557a1d84bf, in std::thread::_State_impl<std::thread::_Invoker<std::tuple<srsran::unique_thread::make_thread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, srsran::unique_function<void (), 32ul, false>, srsran::os_thread_realtime_priority, srsran::os_sched_affinity_bitmask const&)::{lambda()#1}> > >::_M_run()
#5 Object "/home/lime/develop/srsRAN_Project/build/apps/gnb/gnb", at 0x557a1ccc17, in srsran::general_task_worker<(srsran::concurrent_queue_policy)3, (srsran::concurrent_queue_wait_policy)0>::make_blocking_pop_task()::{lambda()#1}::operator()() const
#4 Object "/home/lime/develop/srsRAN_Project/build/apps/gnb/gnb", at 0x55794908df, in srsran::lower_phy_baseband_processor::dl_process(unsigned long)
#3 Object "/home/lime/develop/srsRAN_Project/build/apps/gnb/gnb", at 0x557a1c5837, in srsran::general_task_worker_executor<(srsran::concurrent_queue_policy)3, (srsran::concurrent_queue_wait_policy)0>::execute(srsran::unique_function<void (), 64ul, false>)
#2 Object "/home/lime/develop/srsRAN_Project/build/apps/gnb/gnb", at 0x5579490ddf, in srsran::task_details::smallbuffer_table_t<srsran::lower_phy_baseband_processor::dl_process(unsigned long)::{lambda()#1}, void>::call(void*) const
#1 Object "/home/lime/develop/srsRAN_Project/build/apps/gnb/gnb", at 0x55794c992f, in srsran::radio_limesuiteng_tx_stream::transmit(srsran::baseband_gateway_buffer_reader const&, srsran::baseband_gateway_transmitter_metadata const&)
#0 Object "/usr/local/lib/liblimesuiteng.so.0.3-1", at 0x7fb299faf8, in LimePlugin_Write_complex32f(LimePluginContext*, lime::POD_complex_t<float> const* const*, int, int, lime::StreamMeta&)
Segmentation fault (Address not mapped to object [(nil)])
./start_srsran_gnb.sh: line 22: 3330 Segmentation fault sudo ./gnb -c ~/develop/5G/gnb.yml
Metadata
Metadata
Assignees
Labels
No labels