Inkscape crash in font selector (SEGV in FontVariations::update()), IF Noto Color Emoji font is installed AND made a default choice in "fonts.conf"

Summary:

On this (otherwise healthy) system, attempting to use any font chooser in Inkscape crashes instantly.

Steps to reproduce:

  1. Launch Inkscape
  2. Click the big "T" icon

What happened?

Inkscape crashes. (See below for stack trace and screen shot.)

What should have happened?

Get the font chooser as usual.

Version Info:

Inkscape: 1.0.1+r74

OS: Ubuntu 20.04

Hardware: Dell XPS 17 (9700)

Details

Running under gdb, I get this stack trace:

Thread 1 "inkscape" received signal SIGSEGV, Segmentation fault.
0x00007ffff76c348f in Inkscape::UI::Widget::FontVariations::update(Glib::ustring const&) () from /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
(gdb) bt
#0  0x00007ffff76c348f in Inkscape::UI::Widget::FontVariations::update(Glib::ustring const&) ()
    at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#1  0x00007ffff76a7f2c in Inkscape::UI::Widget::FontSelector::update_variations(Glib::ustring const&) ()
    at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#2  0x00007ffff76a94e0 in Inkscape::UI::Widget::FontSelector::update_font() ()
    at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#3  0x00007ffff76540a2 in Inkscape::UI::Dialog::TextEdit::onReadSelection(int, int) () at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#4  0x00007ffff76549a3 in Inkscape::UI::Dialog::TextEdit::setTargetDesktop(SPDesktop*) () at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#5  0x00007ffff749797d in Inkscape::UI::Dialog::DesktopTracker::setDesktop(SPDesktop*) () at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#6  0x00007ffff7497cdd in Inkscape::UI::Dialog::DesktopTracker::handleHierarchyChange() () at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#7  0x00007ffff7497d05 in Inkscape::UI::Dialog::DesktopTracker::hierarchyChangeCB(_GtkWidget*, _GtkWidget*, Inkscape::UI::Dialog::DesktopTracker*) ()
    at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#8  0x00007ffff48ff802 in g_closure_invoke ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff4913814 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff491eb9e in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff491f0d3 in g_signal_emit ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff59798c2 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007ffff597cb63 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff598befa in gtk_widget_set_parent ()
    at /lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x00007ffff5716d63 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#16 0x00007ffff74a011d in Inkscape::UI::Dialog::PanelDialog<Inkscape::UI::Dialog::Behavior::DockBehavior>::PanelDialog(Inkscape::UI::Widget::Panel&, char const*, int) () at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#17 0x00007ffff7498578 in  ()
    at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#18 0x00007ffff7499d83 in Inkscape::UI::Dialog::DialogManager::getDialog(unsigned int) () at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#19 0x00007ffff7499fd4 in Inkscape::UI::Dialog::DialogManager::showDialog(unsigned int, bool) ()
    at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#20 0x00007ffff70a9aba in sp_action_perform(SPAction*, void*) ()
    at /usr/bin/../lib/x86_64-linux-gnu/inkscape/libinkscape_base.so
#21 0x00007ffff48ff802 in g_closure_invoke ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff4913814 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff491eb9e in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff491f0d3 in g_signal_emit ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff569e8e5 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#26 0x00007ffff592cd5d in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#27 0x00007ffff48ffa56 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff491eb28 in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff491f0d3 in g_signal_emit ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007ffff57242ae in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#31 0x00007ffff5724318 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#32 0x00007ffff48ff802 in g_closure_invoke ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#33 0x00007ffff4913962 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007ffff491eb9e in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#35 0x00007ffff491f0d3 in g_signal_emit ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff5722754 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#37 0x00007ffff59d3ae1 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#38 0x00007ffff48ffa56 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007ffff491eb28 in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#40 0x00007ffff491f0d3 in g_signal_emit ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#41 0x00007ffff57eafcc in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#42 0x00007ffff4902c56 in g_cclosure_marshal_VOID__BOXEDv ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#43 0x00007ffff48ffa56 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#44 0x00007ffff491eb28 in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#45 0x00007ffff491f0d3 in g_signal_emit ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#46 0x00007ffff57e8012 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#47 0x00007ffff57e965b in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#48 0x00007ffff57ec646 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#49 0x00007ffff57b3bb0 in gtk_event_controller_handle_event ()
    at /lib/x86_64-linux-gnu/libgtk-3.so.0
#50 0x00007ffff597616d in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#51 0x00007ffff59cd5ef in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#52 0x00007ffff48ffa56 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#53 0x00007ffff491ddd1 in g_signal_emit_valist ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#54 0x00007ffff491f0d3 in g_signal_emit ()
    at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#55 0x00007ffff5977c23 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#56 0x00007ffff5833128 in  () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#57 0x00007ffff58353db in gtk_main_do_event ()
    at /lib/x86_64-linux-gnu/libgtk-3.so.0
#58 0x00007ffff3fd9f79 in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#59 0x00007ffff400d106 in  () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#60 0x00007ffff65fafbd in g_main_context_dispatch ()
    at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#61 0x00007ffff65fb240 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#62 0x00007ffff65fb2e3 in g_main_context_iteration ()
    at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#63 0x00007ffff4a2dfd5 in g_application_run ()
    at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#64 0x0000555555556a9e in main ()

Finally, here's a (not very interesting) screenshot of the crash: Screenshot_from_2020-12-24_18-39-53

Edited by Daniel Egnor