mac: crash when attempting to reorder layers (D&D related)
Steps on McGimp 2.10.6 / macOS 10.12.6 Sierra:
- Create new blank image.
- Try to drag the layer in the layers window to rearrange the layers (even though there is only one, the crash is reproducable)
- Crash.
GNU Image Manipulation Program version 2.10.6
git-describe: Unknown, shouldn't happen
C compiler:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
using GEGL version 0.4.8 (compiled against version 0.4.8)
using GLib version 2.56.1 (compiled against version 2.56.1)
using GdkPixbuf version 2.36.12 (compiled against version 2.36.12)
using GTK+ version 2.24.32 (compiled against version 2.24.32)
using Pango version 1.42.1 (compiled against version 1.42.1)
using Fontconfig version 2.12.4 (compiled against version 2.12.4)
using Cairo version 1.15.12 (compiled against version 1.15.12)
fatal error: Abort trap: 6
Stack trace:
# Stack traces obtained from PID 32227 - Thread 2683139 #
(lldb) process attach --pid 32227
Process 32227 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #0: 0x00007fffe7a00246 libsystem_kernel.dylib`read + 10
libsystem_kernel.dylib`read:
-> 0x7fffe7a00246 <+10>: jae 0x7fffe7a00250 ; <+20>
0x7fffe7a00248 <+12>: movq %rax, %rdi
0x7fffe7a0024b <+15>: jmp 0x7fffe79f7cd4 ; cerror
0x7fffe7a00250 <+20>: retq
Target 0: (gimp) stopped.
Executable module set to "/Applications/McGimp-2.10.6.app/Contents/MacOS/gimp".
Architecture set to: x86_64-apple-macosx.
(lldb) thread list
Process 32227 stopped
* thread #1: tid = 0x28f103, 0x00007fffe7a00246 libsystem_kernel.dylib`read + 10, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
thread #2: tid = 0x28f11a, 0x00007fffe79feeb6 libsystem_kernel.dylib`__select + 10, name = 'gmain'
thread #3: tid = 0x28f11e, 0x00007fffe79febf2 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'async'
thread #4: tid = 0x28f11f, 0x00007fffe79febf2 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'worker'
thread #5: tid = 0x28f120, 0x00007fffe79febf2 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'worker'
thread #6: tid = 0x28f121, 0x00007fffe79febf2 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'worker'
thread #7: tid = 0x28f18f, 0x00007fffe79feeb6 libsystem_kernel.dylib`__select + 10
thread #8: tid = 0x28f19a, 0x00007fffe79ffd96 libsystem_kernel.dylib`kevent + 10
thread #9: tid = 0x28f1a0, 0x00007fffe79f734a libsystem_kernel.dylib`mach_msg_trap + 10, name = 'com.apple.NSEventThread'
thread #10: tid = 0x28f2a0, 0x00007fffe79ff44e libsystem_kernel.dylib`__workq_kernreturn + 10
thread #11: tid = 0x29038b, 0x00007fffe79ff44e libsystem_kernel.dylib`__workq_kernreturn + 10
thread #12: tid = 0x2903a6, 0x00007fffe79ff44e libsystem_kernel.dylib`__workq_kernreturn + 10
thread #13: tid = 0x2903a9, 0x00007fffe79ff44e libsystem_kernel.dylib`__workq_kernreturn + 10
thread #14: tid = 0x2903bb, 0x00007fffe79febf2 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'pool'
thread #15: tid = 0x2903c6, 0x00007fffe79febf2 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'swap writer'
(lldb) thread backtrace all
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame #0: 0x00007fffe7a00246 libsystem_kernel.dylib`read + 10
frame #1: 0x0000000101e2bd47 libgimpbase-2.0.0.dylib`gimp_stack_trace_print + 1383
frame #2: 0x00000001011861e6 gimp`gimp_eek + 374
frame #3: 0x000000010118606b gimp`gimp_fatal_error + 27
frame #4: 0x0000000101186d2d gimp`gimp_sigfatal_handler + 45
frame #5: 0x00007fffe7adfb3a libsystem_platform.dylib`_sigtramp + 26
frame #6: 0x00007fffe79fed43 libsystem_kernel.dylib`__pthread_kill + 11
frame #7: 0x00007fffe7aec457 libsystem_pthread.dylib`pthread_kill + 90
frame #8: 0x00007fffe7964420 libsystem_c.dylib`abort + 129
frame #9: 0x0000000102a42537 libglib-2.0.0.dylib`g_assertion_message + 407
frame #10: 0x0000000102a4259e libglib-2.0.0.dylib`g_assertion_message_expr + 94
frame #11: 0x0000000101d29ecd libgdk-quartz-2.0.0.dylib`gdk_drag_begin + 125
frame #12: 0x0000000101b5c3fb libgtk-quartz-2.0.0.dylib`gtk_drag_begin_internal + 507
frame #13: 0x0000000101b5c8b6 libgtk-quartz-2.0.0.dylib`gtk_drag_source_event_cb + 166
frame #14: 0x0000000101a051a4 libgtk-quartz-2.0.0.dylib`_gtk_marshal_BOOLEAN__BOXED + 100
frame #15: 0x000000010298ecfc libgobject-2.0.0.dylib`g_closure_invoke + 204
frame #16: 0x00000001029a4193 libgobject-2.0.0.dylib`signal_emit_unlocked_R + 1651
frame #17: 0x00000001029a5347 libgobject-2.0.0.dylib`g_signal_emit_valist + 2775
frame #18: 0x00000001029a5862 libgobject-2.0.0.dylib`g_signal_emit + 130
frame #19: 0x0000000101b405ab libgtk-quartz-2.0.0.dylib`gtk_widget_event_internal + 603
frame #20: 0x0000000101a02c72 libgtk-quartz-2.0.0.dylib`gtk_propagate_event + 322
frame #21: 0x0000000101a02884 libgtk-quartz-2.0.0.dylib`gtk_main_do_event + 1252
frame #22: 0x0000000101d2ea44 libgdk-quartz-2.0.0.dylib`gdk_event_dispatch + 84
frame #23: 0x0000000102a17fb6 libglib-2.0.0.dylib`g_main_context_dispatch + 326
frame #24: 0x0000000102a18365 libglib-2.0.0.dylib`g_main_context_iterate + 533
frame #25: 0x0000000102a1868f libglib-2.0.0.dylib`g_main_loop_run + 191
frame #26: 0x0000000101185510 gimp`app_run + 1056
frame #27: 0x00000001011883af gimp`main + 975
frame #28: 0x00007fffe78d0235 libdyld.dylib`start + 1
...