macOS 11 (Big Sur) beta: Inkscape always crashes on launch
Summary:
Inkscape immediately crashes when launching the application.
This always happens in _cairo_surface_release_source_image with the same backtrace, but there are various symptoms. Sometimes surface->backend is null, sometimes it's garbage, and sometimes the assert triggers:
Assertion failed: (!surface->finished), function _cairo_surface_release_source_image, file /Users/Shared/work/0.32/opt/src/checkout/cairo-1.16.0/src/cairo-surface.c, line 2092.
So it seems like surface is an invalid pointer for whatever reason.
Version Info:
- Inkscape Version: Inkscape 1.0 (4035a4f, 2020-05-01)
- same thing happens on Inkscape 1.1-dev (48d18c81, 2020-07-08)
- Operating System: macOS
- Operating System version: 11.0 Beta 3 (20A5323l)
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x48)
* frame #0: 0x0000000101afd34a libcairo.2.dylib`_cairo_surface_release_source_image + 106
frame #1: 0x0000000101b375d8 libcairo.2.dylib`DataProviderReleaseCallback + 56
frame #2: 0x00007fff2ae05c5d CoreGraphics`data_release_info + 31
frame #3: 0x00007fff2adb7181 CoreGraphics`data_provider_finalize + 64
frame #4: 0x00007fff2ad7d18d CoreGraphics`data_provider_retain_count + 74
frame #5: 0x00007fff2a9c0f13 CoreFoundation`_CFRelease + 465
frame #6: 0x00007fff2ade2e4b CoreGraphics`image_finalize + 103
frame #7: 0x00007fff2a9c0e30 CoreFoundation`_CFRelease + 238
frame #8: 0x00007fff2ade20fe CoreGraphics`CGClipMaskRelease + 28
frame #9: 0x00007fff2ade2278 CoreGraphics`CGClipRelease + 75
frame #10: 0x00007fff2ad8f91f CoreGraphics`CGClipStackRelease + 45
frame #11: 0x00007fff2ae2ed17 CoreGraphics`CG::DisplayListResourceClip::~DisplayListResourceClip() + 23
frame #12: 0x00007fff2ae2ece6 CoreGraphics`CG::DisplayListResourceClip::~DisplayListResourceClip() + 14
frame #13: 0x00007fff2ae2eca5 CoreGraphics`std::__1::shared_ptr<CG::DisplayListResourceClip>::~shared_ptr() + 49
frame #14: 0x00007fff2ae2ec65 CoreGraphics`std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceClip>, CG::CompareResourceClip, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceClip> > >::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceClip>, void*>*) + 47
frame #15: 0x00007fff2ae2ec5c CoreGraphics`std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceClip>, CG::CompareResourceClip, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceClip> > >::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceClip>, void*>*) + 38
frame #16: 0x00007fff2ae2ec5c CoreGraphics`std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceClip>, CG::CompareResourceClip, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceClip> > >::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceClip>, void*>*) + 38
frame #17: 0x00007fff2ae2ec50 CoreGraphics`std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceClip>, CG::CompareResourceClip, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceClip> > >::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceClip>, void*>*) + 26
frame #18: 0x00007fff2ae2ec50 CoreGraphics`std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceClip>, CG::CompareResourceClip, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceClip> > >::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceClip>, void*>*) + 26
frame #19: 0x00007fff2ae2ec50 CoreGraphics`std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceClip>, CG::CompareResourceClip, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceClip> > >::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceClip>, void*>*) + 26
frame #20: 0x00007fff2ae2ec50 CoreGraphics`std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceClip>, CG::CompareResourceClip, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceClip> > >::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceClip>, void*>*) + 26
frame #21: 0x00007fff2ae2e63d CoreGraphics`CG::DisplayList::~DisplayList() + 405
frame #22: 0x00007fff2ae2e48d CoreGraphics`destroyDisplayList2Impl + 26
frame #23: 0x00007fff2ae2e457 CoreGraphics`dl2_Finalize + 23
frame #24: 0x00007fff2a9c0e30 CoreFoundation`_CFRelease + 238
frame #25: 0x00007fff34f0b6a8 QuartzCore`CABackingStoreUpdate_ + 925
frame #26: 0x00007fff34f6fe89 QuartzCore`invocation function for block in CA::Layer::display_() + 53
frame #27: 0x00007fff34f0a90d QuartzCore`-[CALayer _display] + 2183
frame #28: 0x00007fff27974124 AppKit`-[_NSBackingLayer display] + 474
frame #29: 0x00007fff278df82d AppKit`-[_NSViewBackingLayer display] + 555
frame #30: 0x00007fff34f09932 QuartzCore`CA::Layer::display_if_needed(CA::Transaction*) + 874
frame #31: 0x00007fff35043a71 QuartzCore`CA::Context::commit_transaction(CA::Transaction*, double, double*) + 509
frame #32: 0x00007fff34ee7461 QuartzCore`CA::Transaction::commit() + 775
frame #33: 0x00007fff27989358 AppKit`__62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 266
frame #34: 0x00007fff280bf648 AppKit`___NSRunLoopObserverCreateWithHandler_block_invoke + 41
frame #35: 0x00007fff2a8f71f5 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
frame #36: 0x00007fff2a8f7110 CoreFoundation`__CFRunLoopDoObservers + 489
frame #37: 0x00007fff2a8f6746 CoreFoundation`__CFRunLoopRun + 838
frame #38: 0x00007fff2a8f5d8a CoreFoundation`CFRunLoopRunSpecific + 534
frame #39: 0x00007fff292c05b0 HIToolbox`RunCurrentEventLoopInMode + 292
frame #40: 0x00007fff292c01ff HIToolbox`ReceiveNextEventCommon + 283
frame #41: 0x00007fff292c00cc HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
frame #42: 0x00007fff27804233 AppKit`_DPSNextEvent + 877
frame #43: 0x00007fff27802a61 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
frame #44: 0x00000001039a7739 libgdk-3.0.dylib`poll_func + 281
frame #45: 0x00000001025711c6 libglib-2.0.0.dylib`g_main_context_iterate + 422
frame #46: 0x00000001025712d4 libglib-2.0.0.dylib`g_main_context_iteration + 100
frame #47: 0x00000001022f493d libgio-2.0.0.dylib`g_application_run + 541
frame #48: 0x00000001041ba0bb libgiomm-2.4.1.dylib`Gio::Application::run(int, char**) + 43
frame #49: 0x0000000103aa7f5e libgtkmm-3.0.1.dylib`Gtk::Application::run(int, char**) + 46
frame #50: 0x000000010000ff2c inkscape`main + 4460
frame #51: 0x00007fff6c0187d1 libdyld.dylib`start + 1
frame #52: 0x00007fff6c0187d1 libdyld.dylib`start + 1