Bluetooth download - segfault when Choose Bluetooth download mode isn't selected
Rick Walsh
rickmwalsh at gmail.com
Sun Sep 6 04:38:56 PDT 2015
On 6 September 2015 at 21:20, Rick Walsh <rickmwalsh at gmail.com> wrote:
> Hi,
>
> I get a segfault (on Fedora 22), if I hit 'Download' without first
> selecting 'Choose Bluetooth download mode'. The Vendor (Shearwater), Dive
> computer (Petrel) and Device or mount point (the Petrel's MAC address), are
> automatically entered from the last time I downloaded dives. The dive
> computer was in upload mode, but I suspect that's irrelevant. I ran under
> gdb and got the backtrace.
>
> (gdb) run
> Starting program: /home/rick/src/subsurface/build/subsurface
> Missing separate debuginfos, use: dnf debuginfo-install
> glibc-2.21-5.fc22.x86_64 glibc-2.21-7.fc22.x86_64
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> Map theme file does not exist: ""
> QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No
> such file or directory
> [New Thread 0x7fff79ffb700 (LWP 2590)]
> [0.000099] ERROR: No such file or directory (2) [in serial_posix.c:159
> (serial_open)]
> [0.000178] ERROR: Failed to open the serial port. [in custom_serial.c:69
> (dc_serial_native_open)]
> [New Thread 0x7fff62354700 (LWP 2610)]
> [New Thread 0x7fff78ff9700 (LWP 2600)]
> [New Thread 0x7fff7a7fc700 (LWP 2599)]
> [New Thread 0x7fff797fa700 (LWP 2589)]
> [New Thread 0x7fff7affd700 (LWP 2583)]
> [New Thread 0x7fff7b7fe700 (LWP 2582)]
> [New Thread 0x7fff7bfff700 (LWP 2581)]
> [New Thread 0x7fff80ccc700 (LWP 2580)]
> [New Thread 0x7fffc19e0700 (LWP 2579)]
> [New Thread 0x7fffc8cbd700 (LWP 2578)]
> [New Thread 0x7fffd7a67700 (LWP 2577)]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fff62354700 (LWP 2610)]
> 0x00000000007286b3 in shearwater_common_open (device=device at entry=0x7fff4c005320,
> context=context at entry=0x7fff4c003190, name=name at entry=0x248e720
> "00:13:43:0E:6B:D0")
> at shearwater_common.c:52
> 52 rc = serial_configure (device->serial->port, 115200, 8,
> SERIAL_PARITY_NONE, 1, SERIAL_FLOWCONTROL_NONE);
> Missing separate debuginfos, use: dnf debuginfo-install
> bzip2-libs-1.0.6-14.fc22.x86_64 cyrus-sasl-lib-2.1.26-22.fc22.x86_64
> cyrus-sasl-lib-2.1.26-23.fc22.x86_64 ...(lots more libraries listed - I
> haven't installed the debug packages)
> (gdb) bt 30
> #0 0x00000000007286b3 in shearwater_common_open (device=device at entry=0x7fff4c005320,
> context=context at entry=0x7fff4c003190,
> name=name at entry=0x248e720 "00:13:43:0E:6B:D0") at
> shearwater_common.c:52
> #1 0x000000000071ebe3 in shearwater_petrel_device_open (out=out at entry=0x7fff62353cd8,
> context=context at entry=0x7fff4c003190,
> name=name at entry=0x248e720 "00:13:43:0E:6B:D0") at
> shearwater_petrel.c:102
> #2 0x00000000006fa8d3 in dc_device_open (out=0x7fffffffd328,
> context=0x7fff4c003190, descriptor=0x7deb98 <g_descriptors+3768>,
> name=0x248e720 "00:13:43:0E:6B:D0")
> at device.c:158
> #3 0x00000000006aae50 in do_libdivecomputer_import (data=0x7fffffffd2f0)
> at /home/rick/src/subsurface/libdivecomputer.c:955
> #4 0x00000000005ee1f8 in DownloadThread::run (this=0xf76dd0) at
> /home/rick/src/subsurface/qt-ui/downloadfromdivecomputer.cpp:617
> #5 0x00007ffff03ee54e in QThreadPrivate::start(void*) () from
> /lib64/libQt5Core.so.5
> #6 0x00007ffff57b9555 in start_thread () from /lib64/libpthread.so.0
> #7 0x00007fffefaf5b9d in clone () from /lib64/libc.so.6
>
>
>
> If I select 'Choose Bluetooth download mode', run a Bluetooth scan, and
> select my dive computer, everything works as it should.
>
> If it is necessary to use the Bluetooth selection dialogue before
> downloading, rather than remembering from last time, we should alert the
> user instead of segfaulting.
>
> I just got home from a weekend of collecting data in deep holes on sheep
> and dairy farms (the fun part of "testing Subsurface"). I'll try the
> Windows beta next, and see if I can crash it in the same way.
>
I just tested the Windows binary (4.5 Beta 1) on Windows 8.1, and got a
similar crash. When using the Bluetooth selection dialogue it works
correctly again. The Windows crash info reads:
Problem signature:
Problem Event Name: APPCRASH
Application Name: subsurface.exe
Application Version: 0.0.0.0
Application Timestamp: 55e85bd8
Fault Module Name: subsurface.exe
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 55e85bd8
Exception Code: c0000005
Exception Offset: 001da9e9
OS Version: 6.3.9600.2.0.0.768.101
Locale ID: 3081
Additional Information 1: 5861
Additional Information 2: 5861822e1919d7c014bbb064c64908b2
Additional Information 3: a10f
Additional Information 4: a10ff7d2bb2516fdc753f9c34fc3b069
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=280262
If the online privacy statement is not available, please read our privacy
statement offline:
C:\Windows\system32\en-US\erofflps.txt
The output on the command prompt is:
C:\Program Files (x86)\Subsurface>
Map theme file does not exist: ""
Found 126 GeoNode object LEAKS!
No GeoNode object leak!
Found 99 GeoNode object LEAKS!
Set the current dive site: 0
No GeoNode object leak!
[0.000076] ERROR: The system cannot find the file specified (2) [in
serial_win32.c:152 (serial_open)]
[0.000342] ERROR: Failed to open the serial port. [in custom_serial.c:69
(dc_serial_native_open)]
>
> Cheers,
>
> Rick
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150906/e76cb35f/attachment-0001.html>
More information about the subsurface
mailing list