Criticals when activating Epiphany, use of NULL GHashTable in gdkscreen-wayland.c
Since !4272 (merged), when a secondary instance of Epiphany activates the primary instance, e.g. to open a URL, it tries to use a hash table before it exists:
(gdb) bt
#0 g_logv
(log_domain=0x7f9004d8100e "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>)
at ../glib/gmessages.c:1417
#1 0x00007f9004d2ee33 in g_log
(log_domain=log_domain@entry=0x7f9004d8100e "GLib", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f9004d8bde6 "%s: assertion '%s' failed") at ../glib/gmessages.c:1455
#2 0x00007f9004d2f6dd in g_return_if_fail_warning
(log_domain=log_domain@entry=0x7f9004d8100e "GLib", pretty_function=pretty_function@entry=0x7f9004d86a90 <__func__.16> "g_hash_table_lookup", expression=expression@entry=0x7f9004d8682f "hash_table != NULL")
at ../glib/gmessages.c:2898
#3 0x00007f9004d130aa in g_hash_table_lookup (hash_table=<optimized out>, key=key@entry=0x7f90047ead48)
at ../glib/ghash.c:1509
#4 0x00007f900478c703 in set_theme_from_entry
(value=0x7ffcfb270990, entry=0x7f90048187a0 <translations>, screen=0x55bd10cca9b0 [GdkWaylandScreen])
at ../gdk/wayland/gdkscreen-wayland.c:1020
#5 gdk_wayland_screen_get_setting
(screen=0x55bd10cca9b0 [GdkWaylandScreen], name=0x7f900553d12c "gtk-theme-name", value=0x7ffcfb270990)
at ../gdk/wayland/gdkscreen-wayland.c:1069
#6 0x00007f9005333dfd in settings_update_xsetting
(pspec=pspec@entry=0x55bd10d919e0 [GParamString], force=force@entry=0, settings=<optimized out>, settings=<optimized out>) at ../gtk/gtksettings.c:3535
#7 0x00007f9005334500 in gtk_settings_get_property
(object=<optimized out>, property_id=8, value=0x7ffcfb270a40, pspec=0x55bd10d919e0 [GParamString])
at ../gtk/gtksettings.c:3610
#8 0x00007f9004e29df1 in object_get_property
(value=0x7ffcfb270a40, pspec=<optimized out>, object=0x55bd10d8e040 [GtkSettings]) at ../gobject/gobject.c:1562
#9 g_object_get_valist
(var_args=0x7ffcfb270af0, first_property_name=<optimized out>, object=0x55bd10d8e040 [GtkSettings])
at ../gobject/gobject.c:2657
#10 g_object_get_valist
(object=0x55bd10d8e040 [GtkSettings], first_property_name=<optimized out>, var_args=0x7ffcfb270af0)
at ../gobject/gobject.c:2629
#11 0x00007f9004e2a25f in g_object_get
(_object=_object@entry=0x55bd10d8e040, first_property_name=first_property_name@entry=0x7f900553d12c "gtk-theme-name") at ../gobject/gobject.c:2754
#12 0x00007f9005330c05 in get_theme_name
(theme_variant=<synthetic pointer>, theme_name=0x7ffcfb270c00, settings=0x55bd10d8e040 [GtkSettings])
at ../gtk/gtksettings.c:3295
#13 settings_update_theme (settings=settings@entry=0x55bd10d8e040 [GtkSettings]) at ../gtk/gtksettings.c:3319
#14 0x00007f900533427c in settings_init_style (settings=0x55bd10d8e040 [GtkSettings]) at ../gtk/gtksettings.c:1910
#15 gtk_settings_create_for_display (display=<optimized out>) at ../gtk/gtksettings.c:1996
#16 gtk_settings_get_for_display (display=<optimized out>) at ../gtk/gtksettings.c:2028
#17 0x00007f900533445d in gtk_settings_get_for_screen (screen=screen@entry=0x55bd10cca9b0 [GdkWaylandScreen])
at ../gtk/gtksettings.c:2046
#18 0x00007f90052b0380 in display_opened_cb
(display_manager=display_manager@entry=0x55bd10d02580 [GdkDisplayManager], display=display@entry=0x55bd10d1a100 [GdkWaylandDisplay]) at ../gtk/gtkmodules.c:498
#19 0x00007f9004e24c9f in g_cclosure_marshal_VOID__OBJECTv
(closure=closure@entry=0x55bd10d13520, return_value=return_value@entry=0x0, instance=instance@entry=0x55bd10d02580, args=args@entry=0x7ffcfb270f30, marshal_data=marshal_data@entry=0x0, n_params=n_params@entry=1, param_types=0x55bd10d132c0) at ../gobject/gmarshal.c:1910
#20 0x00007f9004e21618 in _g_closure_invoke_va
(closure=closure@entry=0x55bd10d13520, return_value=return_value@entry=0x0, instance=instance@entry=0x55bd10d02580, args=args@entry=0x7ffcfb270f30, n_params=1, param_types=0x55bd10d132c0) at ../gobject/gclosure.c:893
--Type <RET> for more, q to quit, c to continue without paging--c
#21 0x00007f9004e3bb7b in g_signal_emit_valist (instance=0x55bd10d02580, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffcfb270f30) at ../gobject/gsignal.c:3405
#22 0x00007f9004e3bd93 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3551
#23 0x00007f9004e21618 in _g_closure_invoke_va (closure=closure@entry=0x55bd10d17e30, return_value=return_value@entry=0x0, instance=instance@entry=0x55bd10d1a100, args=args@entry=0x7ffcfb271218, n_params=0, param_types=0x0) at ../gobject/gclosure.c:893
#24 0x00007f9004e3bb7b in g_signal_emit_valist (instance=instance@entry=0x55bd10d1a100, signal_id=signal_id@entry=55, detail=detail@entry=0, var_args=var_args@entry=0x7ffcfb271218) at ../gobject/gsignal.c:3405
#25 0x00007f9004e3bfd0 in g_signal_emit_by_name (instance=instance@entry=0x55bd10d1a100, detailed_signal=detailed_signal@entry=0x7f90047cfd3c "opened") at ../gobject/gsignal.c:3592
#26 0x00007f90047856f3 in _gdk_wayland_display_open (display_name=<optimized out>) at ../gdk/wayland/gdkdisplay-wayland.c:667
#27 0x00007f900474f42b in gdk_display_manager_open_display (manager=<optimized out>, name=0x0) at ../gdk/gdkdisplaymanager.c:462
#28 0x00007f900528bab3 in gtk_init_check (argc=<optimized out>, argv=<optimized out>) at ../gtk/gtkmain.c:1110
#29 gtk_init_check (argc=<optimized out>, argv=<optimized out>) at ../gtk/gtkmain.c:1102
#30 0x00007f9002c2513b in WebCore::PlatformDisplay::createPlatformDisplay() () at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebCore/platform/graphics/PlatformDisplay.cpp:96
#31 0x00007f9002c25284 in operator() (__closure=<optimized out>) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebCore/platform/graphics/PlatformDisplay.cpp:159
#32 std::__invoke_impl<void, WebCore::PlatformDisplay::sharedDisplay()::<lambda()> > (__f=<optimized out>) at /usr/include/c++/11.2.0/bits/invoke.h:61
#33 std::__invoke<WebCore::PlatformDisplay::sharedDisplay()::<lambda()> > (__fn=<optimized out>) at /usr/include/c++/11.2.0/bits/invoke.h:96
#34 operator() (__closure=<optimized out>) at /usr/include/c++/11.2.0/mutex:776
#35 operator() (__closure=0x0) at /usr/include/c++/11.2.0/mutex:712
#36 _FUN() () at /usr/include/c++/11.2.0/mutex:712
#37 0x00007f8ffe83c073 in __pthread_once_slow (once_control=0x7f90042fc198 <WebCore::PlatformDisplay::sharedDisplay()::onceFlag>, init_routine=0x7f8ffd209300 <std::__once_proxy()>) at pthread_once.c:116
#38 0x00007f9002c2535e in __gthread_once (__func=<optimized out>, __once=0x7f90042fc198 <WebCore::PlatformDisplay::sharedDisplay()::onceFlag>) at /usr/include/c++/11.2.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:700
#39 std::call_once<WebCore::PlatformDisplay::sharedDisplay()::<lambda()> > (__once=..., __f=...) at /usr/include/c++/11.2.0/mutex:783
#40 WebCore::PlatformDisplay::sharedDisplay() () at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebCore/platform/graphics/PlatformDisplay.cpp:158
#41 0x00007f900146095d in WebKit::AcceleratedBackingStore::checkRequirements() () at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp:48
#42 0x00007f90014677ab in WebKit::HardwareAccelerationManager::HardwareAccelerationManager() (this=0x7f90042e4328 <WebKit::HardwareAccelerationManager::singleton()::manager>) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp:60
#43 0x00007f900146783c in WTF::NeverDestroyed<WebKit::HardwareAccelerationManager, WTF::AnyThreadsAccessTraits>::NeverDestroyed<>() (this=0x7f90042e4328 <WebKit::HardwareAccelerationManager::singleton()::manager>) at /usr/include/c++/11.2.0/new:175
#44 WebKit::HardwareAccelerationManager::singleton() () at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp:36
#45 0x00007f9001470d80 in WebKit::WebPreferences::platformInitializeStore() (this=0x7f8ff92f0680) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp:42
#46 0x00007f900131a79f in WebKit::WebPreferences::create(WTF::String const&, WTF::String const&, WTF::String const&) (globalDebugKeyPrefix=..., keyPrefix=..., identifier=...) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/WebPreferences.cpp:45
#47 WebKit::WebPreferences::createWithLegacyDefaults(WTF::String const&, WTF::String const&, WTF::String const&) (identifier=..., keyPrefix=..., globalDebugKeyPrefix=...) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/WebPreferences.cpp:50
#48 0x00007f90012f815f in WebKit::WebPageGroup::WebPageGroup(WTF::String const&) (this=0x7f8ff92ec070, identifier=<optimized out>) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/WebPageGroup.cpp:87
#49 0x00007f90012f85cf in WebKit::WebPageGroup::create(WTF::String const&) (identifier=...) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/WebPageGroup.cpp:53
#50 0x00007f9001332628 in WebKit::WebProcessPool::WebProcessPool(API::ProcessPoolConfiguration&) (this=0x7f8ff92f5300, configuration=<optimized out>) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/WebProcessPool.cpp:198
#51 0x00007f9001332ed4 in WebKit::WebProcessPool::create(API::ProcessPoolConfiguration&) (configuration=...) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/WebProcessPool.cpp:169
#52 0x00007f90013bfca0 in webkitWebContextConstructed(GObject*) (object=<optimized out>) at /usr/lib/debug/source/sdk/webkit2gtk-4.0.bst/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:421
#53 0x00007f9004e27393 in g_object_new_internal (class=class@entry=0x55bd10cf9d80, params=params@entry=0x7ffcfb2719f0, n_params=n_params@entry=2) at ../gobject/gobject.c:2053
#54 0x00007f9004e28dfa in g_object_new_valist (object_type=0x55bd10cf8ff0 [WebKitWebContext], first_property_name=<optimized out>, var_args=var_args@entry=0x7ffcfb271cc0) at ../gobject/gobject.c:2355
#55 0x00007f9004e2939f in g_object_new (object_type=<optimized out>, first_property_name=<optimized out>) at ../gobject/gobject.c:1824
#56 0x00007f9005977d00 in () at /app/lib/epiphany/libephymain.so
#57 0x00007f9004e27393 in g_object_new_internal (class=class@entry=0x55bd10d038a0, params=params@entry=0x7ffcfb271ee0, n_params=n_params@entry=3) at ../gobject/gobject.c:2053
#58 0x00007f9004e28dfa in g_object_new_valist (object_type=0x55bd10cd90c0 [EphyShell/EphyEmbedShell/DzlApplication/GtkApplication/GApplication], first_property_name=<optimized out>, var_args=var_args@entry=0x7ffcfb2721b0) at ../gobject/gobject.c:2355
#59 0x00007f9004e2939f in g_object_new (object_type=<optimized out>, first_property_name=<optimized out>) at ../gobject/gobject.c:1824
#60 0x00007f9005948b8a in _ephy_shell_create_instance () at /app/lib/epiphany/libephymain.so
#61 0x000055bd0fb60f82 in ()
#62 0x00007f90049b1b90 in __libc_start_main (main=0x55bd0fb60a20, argc=2, argv=0x7ffcfb272438, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcfb272428) at ../csu/libc-start.c:332
#63 0x000055bd0fb6135e in ()