Crash when dragging notebook tabs on MacOS
Steps to reproduce
This is a downstream bug originally found in https://gitlab.com/inkscape/inkscape/-/issues/4111. There doesn't seem to be a gtk3-demo
program that exercises this functionality, and writing a minimal working example seems to be nontrivial, so unfortunately the only instructions to reproduce the bug at the moment involve Inkscape.
- Open Inkscape
- Ensure at least two panels are docked. (In the video below, Fill and Stroke + Align and Distribute.)
- Drag one of the panels to the bottom of the other one.
This video shows the steps to reproduce:
It didn't crash, because I'm on Linux. Besides, the crash is non-deterministic (about 30% reproducible).
Current behaviour
A crash, about 30% reproducible, with backtrace
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
* frame #0: 0x0000000103dfd9d0 libgtk-3.0.dylib`gtk_notebook_drag_failed + 84
frame #1: 0x0000000103ca1cd8 libgtk-3.0.dylib`_gtk_marshal_BOOLEAN__OBJECT_ENUMv + 128
frame #2: 0x0000000100406bd8 libgobject-2.0.0.dylib`_g_closure_invoke_va + 232
frame #3: 0x000000010041c464 libgobject-2.0.0.dylib`g_signal_emit_valist + 864
frame #4: 0x000000010041ce24 libgobject-2.0.0.dylib`g_signal_emit_by_name + 336
frame #5: 0x0000000103f36c98 libgtk-3.0.dylib`gtk_drag_drop_finished + 68
frame #6: 0x0000000103dd7c90 libgtk-3.0.dylib`gtk_main_do_event + 1540
frame #7: 0x000000010154a8b0 libgdk-3.0.dylib`_gdk_event_emit + 64
frame #8: 0x00000001015688ac libgdk-3.0.dylib`-[GdkQuartzNSWindow draggedImage:endedAt:operation:] + 312
frame #9: 0x00000001aa628204 AppKit`-[NSCoreDragManager _dragUntilMouseUp:accepted:] + 1344
frame #10: 0x00000001aa626e6c AppKit`-[NSCoreDragManager dragImage:fromWindow:at:offset:event:pasteboard:source:slideBack:] + 1564
frame #11: 0x0000000103f36968 libgtk-3.0.dylib`gtk_drag_begin_idle + 296
frame #12: 0x0000000100df2a04 libglib-2.0.0.dylib`g_main_context_dispatch + 240
frame #13: 0x0000000100df2d24 libglib-2.0.0.dylib`g_main_context_iterate + 436
frame #14: 0x0000000100df2d8c libglib-2.0.0.dylib`g_main_context_iteration + 60
frame #15: 0x0000000100c9bb3c libgio-2.0.0.dylib`g_application_run + 464
frame #16: 0x000000010001274c inkscape`main + 7016
frame #17: 0x00000001a6d07e50 dyld`start + 2544
Note that this bug sounds very like #2881 (closed), but I've checked all the backtraces in that thread and they don't match this one. Furthermore, a search for MacOS + 1. Crash (link) doesn't turn up any duplicates, open or closed.
Expected outcome
As in the video, the panel should get docked below the first panel. You should be able to repeat this as long as you like without crashing.
Version information
GTK Version 3.24.18
Mac OS X 10.14 (18A391)