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