[srslte-users] enb crash during enqueue tti_clock

J Giovatto jgiovatto at adjacentlink.com
Thu Sep 23 22:40:03 UTC 2021


Hi folks,

Looking at srsenb/src/stack/enb_stack_lte.cc and the stack trace below,
it appears that there may be a race that could cause *sync_task_queue
*to be un-initialized (parent == nullptr and q_idx == -1)

Ive searched for other instances of calls and some are protected with an
if(running) check.

void ue_stack_lte::run_tti(uint32_t tti, uint32_t tti_jump)
{
  if (running) {
    sync_task_queue.push([this, tti, tti_jump]() { run_tti_impl(tti,
tti_jump); });
  }
}

the NR versions seem to create this in the ctor.


#5  0x00007f61b1e1b926 in __gnu_cxx::__verbose_terminate_handler () at
../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#6  0x00007f61b1e2708c in __cxxabiv1::__terminate (handler=<optimized
out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48
#7  0x00007f61b1e270f7 in std::terminate () at
../../../../libstdc++-v3/libsupc++/eh_terminate.cc:58
#8  0x00007f61b1e273a9 in __cxxabiv1::__cxa_throw (obj=<optimized out>,
tinfo=0x7f61b1f58550 <typeinfo for std::system_error>,
dest=0x7f61b1e531a0 <std::system_error::~system_error()>) at
../../../../libstdc++-v3/libsupc++/eh_throw.cc:95
#9  0x00007f61b1e1e7ae in std::__throw_system_error (__i=1) at
../../../../../libstdc++-v3/src/c++11/system_error.cc:338
#10 0x0000000000d1a114 in std::unique_lock<std::mutex>::lock
(this=0x7f61a4ff86c0) at /usr/include/c++/10/bits/unique_lock.h:133
#11 0x0000000000d17bfb in std::unique_lock<std::mutex>::unique_lock
(this=0x7f61a4ff86c0, __m=...) at /usr/include/c++/10/bits/unique_lock.h:68
#12 0x0000000000da9c79 in
srsran::multiqueue_handler<srsran::move_callback<void(), 64, false>
>::push<srsenb::enb_stack_lte::tti_clock()::<lambda()> >(int, struct
{...} &&) (*this=0x0, q_idx=-1, value=...*)
    at
/home/jgiovatto/Devel/LTE/srs/srsRAN-emane/lib/include/srsran/common/multiqueue.h:177
#13 0x0000000000da9bae in
srsran::multiqueue_handler<srsran::move_callback<void(), 64, false>
>::queue_handle::push<srsenb::enb_stack_lte::tti_clock()::<lambda()>
>(struct {...} &&) (this=0xdebffd8, value=...)
    at
/home/jgiovatto/Devel/LTE/srs/srsRAN-emane/lib/include/srsran/common/multiqueue.h:101
#14 0x0000000000da95b8 in srsenb::enb_stack_lte::tti_clock
(this=0xdead460) at
/home/jgiovatto/Devel/LTE/srs/srsRAN-emane/srsenb/src/stack/enb_stack_lte.cc:163
#15 0x0000000000d72ae5 in srsenb::txrx::run_thread (this=0x110e0cc8) at
/home/jgiovatto/Devel/LTE/srs/srsRAN-emane/srsenb/src/phy/txrx.cc:222
#16 0x0000000000d12264 in srsran::thread::thread_function_entry
(_this=0x110e0cc8) at
/home/jgiovatto/Devel/LTE/srs/srsRAN-emane/lib/include/srsran/common/threads.h:111
#17 0x00007f61b2a1d3f9 in start_thread (arg=0x7f61a4ff9640) at
pthread_create.c:463
#18 0x00007f61b1b524c3 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Best

Joe

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.srsran.com/pipermail/srsran-users/attachments/20210923/61806c55/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.srsran.com/pipermail/srsran-users/attachments/20210923/61806c55/attachment.sig>


More information about the srsran-users mailing list