Menu

Crash report deam-ollie branch with gdb dump

2022-09-04
2022-09-06
  • Boudewijn Tenty

    Boudewijn Tenty - 2022-09-04

    Sorry about the font in some places but that is the result of copy and paste

    1) Dream-ollie branch (latest rev 1388 ) crashes when Soapy Device with PlutoSDR as signal input is used.
    (Pluto SDR is accessed via the SoapySDRServer running at the local computer)
    OS is Ubuntu 22.04

    gdb debugger dump follows..

    Thread 15 "CRx" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f8283fff640 (LWP 134115)]
    0x0000000000000000 in ?? ()
    (gdb) back full

    0 0x0000000000000000 in ()

    1 0x000056499e3ee8a9 in CUpstreamDI::ProcessDataInternal(CParameter&) (this=0x56499f885200) at src/MDI/MDIRSCI.cpp:649

        vecbydata = std::vector of length 0, capacity 0
        bytes = <optimized out>
    

    2 0x000056499e3a24a3 in CModul<unsigned char,="" unsigned="" char="">::ProcessDataThreadSave(CParameter&)</unsigned>

    (Parameter=..., this=0x56499f885200) at src/util/Modul.h:261
    

    3 CReceiverModul<unsigned char,="" unsigned="" char="">::ReadData(CParameter&, CBuffer<unsigned char="">&)</unsigned></unsigned>

    (this=0x56499f885200, Parameter=..., OutputBuffer=...) at src/util/Modul.h:1064
    

    4 0x000056499e43c3ca in CDRMReceiver::process() (this=0x7fff94804840) at src/DrmReceiver.cpp:857

        bFrameToSend = false
        bEnoughData = true
        iFreqkHz = <optimized out>
    

    5 CRx::run() (this=0x7fff948044f0) at src/main-Qt/crx.cpp:51

        iFreqkHz = <optimized out>
    

    6 0x00007f82d5efdca1 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

    7 0x00007f82d596ab43 in start_thread (arg=<optimized out="">) at ./nptl/pthread_create.c:442</optimized>

        ret = <optimized out>
        pd = <optimized out>
    
                      unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735684820208, -912182227093057476, 140198537066048, 11, 140199905896528, 140735684820560, 887843438466273340, 888031792097103932}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
    

    8 0x00007f82d59fca00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

    (gdb)

    2) Dream-ollie branch (latest rev 1388) crashes when Soapy Device with RTL SDR stick as signal input is used.
    (Soapy SDR Server is not used!) OS: Ubuntu 22.04

    gdb debugger dump follows

    Thread 15 "CRx" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f7f0effd640 (LWP 142561)]
    CUpstreamDI::ProcessDataInternal (this=0x55bca515c130) at src/MDI/MDIRSCI.cpp:649
    649 source->poll();
    (gdb) back full

    0 CUpstreamDI::ProcessDataInternal(CParameter&) (this=0x55bca515c130) at src/MDI/MDIRSCI.cpp:649

        vecbydata = std::vector of length 0, capacity 0
        bytes = <optimized out>
    

    1 0x000055bca3e404a3 in CModul<unsigned char,="" unsigned="" char="">::ProcessDataThreadSave(CParameter&)</unsigned>

    (Parameter=..., this=0x55bca515c130) at src/util/Modul.h:261
    

    2 CReceiverModul<unsigned char,="" unsigned="" char="">::ReadData(CParameter&, CBuffer<unsigned char="">&)</unsigned></unsigned>

    (this=0x55bca515c130, Parameter=..., OutputBuffer=...) at src/util/Modul.h:1064
    

    3 0x000055bca3eda3ca in CDRMReceiver::process() (this=0x7ffdd97811b0) at src/DrmReceiver.cpp:857

        bFrameToSend = false
        bEnoughData = true
        iFreqkHz = <optimized out>
    

    4 CRx::run() (this=0x7ffdd9780e60) at src/main-Qt/crx.cpp:51

        iFreqkHz = <optimized out>
    

    5 0x00007f7f5ca90ca1 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

    6 0x00007f7f5c4fdb43 in start_thread (arg=<optimized out="">) at ./nptl/pthread_create.c:442</optimized>

        ret = <optimized out>
        pd = <optimized out>
    
                      unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140728251975264, 1932014268786827760, 140183689221696, 11, 140184986310736, 140728251975616, -2003546295959658000, -2003719056183238160}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
    

    7 0x00007f7f5c58fa00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

    (gdb)

     
  • Oliver Haffenden

    Hi and many thanks both for trying out my branch and for the bug report. Don't worry about the font - actually it makes it much easier to read!

    In both cases, I'm a bit puzzled because the crash is happening when the receiver tries to process data from the RSCI or MDI input (line 857 of DrmReceiver.cpp). Given that you're trying to use an SDR front-end, it shouldn't be getting to that line at all. Please could you share the command-line that you're using to invoke Dream?

    Assuming you're not accidentally running it with MDI/RSCI input, this might indicate corruption somewhere. The latest commit isn't the most reliable, as I tried to make it more flexible including switching between different front-ends and being able to choose between a Soapy device and a soundcard: this sort-of worked but it made it crash more often. It might be worth trying commits around 1380-1382 to see if it makes any difference.

    It would also be interesting to know what sampling rates are supported by the SDR devices you're trying. Dream fundamentally runs at 48kHz, but can deal with 24kHz or 96kHz input by up- or down-sampling. The 96kHz rate was added in my branch to make it work with the SDRPlay RSP1A, which can do 96kHz but not 48kHz.

    Cheers,

    Ollie.

     
    • Boudewijn Tenty

      Boudewijn Tenty - 2022-09-06

      HI Ollie,

      No, I didn't run it with MDI/RSCI input.  I just invoked dream with ./dream from within the compiled source directory of dream without any parameters.
      The minimum sample rate of the PlutoSDR is 530.83 KSPS and the maximum is in practice limited by the USB2 interface. That is why I use the Soapy server
      to push the limits as the server can convert formats if I need too, say max 6 MSPS. Max. of the RTL stick that doesn't drop  samples is +/-  2.56 MSPS.
      I will try a commit between 1380-1382 if I can find some time.

      Boudewijn

      On 2022-09-06 16:02, Oliver Haffenden wrote:

      Hi and many thanks both for trying out my branch and for the bug report. Don't worry about the font - actually it makes it much easier to read!

      In both cases, I'm a bit puzzled because the crash is happening when the receiver tries to process data from the RSCI or MDI input (line 857 of DrmReceiver.cpp). Given that you're trying to use an SDR front-end, it shouldn't be getting to that line at all. Please could you share the command-line that you're using to invoke Dream?

      Assuming you're not accidentally running it with MDI/RSCI input, this might indicate corruption somewhere. The latest commit isn't the most reliable, as I tried to make it more flexible including switching between different front-ends and being able to choose between a Soapy device and a soundcard: this sort-of worked but it made it crash more often. It might be worth trying commits around 1380-1382 to see if it makes any difference.

      It would also be interesting to know what sampling rates are supported by the SDR devices you're trying. Dream fundamentally runs at 48kHz, but can deal with 24kHz or 96kHz input by up- or down-sampling. The 96kHz rate was added in my branch to make it work with the SDRPlay RSP1A, which can do 96kHz but not 48kHz.

      Cheers,

      Ollie.


      Crash report deam-ollie branch with gdb dump https://sourceforge.net/p/drm/discussion/compiling/thread/3bbff6df1f/?limit=25#a3dd


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/drm/discussion/compiling/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

      --
      There is nothing permanent except change

      -Heraclitus

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.