-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dab-2 crash on RTLSDR selection #181
Comments
Hi John
The error is a simple one and caused by adding code without proper testing
(I do not use a dabstick since the only one I have is mechanically
extremely weak)
The code in line 81 of the rtlsdr handler code reads
if (!theStick -> xmlDumping. load ())
theStick -> xmlWriter -> add ((std::complex<uint8_t>*)buf, len /
2);
and the "!" (the not operator) is killing here, it should be
if (theStick -> xmlDumping. load ())
theStick -> xmlWriter -> add ((std::complex<uint8_t>*)buf, len /
2);
In the erroneous case, the data from the callback is written using a
non-existent writer and file
In 3.6 is is fixed, I upgraded dab-2 such that it is (almost) functional
equivalent to qt-dab-3.6, but documentation
is not complete
Op zo 20 sep. 2020 om 22:13 schreef John Warburton <[email protected]
…:
Thank you for developing this.
The main program works well on this little Chromebook, self-compiled,
using Debian testing and kernel 5.8
I'm using tonight's Github master, commit 87044f9
In dab-2, the program starts but, on selecting RTLSDR, it segfaults. GDB
shows this:
Found Fitipower FC0012 tuner
Supported gain values (5): 19.2 17.9 7.1 -4.0 -9.9
Realtek RTL2838UHIDIR 00000001
channel reset: all services will be stopped
[New Thread 0x7fffab7fe700 (LWP 34572)]
Thread 23 "QThread" received signal SIGSEGV, Segmentation fault.
--Type <RET> for more, q to quit, c to continue without paging--
Switching to Thread 0x7fffab7fe700 (LWP 34909)]
0x00007ffff5f9e5e1 in __GI__IO_fwrite ***@***.***=0x55555563ab60 <buffer_uint8>, ***@***.***=1, ***@***.***=8192, fp=0x0) at iofwrite.c:35
35 iofwrite.c: No such file or directory.
[Switching to Thread 0x7fffab7fe700 (LWP 34572)]
#0 0x00005555555c0f13 in xml_fileWriter::add (this=0x0, ***@***.***=0x7fffa4003680, ***@***.***=4096) at devices-dab-2/xml-filewriter.cpp:99
99 nrElements += 2 * count;
#1 0x00005555555cc47e in RTLSDRCallBack(uint8_t*, uint32_t, void*)
(buf=0x7fffa4003680 "qr\224\206bf\177qm\222jso9tD\231~^v}mkqu\226ep\200\214s^\206h\210|\210\232\232vxf~mdK~m\245j~_u{bbtowqr\211i~t1]\202\253\220£O\201w\236\222o\217e\221\202\222\224\226s\242\213\252w\266t\243N\237d\246y\212pi\201q\255\225\205u\236\206\217\226Q\244v̎\201wtp\210\263\216r\250x\221Z\230T\230\222\224ndOm\200\224\262N\243\063\220_\206}Wy|\177\253\232\212\202}\220\222u\232\217qj\207\220\273y|ul\203rh\214Y\212\210{\211\225\235\204w\212}\224\237\230\205\230o\242\240c\225n]\232iz"..., len=8192, ctx=0x555555a167a0) at devices-dab-2/rtlsdr-handler/rtlsdr-handler.cpp:82
#2 0x00007fffd40217fd in _libusb_callback () at /usr/local/lib/librtlsdr.so
#3 0x00007fffd400a6a2 in () at /lib/x86_64-linux-gnu/libusb-1.0.so.0
#4 0x00007fffd400ef1c in () at /lib/x86_64-linux-gnu/libusb-1.0.so.0
#5 0x00007fffd40107b0 in () at /lib/x86_64-linux-gnu/libusb-1.0.so.0
#6 0x00007fffd400a0e9 in () at /lib/x86_64-linux-gnu/libusb-1.0.so.0
#7 0x00007fffd400b16c in libusb_handle_events_timeout_completed () at /lib/x86_64-linux-gnu/libusb-1.0.so.0
#8 0x00007fffd4021521 in rtlsdr_read_async () at /usr/local/lib/librtlsdr.so
#9 0x00007ffff64e3a01 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff5deeea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007ffff6026eaf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
It seems to segfault when calling the XML filewriter; and doesn't handle a
"no such file or directory" error.
Before I investigate further (e.g. to find what file it may want to write
to) I thought it worth flagging the problem here first.
JW
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#181>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCPHQHNDEXG77AA2EI76LLSGZPAJANCNFSM4RT2M6QQ>
.
--
Jan van Katwijk
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you for developing this.
The main program works well on this little Chromebook, self-compiled, using Debian testing and kernel 5.8
I'm using tonight's Github master, commit
87044f9
In dab-2, the program starts but, on selecting RTLSDR, it segfaults. GDB shows this:
It seems to segfault when calling the XML filewriter; and doesn't handle a "no such file or directory" error.
Before I investigate further (e.g. to find what file it may want to write to) I thought it worth flagging the problem here first.
JW
The text was updated successfully, but these errors were encountered: