Skip to content

Segmentation fault on startup in boost::asio::detail::epoll_reactor::shutdown() with UHD 4.9.0 and Boost 1.90 #1449

Description

@fact0real

Environment:

  • OS: Debian Testing (ThinkPad)
    
  • Compiler: GCC 15.2.0
    
  • Libraries: UHD 4.9.0, Boost 1.90, GNU Radio 3.10.12
    
  • Hardware: RTL-SDR
    

Describe the bug:

Gqrx crashes immediately on startup with a Segmentation Fault during the device discovery phase, specifically when the gr-osmosdr layer attempts to initialize or scan for UHD devices.

Steps to reproduce:

  • Launch Gqrx on a system with Boost 1.90 and UHD 4.9.0 installed.
    
  • The crash occurs during the initialization of the device source tree.
    

GDB Backtrace:

Thread 43 "gqrx" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff6affd6c0 (LWP 1057257)]
0x00007ffff7a33436 in boost::asio::detail::epoll_reactor::shutdown() () from /usr/lib/x86_64-linux-gnu/libgnuradio-network.so.3.10.12

#0  0x00007ffff7a33436 in boost::asio::detail::epoll_reactor::shutdown() () at /usr/lib/x86_64-linux-gnu/libgnuradio-network.so.3.10.12
#1  0x00007ffff4a9cbd1 in ??? () at /usr/lib/x86_64-linux-gnu/libuhd.so.4.9.0
#2  0x00007ffff41bd897 in ??? () at /usr/lib/x86_64-linux-gnu/libuhd.so.4.9.0
#3  0x00007ffff4925472 in ??? () at /usr/lib/x86_64-linux-gnu/libuhd.so.4.9.0
#4  0x00007ffff49112c5 in ??? () at /usr/lib/x86_64-linux-gnu/libuhd.so.4.9.0
#5  0x00007ffff49116b3 in ??? () at /usr/lib/x86_64-linux-gnu/libuhd.so.4.9.0
#6  0x00007ffff47aa9d2 in ??? () at /usr/lib/x86_64-linux-gnu/libuhd.so.4.9.0
#7  0x00007ffff4adf9a5 in ??? () at /usr/lib/x86_64-linux-gnu/libuhd.so.4.9.0
#8  0x00007ffff41c88cd in ??? () at /usr/lib/x86_64-linux-gnu/libuhd.so.4.9.0
#9  0x00007ffff52a4726 in ??? () at /usr/lib/x86_64-linux-gnu/libc.so.6
#10 0x00007ffff52a4799 in pthread_once () at /usr/lib/x86_64-linux-gnu/libc.so.6

Additional Context:

The crash seems related to ABI changes or event loop handling in Boost 1.90's Asio implementation when interfaced with libuhd. Even when attempting to disable UHD via environment variables (e.g., OSMOSDR_UHD_DISABLED=1), the crash still occurs if gr-osmosdr was linked against UHD during build, as it seems to perform early initialization.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions