Closed Valstee closed 2 years ago
Hi Valentin,
Does SDRangel crash if you manually switch between the presets while acquisition is running? (i.e. just double click on the preset names back and forth in the main SDRangel GUI)
If not, could you please upload some screenshots showing which plugins you have in each preset?
Also, to help narrow down the source of the crash, could you run SDRangel via gdb?
sudo apt-get install gdb
gdb /opt/install/sdrangel/bin/sdrangel
run
Then after it crashes, type:
info stack
And then copy and paste the output here. Thanks.
Hi Srcejon, It crashes when I manually change the preset, this happens 1 time out of 2. The open channels are only filesink and a WFM demodulator.
Here's the output :
Thread 38 "QThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff7b7fe640 (LWP 69196)]
0x00007ffff68d35f4 in QImage::height() const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
In fact, this error prevents me from using satellite tracker because when there is a change of satellite and therefore a change of preset, sdrangel crashes...
Thanks. Possibly similar to #806
Yes, that's exactly what it looks like! Sorry, didn't see this issue... Thanks !
No problem, this looks like an additional problem - and I can reproduce it - looks to be from the FileSink, from the full trace:
(gdb) info stack
at /opt/build/srcejon/sdrangel/sdrgui/gui/glspectrum.cpp:447
(this=0x555556c5d900, spectrum=0x555556c43b60, nbBins=1024, fftSize=1024) at /opt/build/srcejon/sdrangel/sdrgui/gui/glspectrum.cpp:441
{m_real = -54528, m_imag = 206592}, end={m_real = -246208, m_imag = -184000}, positiveOnly=false) at /opt/build/srcejon/sdrangel/sdrbase/dsp/spectrumvis.cpp:410
{m_real = -54528, m_imag = 206592}, end={m_real = -246208, m_imag = -184000}) at /opt/build/srcejon/sdrangel/plugins/channelrx/filesink/filesinksink.cpp:191
{m_real = -54528, m_imag = 206592}, end={m_real = -246208, m_imag = -184000}) at /opt/build/srcejon/sdrangel/sdrbase/dsp/downchannelizer.cpp:55
at /opt/build/srcejon/sdrangel/plugins/channelrx/filesink/filesinkbaseband.cpp:108
Thanks for these precisions. I confirm that if I remove Filesink from my presets, there is no crash.
PS: In the satellite tracker feature, is it necessary to have filesink open for an automatic record of a satellite pass ?
If you want to record the IQ data from a pass to a file, then yes, you need the filesink.
I suppose that your setup is to record satellite passes in unattended mode. Then the server variant (no GUI) could be used (also on Raspberry Pi) and since there is no GUI there is no GLSpectrum either so that probably works around the issue. I would like to put up a similar setup with a RaspPi sometime... Maybe a few things would need to be ironed out but in principle this should work.
Anyway this does not solve the issue. It looks like a race condition but as far as I could see in the code it seems mutexes are used everywhere.
Thanks for your answers ! I just bought a raspberry pi4 last week and SDR angel is already running on it. I'm going to test the server version. I'll keep you informed.
I am trying to load a preset with a FileSink while the device is running but I cannot reproduce the issue. Is there anything more special?
I don't think so. Have tried using a RTL SDR and USRP. Had two presets with just a file sink and nothing else. Press run then switch between the two a few times. Happens on both windows and linux.
In my case, the frequency of each preset is different (preset 1 = VHF, preset 2 = UHF) This happens with linux and windows with my RTL SDR and my LimeSDR.
I'm still seeing this issue when using Satellite Tracker.
If Satellite Tracker invokes a change of preset (or change of frequency with the same preset), then SDRangel crashes.
Let me know if any additional details would be helpful.
Do you have the File Sink in your preset? If not, which channels do you have?
No File Sink.
I'm usually running APT Demodulator, NFM Demodulator, and Packet Demodulator - but I haven't experimented with removing any of them. Could try that?
Yes please - it may help narrow down in which channel is the problem.
Also, does it crash only when Sat Tracker changes the preset - or if you manually switch between two presets by double clicking in the presets tab?
(I've just tried the latter 50+ times without an issue for various combinations of those channels - although it seems I no longer can reproduce the problem with the File Sink either).
It now seems stable if I only have APT Demodulator open. I think the crash is associated with changing frequency whilst the receiver is running - but I'll continue to test and see if I can come up with anything reproducable.
It currently seems stable when double-clicking between presets.
Further testing...
I have 5 satellites configured (NO-84, NOAA 15, 18, 19, ISS) as presets, each with only one Channel: APT Demodulator (or Packet Demodulator for ISS).
Satellite Tracker has each satellite mapped to a preset, with Doppler correction, AOS and LOS checked; start/stop filesink unchecked.
Starting with the receiver not running the first satellite pass works fine. AOS is announced, image is received correctly, LOS is announced and receiver returns to idle.
Following LOS, it is now "primed" for a crash, which might (but not always) be triggered by either of:
If a second satellite overlaps the first, then it transitions to the second satellite, selects the second preset, and announces AOS. But it then crashes at LOS of the second satellite.
I've tried to recreate this on Windows using a debug build with an RTL SDR. While I'm not sure I have recreated it, I've seen a couple of exceptions within libusb that is called by the rtlsdr driver:
SDRangel on Windows is currently released with libusb 1.0.23.11397.
Trying with the latest, which is 1.0.24.11584 still results in exceptions:
@V96GLF - I've tried to reproduce this using some dummy satellite data that has satellite passes every minute, but can't seem to get it to crash.
Do you still have the Ubuntu VM set up? We can try to see what's going on there. You can try:
sudo apt-get install gdb
gdb /opt/install/sdrangel/bin/sdrangel
run
Then after it crashes, type:
info stack
And post the output, so we can see where it's actually crashing.
Yes, I’m still running as a Ubuntu VM.
You know that thing when you make a doctor’s appointment, and the symptoms magically vanish? That. ;-)
I can’t currently get it to crash whilst I’m watching due to Sat Tracker. I do however get the occasional crash when accessing menus (e.g. clicking Window/Features menu).
I’ll continue testing Sat Tracker for a few more days…
-- Russell Whitworth
On 15 Nov 2021, at 16:30, srcejon @.***> wrote:
@V96GLFhttps://github.com/V96GLF - I've tried to reproduce this using some dummy satellite data that has satellite passes every minute, but can't seem to get it to crash.
Do you still have the Ubuntu VM set up? We can try to see what's going on there. You can try:
sudo apt-get install gdb gdb /opt/install/sdrangel/bin/sdrangel run
Then after it crashes, type:
info stack
And post the output, so we can see where it's actually crashing.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/f4exb/sdrangel/issues/845#issuecomment-969085878, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATE3IAJDPZA3XVEOKYL5TQLUMEYSHANCNFSM425RTHKQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Heisenbugs, as they're known :)
RE window/features menu crash - running with gdb as above should help track that down. A screenshot beforehand would also be useful. Thanks!
I did mention that I'm running on a different (and "clean") PC, didn't I? Well I think at least some of my problems have been hardware-related: a) The Nooelec dongle was a little loose in the USB socket, especially with coax hanging off the back of it. I suspect it might have been disconnecting occasionally. b) My Logitech wireless mouse was behaving erratically. I don't think the USB dongle was happy on the rear of the PC. Perhaps some random mouse clicks as a result? Both now resolved by adding a USB hub.
Overall much more stable now, including Sat Tracker :-)
However, I do still get occasional crashes when double-clicking a preset whilst acquisition is running (as in the original title of the thread). Here's an example.
Running my "S20-S24" preset, and then double-click the Sat Tracker preset.
` Thread 1 "sdrangel" received signal SIGSEGV, Segmentation fault. 0x00007fff9e40e636 in QSGNode::removeAllChildNodes() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
(gdb) info stack
at /lib/x86_64-linux-gnu/libQt5Location.so.5
(h=<optimised out>, w=<optimised out>, this=0x555559845630, this=<optimised out>, w=<optimised out>, h=<optimised out>)
at /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:854
at /opt/build/sdrangel/sdrgui/gui/rollupwidget.cpp:427
--Type
(gdb) Quit `
Thanks. One question, the stack trace includes QDeclarativeGeoMap which is related to the Maps (Either in Map Feature or ADS-B). However, I can't see either of those in your screenshot.
If you select Window > Features, is the Map there?
Yes, it is. No particular reason for having it open, but it is there.
Well, that particular crash is due to something to do with the Map - so if you don't need it, perhaps worth closing it to prevent it causing any problems for you.
I've tried to recreate it, but no luck so far. However, I'm on Ubuntu 20.10 with Qt 5.14.2 - I will install 21.10 with Qt 15.2 to see if that makes any difference (The crash appears to be in Qt code).
If you get any further crashes, keep posting the stack traces, as there may be other problems.
Okay, so there is something odd about presets and features... or I'm not driving it correctly.
I go to my S20-24 preset, and close the Map and Sat Tracker features (both were open). I press the "Update selected preset", and "Save the current settings" buttons.
Now I go to the Sat Tracker preset... and the necessary Features (Sat Tracker and Map) are no longer there. So I add them back in (and I have to configure Sat Tracker again), "Update" and "Save".
Now I return to the S20-24 preset, and the Map and Sat Tracker features have reappeared.
So in summary, there is something confusing me (or it is broken) regarding the state and interaction of Features and Presets.
Feature presets are currently separate from channel presets. In the top of the Features window, next to the add feature button, is a star for saving/loading Feature presets. I'll add an enhancement request for this.
Added #1050
Aha! I've never pressed that star ;-)
Deleted my Sat Tracker Channel preset; created a Feature preset, and resuming testing...
Not crashing for me with Ubuntu 21.10 / Qt 5.15.2.
Aside from the Sat Tracker and Map, did you have any other Features? What was in your Sat Tracker preset?
Well, because I didn't understand the difference between Channel and Feature Presets, it probably doesn't contain anything at all!
I kept a copy...
sat.zip ..
That's just what I needed, thanks.
It seems it can crash if the Map feature is in a window that is undocked. It will crash reproducibly, for me, just by undocking and then docking the Features window containing the Map. The crash only happens for Qt 5.15.2, not for Qt 5.14.2. It doesn't crash on Windows, but it doesn't work properly either once undocked.
It can also crash when undocking the ADS-B window (which contains a Map).
Looks a bit like this bug: https://bugreports.qt.io/browse/QTBUG-85260 which marked as fixed in Qt 5.15.3
This issue is going to be closed due to inactivity
Hi @f4exb , I use SDRangel 6.9.0, QT 5.14.2 on Ubuntu 20.10 It's all in the title... Valentin