Crash when re-importing from divecomputer

Dirk Hohndel dirk at hohndel.org
Wed Jan 23 12:09:48 PST 2013


Henrik Brautaset Aronsen <subsurface at henrik.synth.no> writes:

> 1) Download dives from divecomputer, save and exit
> 2) Open Subsurface again, and delete the two latest dives
> 3) Start a download from the divecomputer again
>
> *kaboom*
>
> Thread 0:: Dispatch queue: com.apple.main-thread
> 0   libsystem_kernel.dylib            0x00007fff92f53686 mach_msg_trap + 10
> 1   libsystem_kernel.dylib            0x00007fff92f52c42 mach_msg + 70
> 2   com.apple.CoreFoundation          0x00007fff90d53803 
> __CFRunLoopServiceMachPort + 195
> 3   com.apple.CoreFoundation          0x00007fff90d58ee6 __CFRunLoopRun 
> + 1078
> 4   com.apple.CoreFoundation          0x00007fff90d586b2 
> CFRunLoopRunSpecific + 290
> 5   com.apple.HIToolbox               0x00007fff91a6a0a4 
> RunCurrentEventLoopInMode + 209
> 6   com.apple.HIToolbox               0x00007fff91a69e42 
> ReceiveNextEventCommon + 356
> 7   com.apple.HIToolbox               0x00007fff91a69cd3 
> BlockUntilNextEventMatchingListInMode + 62
> 8   com.apple.AppKit                  0x00007fff964ad613 _DPSNextEvent + 685
> 9   com.apple.AppKit                  0x00007fff964aced2 -[NSApplication 
> nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
> 10  libgdk-quartz-2.0.0.dylib         0x0000000105181a12 poll_func + 178
> 11  libglib-2.0.0.dylib               0x00000001056cd9b5 
> g_main_context_iterate + 421
> 12  libglib-2.0.0.dylib               0x00000001056cefaf g_main_loop_run 
> + 287

Everything above is the internal gtk/quartz implementation of
gtk_dialog_run - so this makes me think that this must be a memory
corruption issue.
> 13  libgtk-quartz-2.0.0.dylib         0x0000000104d27b99 gtk_dialog_run 
> + 377
> 14  subsurface                        0x00000001049b4a9a do_import + 234 
> (libdivecomputer.c:752)
> 15  subsurface                        0x00000001049ce4dc 
> import_dive_computer + 156 (download-dialog.c:134)
> 16  subsurface                        0x00000001049cf999 download_dialog 
> + 1897 (download-dialog.c:451)
>
> If I save and exit after 2) and restart Subsurface, the reimport works fine.

Can you run this under Valgrind and try to reproduce?

/D


More information about the subsurface mailing list