[srslte-users] srsLTE/srsUE with Commercial Cell => Segmentation Fault

David Rupprecht david.rupprecht at rub.de
Tue Nov 29 10:41:18 UTC 2016


Dear all,

I try to connect srsUE with a commercial cell in Germany (100 PRB).
Unfortunately, srsUE breaks while setting up a radio connection with:

Error sending to UHD: 30
Error sending to UHD: 30
Random Access Transmission: seq=1, ra-rnti=2
Error sending to UHD: 30
Error sending to UHD: 30
Error sending to UHD: 30
Random Access Transmission: seq=2, ra-rnti=2
Sync error.
Segmentation fault (core dumped)

Because of the seg fault, srsUE does not provide any log file.
Looking in the core dump, showes it always fails when calling
srsue::phch_common::reset_ul. My guess is that it tries to unlock a
mutex which is not locked (_xend () at
../sysdeps/unix/sysv/linux/x86/elision-unlock.c:33). However, looking
the mutex before does not help any further as it can not lock the mutex.

void phch_common::reset_ul()
{
  for (int i=0;i<nof_mutex;i++) {
    pthread_mutex_lock(&tx_mutex[i]);
  }
  is_first_tx = true;
  is_first_of_burst = true;
  for (int i=0;i<nof_mutex;i++) {
    pthread_mutex_unlock(&tx_mutex[i]);
  }
}


Do you have any suggestions how I can fix the issue of Segfault, Sync
error, and UHD IO error?

Best regards,
David
-- 
M.Sc. David Rupprecht

Ruhr-University Bochum
Research Group Information Security
Universit├Ątsstra├če 150
ID 2/130
44780 Bochum / Germany

Phone: +49 234 / 32 - 23508
Web: www.infsec.rub.de
-------------- next part --------------
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./ue...done.
[New LWP 10568]
[New LWP 10564]
[New LWP 10571]
[New LWP 10570]
[New LWP 10566]
[New LWP 10550]
[New LWP 10547]
[New LWP 10565]
[New LWP 10549]
[New LWP 10548]
[New LWP 10569]
[New LWP 10567]
[New LWP 10563]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./ue ../../../ue.conf'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fcd81987970 in _xend () at ../sysdeps/unix/sysv/linux/x86/elision-unlock.c:33
33  ../sysdeps/unix/sysv/linux/x86/elision-unlock.c: No such file or directory.
[Current thread is 1 (Thread 0x7fcd597fa700 (LWP 10568))]
(gdb) bt
#0  0x00007fcd81987970 in _xend () at ../sysdeps/unix/sysv/linux/x86/elision-unlock.c:33
#1  __lll_unlock_elision (lock=0x2378f78, private=0) at ../sysdeps/unix/sysv/linux/x86/elision-unlock.c:29
#2  0x00007fcd81980582 in __pthread_mutex_unlock_usercnt (decr=1, mutex=<optimized out>) at pthread_mutex_unlock.c:64
#3  __GI___pthread_mutex_unlock (mutex=<optimized out>) at pthread_mutex_unlock.c:314
#4  0x00000000004c3e8f in srsue::phch_common::reset_ul (this=0x7fcd72353358) at /home/david/srsUE/ue/src/phy/phch_common.cc:329
#5  0x00000000004c18b4 in srsue::phch_recv::run_thread (this=0x7fcd72362db0) at /home/david/srsUE/ue/src/phy/phch_recv.cc:443
#6  0x00000000004771a9 in thread::thread_function_entry (_this=<optimized out>) at /home/david/srsUE/ue/hdr/common/threads.h:66
#7  0x00007fcd8197c70a in start_thread (arg=0x7fcd597fa700) at pthread_create.c:333
#8  0x00007fcd7d16f82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
-------------- next part --------------
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.001.000-release

---  Software Radio Systems LTE UE  ---

Reading configuration file ../../../ue.conf...
Using srsLTE version 001.004.000
Opening USRP with args: type=b200
-- Detected Device: B210
-- Operating over USB 3.
-- Initialize CODEC control...
-- Initialize Radio control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Setting master clock rate selection to 'automatic'.
-- Asking for clock rate 16.000000 MHz... 
-- Actually got clock rate 16.000000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Asking for clock rate 32.000000 MHz... 
-- Actually got clock rate 32.000000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
Setting frequency: DL=1815.0 Mhz, UL=1720.0 MHz
Searching for cell...
Using Volk machine: avx2_64_mmx_orc
Found CELL ID: 147 CP: Normal  , CFO: 1.0 KHz.
Trying to decode MIB...
 - Cell ID:         147
 - Nof ports:       1
 - CP:              Normal  
 - PRB:             100
 - PHICH Length:    Normal
 - PHICH Resources: 1
 - SFN:             0
MIB received BW=20 MHz
Initializating cell configuration...
Setting Sampling frequency 23.04 MHz
Setting TX/RX offset 175 samples, 7.60 us
SIB1 received, CellID=2818,  PLMN Id: MCC 262 MNC 1
SIB2 received
Error sending to UHD: 30
Error sending to UHD: 30
Random Access Transmission: seq=1, ra-rnti=2
Error sending to UHD: 30
Error sending to UHD: 30
Error sending to UHD: 30
Random Access Transmission: seq=2, ra-rnti=2
Sync error.
Segmentation fault (core dumped)


More information about the srslte-users mailing list