myriadrf / LimeSuite

Driver and GUI for LMS7002M-based SDR platforms
https://myriadrf.org/projects/lime-suite/
Apache License 2.0
464 stars 182 forks source link

LimeUtil --update seg faults on Arch with libusb-1.0.25 #358

Closed horga83 closed 2 years ago

horga83 commented 2 years ago

LimeUtil --update seg faults on Arch with libusb-1.0.25

If I downgrade libusb to 1.0.24 it runs fine.

arnobert commented 2 years ago

Hi, I think this is the same error I get using SDRAngel (crashes when Lime connected during calling LMS_close() ). 73

horga83 commented 2 years ago

Yes it also happens with SDR++

On Wed, 2022-04-06 at 08:23 -0700, DL2SSB wrote:

Hi, I think this is the same error I get using SDRAngel (crashes when Lime connected during calling LMS_close() ). 73 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

arnobert commented 2 years ago

And also with LimeSuite...

rjonaitis commented 2 years ago

Crash is during closing connection by freeing never used transfer stuctures, really an issue of Libusb https://github.com/libusb/libusb/issues/1059#issuecomment-1040236517

jessupp commented 2 years ago

I have also experience persistent segmentation fault on Raspberry PI Bullseye 32 and 64 bit latest OS. Older Stretch and Buster OS ok. But this is concurring with Libusb1.0.24-3 and not version 1.0.25. Below is what I get:

libusb-1.0-0-dev is already the newest version (2:1.0.24-3).

pi@raspberrypi:~/Desktop/ODR $ sudo odr-dabmod mod.ini ODR-DabMod version v2.5.0, compiled at Apr 7 2022, 12:38:24 Compiled with features: zeromq output_uhd output_soapysdr Input Type: file Source: test1.eti Output SoapySDR Device: LimeSDR-Mini master_clock_rate: 32768000 Sampling rate: 2.0480 MHz Configuration parsed. Starting up version v2.5.0 Soapy:Creating the device with: LimeSDR-Mini [INFO] [UHD] linux; GNU C++ version 10.2.0; Boost_107100; UHD_3.15.0.0-4 Segmentation fault

jessupp commented 2 years ago

Further to to above seg fault on raspberry pi, it it may not be libusb in my case:

Thread 1 "odr-dabmod" received signal SIGSEGV, Segmentation fault. 0x00074a98 in Output::Soapy::Soapy (this=0x10a01c, config=...) at src/output/Soapy.cpp:79 79 m_device->getMasterClockRate()/1000.0 << " kHz";

rjonaitis commented 2 years ago

Made a workaround for the 1.0.25 bug.

I have also experience persistent segmentation fault on Raspberry PI Bullseye 32 and 64 bit latest OS. Older Stretch and Buster OS ok. But this is concurring with Libusb1.0.24-3 and not version 1.0.25.

Not sure what's happening there, as Libusb does not have official release of 1.0.24-3 https://github.com/libusb/libusb/tags , plus the 1.0.24 release did not have that bug.

jessupp commented 2 years ago

Made a workaround for the 1.0.25 bug.

I have also experience persistent segmentation fault on Raspberry PI Bullseye 32 and 64 bit latest OS. Older Stretch and Buster OS ok. But this is concurring with Libusb1.0.24-3 and not version 1.0.25.

Not sure what's happening there, as Libusb does not have official release of 1.0.24-3 https://github.com/libusb/libusb/tags , plus the 1.0.24 release did not have that bug.

Thank you, you raise an interesting point with libusb releases - 1.0.24-3 is from Raspberry PI Bullseye repository. There is a list at https://packages.qa.debian.org/libu/libusb-1.0.html - but neither do I understand these release numbers.

However on a more positive note I pulled the latest changes of SoapySDR and Limesuite from Github (as I was using old 2019 versions). Compiled these latest and all now works! No seg fault any more. So for me looking like a Soapy/Limesuite old software not working on later Debian OS. No problem with Libusb1.0.24-3 from Raspberry PI repository.