[srslte-users] enb crash during enqueue tti_clock
Andre Puschmann
andre at srs.io
Fri Sep 24 09:09:41 UTC 2021
Hi Joe,
you're right, this should be protected. Thanks for letting us know, will
be fixed in upcoming release.
Best
Andre
On 24/9/21 0:40, J Giovatto wrote:
> 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
>
>
> _______________________________________________
> srslte-users mailing list
> srslte-users at lists.softwareradiosystems.com
> https://lists.softwareradiosystems.com/mailman/listinfo/srslte-users
>
More information about the srsran-users
mailing list