cropinghigh / sdrpp-tetra-demodulator

Tetra demodulator plugin for SDR++ (output can be fed to tetra-rx from osmo-tetra)
GNU General Public License v3.0
53 stars 12 forks source link

sdrpp crashes after enableing the plugin #20

Open dg7abl opened 2 months ago

dg7abl commented 2 months ago

After the update the last sdrpp in Ubuntu (22.04. yesterday) the tetra decoder crashes with following error Message:

[23/04/2024 08:25:41.000] [INFO] RTL-SDR Sample Rate: 2400000.000000 Disabled direct sampling mode [23/04/2024 08:25:41.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Start! [23/04/2024 08:25:41.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 100000000.000000! [23/04/2024 08:25:43.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 200935000.000000! [23/04/2024 08:25:43.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 300935000.000000! [23/04/2024 08:25:43.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 400935000.000000! [23/04/2024 08:25:44.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 410935000.000000! [23/04/2024 08:25:45.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 420935000.000000! [23/04/2024 08:25:45.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 430935000.000000! [23/04/2024 08:25:46.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 433935000.000000! [23/04/2024 08:25:46.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 436935000.000000! [23/04/2024 08:25:48.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 439135000.000000! [23/04/2024 08:25:53.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 427365000.000000! [23/04/2024 08:25:54.000] [INFO] RTLSDRSourceModule 'RTL-SDR Source': Tune: 439235000.000000! [Resamp] predec: 32, interp: 2, decim: 3, inacc: 0.000000%, taps: 228 [Resamp] predec: 1, interp: 441, decim: 500, inacc: 0.000000%, taps: 38000 [Resamp] predec: 1, interp: 441, decim: 500, inacc: 0.000000%, taps: 38000 [23/04/2024 08:26:13.000] [WARN] Demod switch took 21732 us [Resamp] predec: 64, interp: 24, decim: 25, inacc: 0.000000%, taps: 1900 [Resamp] predec: 8192, interp: 6, decim: 1, inacc: 0.000000%, taps: 456 [Resamp] predec: 8192, interp: 6, decim: 1, inacc: 0.000000%, taps: 456 terminate called without an active exception Aborted (core dumped)

the crash comes after enabling the plugin and after start sdrpp with active sdrpp-tetra-demodulator in the plugin conf.

I hope we can solve this issue, i need the plugin :)

thanks in advance

73 de Jens

cringeops commented 2 months ago

I've just encountered this issue as well after installing the latest sdrpp version. I have a gdb backtrace for the crash. Possibly the ABI has changed.

Thread 1 "sdrpp" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44  ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x00007ffff76a9e8f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  0x00007ffff765afb2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff7645472 in __GI_abort () at ./stdlib/abort.c:79
#4  0x00007ffff6a9d919 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff6aa8e1a in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff6aa8e85 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007ffff79af812 in dsp::block::~block() () from /lib/libsdrpp_core.so
#8  0x00007fffb004dd99 in dsp::multirate::RationalResampler<float>::~RationalResampler() () from /usr/lib/sdrpp/plugins/tetra_demodulator.so
#9  0x00007ffff79aece5 in dsp::block::start() () from /lib/libsdrpp_core.so
#10 0x00007ffff79c37fe in SinkManager::Stream::setSampleRate(float) () from /lib/libsdrpp_core.so
#11 0x00007ffff79c98ee in SinkManager::NullSink::create(SinkManager::Stream*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*) () from /lib/libsdrpp_core.so
#12 0x00007ffff79c6227 in SinkManager::registerStream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, SinkManager::Stream*) () from /lib/libsdrpp_core.so
#13 0x00007fffb005926f in TetraDemodulatorModule::TetraDemodulatorModule(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) () from /usr/lib/sdrpp/plugins/tetra_demodulator.so
#14 0x00007fffb0048e94 in _CREATE_INSTANCE_ () from /usr/lib/sdrpp/plugins/tetra_demodulator.so
#15 0x00007ffff79a73ba in ModuleManager::createInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) () from /lib/libsdrpp_core.so
#16 0x00007ffff78c0019 in MainWindow::init() () from /lib/libsdrpp_core.so
#17 0x00007ffff78927eb in sdrpp_main(int, char**) () from /lib/libsdrpp_core.so
#18 0x00007ffff764624a in __libc_start_call_main (main=main@entry=0x555555555050 <main>, argc=argc@entry=1, argv=argv@entry=0x7fffffffdf28)
    at ../sysdeps/nptl/libc_start_call_main.h:58
#19 0x00007ffff7646305 in __libc_start_main_impl (main=0x555555555050 <main>, argc=1, argv=0x7fffffffdf28, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdf18) at ../csu/libc-start.c:360
#20 0x0000555555555081 in _start ()

Edit: I found the commit. There has been an ABI change, indeed. The module needs to be recompiled against new core library.

Edit 2: It's not possible to recompile the plugin due to changes in CMake build system, which cause linker errors...