[srslte-users] Segmentation fault during LTE-UE Prach procedure

Liqun Liu lliu at w2bi.com
Tue Oct 3 20:29:09 UTC 2017


Hi all,


I experience this segmentation fault issue when lte-UE try to PRACH. It looks likely the subheaders of pdu_msg was not initialized properly.  I went through archive and do not see anyone else has similar issue. Can someone give some help?



I attached the gdb log below


Searching for cell...
Using Volk machine: avx2_64_mmx_orc
Found CELL ID: 19 CP: Normal  , CFO: -0.6 KHz.
Trying to decode MIB...
 - Cell ID:         19
 - Nof ports:       2
 - CP:              Normal
 - PRB:             50
 - PHICH Length:    Normal
 - PHICH Resources: 1/6
 - SFN:             0
MIB received BW=10 MHz
[New Thread 0x7fffc37fe700 (LWP 17177)]
Initializating cell configuration...
-- Asking for clock rate 23.040000 MHz...
-- Actually got clock rate 23.040000 MHz.
-- Performing timer loopback test... pass
Setting Sampling frequency 11.52 MHz
Setting TX/RX offset 120 samples, 10.42 us
SIB1 received, CellID=19,  PLMN Id: MCC 311 MNC 480
SIB2 received
[Thread 0x7fffc37fe700 (LWP 17177) exited]
Random Access Transmission: seq=1, ra-rnti=0x4

------------------------------

Thread 24 "srsue_debug" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd97fa700 (LWP 17157)]
0x000000000050091e in srslte::sch_subh::get_payload_size (this=0x0) at /home/w2bi/CLionProjects/srsLTE/lib/src/common/pdu.cc:459
459      return nof_bytes;
(gdb) backtrace
#0  0x000000000050091e in srslte::sch_subh::get_payload_size (this=0x0) at /home/w2bi/CLionProjects/srsLTE/lib/src/common/pdu.cc:459
#1  0x00000000004ffe7b in srslte::sch_pdu::write_packet (this=0x7ffff1a5f708, log_h=0x7ffff1abf5e0) at /home/w2bi/CLionProjects/srsLTE/lib/src/common/pdu.cc:229
#2  0x00000000004c9567 in srsue::mux::pdu_get (this=0x7ffff1a5f618, payload=0x7ffff1a5f682 "", pdu_sz=117, tx_tti=0, pid=0) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/mux.cc:253
#3  0x00000000004c9db8 in srsue::mux::msg3_get (this=0x7ffff1a5f618, payload=0x4c93800 "", pdu_sz=117) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/mux.cc:348
#4  0x00000000004d43ee in srsue::ul_harq_entity::ul_harq_process::run_tti (this=0x7ffff1a60bf8, tti_tx=1945, grant=0x7fffd97f9720, action=0x7fffd97f9c40)
    at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/ul_harq.cc:250
#5  0x00000000004d3c0e in srsue::ul_harq_entity::run_tti (this=0x7ffff1a60a68, tti=1941, grant=0x7fffd97f9720, action=0x7fffd97f9c40) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/ul_harq.cc:143
#6  0x00000000004d39ba in srsue::ul_harq_entity::new_grant_ul (this=0x7ffff1a60a68, grant=..., action=0x7fffd97f9c40) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/ul_harq.cc:119
#7  0x00000000004c6bf2 in srsue::mac::new_grant_ul (this=0x7ffff1a5f4a8, grant=..., action=0x7fffd97f9c40) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/mac.cc:316
#8  0x00000000004d81e9 in srsue::phch_worker::work_imp (this=0x7ffff7f1b010) at /home/w2bi/CLionProjects/srsLTE/srsue/src/phy/phch_worker.cc:247
#9  0x00000000005054bb in srslte::thread_pool::worker::run_thread (this=0x7ffff7f1b010) at /home/w2bi/CLionProjects/srsLTE/lib/src/common/thread_pool.cc:61
#10 0x00000000004c7f28 in thread::thread_function_entry (_this=0x7ffff7f1b010) at /home/w2bi/CLionProjects/srsLTE/lib/include/srslte/common/threads.h:73
#11 0x00007ffff7bc16ba in start_thread (arg=0x7fffd97fa700) at pthread_create.c:333
#12 0x00007ffff61273dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb) frame 0
#0  0x000000000050091e in srslte::sch_subh::get_payload_size (this=0x0) at /home/w2bi/CLionProjects/srsLTE/lib/src/common/pdu.cc:459
459      return nof_bytes;
(gdb) print this
$1 = (srslte::sch_subh * const) 0x0
(gdb) frame 1
#1  0x00000000004ffe7b in srslte::sch_pdu::write_packet (this=0x7ffff1a5f708, log_h=0x7ffff1abf5e0) at /home/w2bi/CLionProjects/srsLTE/lib/src/common/pdu.cc:229
229          printf("SUBH %d is_sdu=%d, payload=%d\n", i, subheaders[i].is_sdu(), subheaders[i].get_payload_size());
(gdb) print i
$2 = 0
(gdb) print subheaders[0]
Cannot access memory at address 0x0
(gdb) print subheaders
$3 = std::vector of length 0, capacity 0

comment out /srsLTE/lib/src/common/pdu.cc:459 \, run again and get similar error


Searching for cell...
Using Volk machine: avx2_64_mmx_orc
Found CELL ID: 19 CP: Normal  , CFO: -0.7 KHz.
Trying to decode MIB...
 - Cell ID:         19
 - Nof ports:       2
 - CP:              Normal
 - PRB:             50
 - PHICH Length:    Normal
 - PHICH Resources: 1/6
 - SFN:             0
MIB received BW=10 MHz
[New Thread 0x7fffc37fe700 (LWP 3125)]
Initializating cell configuration...
-- Asking for clock rate 23.040000 MHz...
-- Actually got clock rate 23.040000 MHz.
-- Performing timer loopback test... pass
Setting Sampling frequency 11.52 MHz
Setting TX/RX offset 120 samples, 10.42 us
SIB1 received, CellID=19,  PLMN Id: MCC 311 MNC 480
SIB2 received
[Thread 0x7fffc37fe700 (LWP 3125) exited]
Random Access Transmission: seq=1, ra-rnti=0x9

------------------------------
Random Access Transmission: seq=2, ra-rnti=0x4

Thread 26 "srsue_debug_rad" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffcbfff700 (LWP 3106)]
0x00000000004c3539 in srslte::pdu<srslte::sch_subh>::init_ (this=0x7ffff1a5f708, buffer_tx_ptr=0x7ffff1a5f682 "", pdu_len_bytes=117, is_ulsch=true)
    at /home/w2bi/CLionProjects/srsLTE/lib/include/srslte/common/pdu.h:173
173          subheaders[i].parent = this;
(gdb) backtrace
#0  0x00000000004c3539 in srslte::pdu<srslte::sch_subh>::init_ (this=0x7ffff1a5f708, buffer_tx_ptr=0x7ffff1a5f682 "", pdu_len_bytes=117, is_ulsch=true)
    at /home/w2bi/CLionProjects/srsLTE/lib/include/srslte/common/pdu.h:173
#1  0x00000000004ca1e3 in srslte::pdu<srslte::sch_subh>::init_tx (this=0x7ffff1a5f708, payload=0x7ffff1a5f682 "", pdu_len_bytes=117, is_ulsch=true)
    at /home/w2bi/CLionProjects/srsLTE/lib/include/srslte/common/pdu.h:78
#2  0x00000000004c8d11 in srsue::mux::pdu_get (this=0x7ffff1a5f618, payload=0x7ffff1a5f682 "", pdu_sz=117, tx_tti=0, pid=0) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/mux.cc:167
#3  0x00000000004c9db8 in srsue::mux::msg3_get (this=0x7ffff1a5f618, payload=0x4c90500 "", pdu_sz=117) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/mux.cc:348
#4  0x00000000004d43ee in srsue::ul_harq_entity::ul_harq_process::run_tti (this=0x7ffff1a60bf8, tti_tx=3905, grant=0x7fffcbffe720, action=0x7fffcbffec40)
    at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/ul_harq.cc:250
#5  0x00000000004d3c0e in srsue::ul_harq_entity::run_tti (this=0x7ffff1a60a68, tti=3901, grant=0x7fffcbffe720, action=0x7fffcbffec40) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/ul_harq.cc:143
#6  0x00000000004d39ba in srsue::ul_harq_entity::new_grant_ul (this=0x7ffff1a60a68, grant=..., action=0x7fffcbffec40) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/ul_harq.cc:119
#7  0x00000000004c6bf2 in srsue::mac::new_grant_ul (this=0x7ffff1a5f4a8, grant=..., action=0x7fffcbffec40) at /home/w2bi/CLionProjects/srsLTE/srsue/src/mac/mac.cc:316
#8  0x00000000004d81e9 in srsue::phch_worker::work_imp (this=0x7ffff7f3aa98) at /home/w2bi/CLionProjects/srsLTE/srsue/src/phy/phch_worker.cc:247
#9  0x0000000000505211 in srslte::thread_pool::worker::run_thread (this=0x7ffff7f3aa98) at /home/w2bi/CLionProjects/srsLTE/lib/src/common/thread_pool.cc:61
#10 0x00000000004c7f28 in thread::thread_function_entry (_this=0x7ffff7f3aa98) at /home/w2bi/CLionProjects/srsLTE/lib/include/srslte/common/threads.h:73
#11 0x00007ffff7bc16ba in start_thread (arg=0x7fffcbfff700) at pthread_create.c:333
#12 0x00007ffff61273dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb) frame 0
#0  0x00000000004c3539 in srslte::pdu<srslte::sch_subh>::init_ (this=0x7ffff1a5f708, buffer_tx_ptr=0x7ffff1a5f682 "", pdu_len_bytes=117, is_ulsch=true)
    at /home/w2bi/CLionProjects/srsLTE/lib/include/srslte/common/pdu.h:173
173          subheaders[i].parent = this;
(gdb) print i
$1 = 0
(gdb) print subheaders
$2 = std::vector of length 0, capacity 0
(gdb) frame 1
#1  0x00000000004ca1e3 in srslte::pdu<srslte::sch_subh>::init_tx (this=0x7ffff1a5f708, payload=0x7ffff1a5f682 "", pdu_len_bytes=117, is_ulsch=true)
    at /home/w2bi/CLionProjects/srsLTE/lib/include/srslte/common/pdu.h:78
78        init_(payload, pdu_len_bytes, is_ulsch);


thanks,


Liqun

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.srsran.com/pipermail/srsran-users/attachments/20171003/cfb7b70c/attachment.htm>


More information about the srsran-users mailing list