Bug 2018670

Summary: webkit2gtk3+wpebackend-fdo cause crash in the nvidia driver
Product: [Fedora] Fedora Reporter: Clemens Wasser <clemens.wasser>
Component: egl-waylandAssignee: leigh scott <leigh123linux>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 35CC: erack, gnome-sig, jaroslav.asanov, justin.lamp96, kwizart, leigh123linux, mcatanza, negativo17, tpopela
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: egl-wayland-1.1.9-3.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-30 01:21:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Clemens Wasser 2021-10-30 09:50:21 UTC
Description of problem:
Any program that uses webkit2gtk3+wpebackend-fdo crashs the nvidia driver during start.


Version-Release number of selected component (if applicable):
Fedora 35
webkit2gtk3.x86_64 2.34.1-2.fc35
wpebackend-fdo.x86_64 1.10.0-2.fc35
akmod-nvidia.x86_64 3:495.44-1.fc35

How reproducible:
Every time.

Steps to Reproduce:
1. Open any Program that uses webkit2gtk3 (in my example gnome-builder)

Actual results:
Program crashes

Expected results:
Program shouldn't crash

Additional info:
Simple Backtrace using lldb:
* thread #1, name = 'gnome-builder', stop reason = signal SIGABRT
  * frame #0: 0x00007ffff3ab685c libc.so.6`__pthread_kill_implementation + 284
    frame #1: 0x00007ffff3a696b6 libc.so.6`raise + 22
    frame #2: 0x00007ffff3a537d3 libc.so.6`abort + 211
    frame #3: 0x00007ffff3a536fb libc.so.6`__assert_fail_base.cold + 15
    frame #4: 0x00007ffff3a623a6 libc.so.6`__assert_fail + 70
    frame #5: 0x00007fffdccd2289 libnvidia-egl-wayland.so.1`wlExternalApiLock.isra.0 + 89
    frame #6: 0x00007fffdccd2c2a libnvidia-egl-wayland.so.1`wlEglAcquireDisplay + 10
    frame #7: 0x00007fffdccd3aa8 libnvidia-egl-wayland.so.1`wlEglGetInternalHandleExport + 56
    frame #8: 0x00007fffdc660295 libEGL_nvidia.so.0`___lldb_unnamed_symbol4387 + 85
    frame #9: 0x00007fffdc602482 libEGL_nvidia.so.0`___lldb_unnamed_symbol554 + 34
    frame #10: 0x00007fffdccd2510 libnvidia-egl-wayland.so.1`wlEglBindDisplaysHook + 608
    frame #11: 0x00007fffdc665749 libEGL_nvidia.so.0`___lldb_unnamed_symbol4499 + 57
    frame #12: 0x00007fffdc604dfa libEGL_nvidia.so.0`___lldb_unnamed_symbol611 + 106
    frame #13: 0x00007ffff2a2ec02 libWPEBackend-fdo-1.0.so.1`wpe_fdo_initialize_for_egl_display + 578
    frame #14: 0x00007ffff4ab7428 libwebkit2gtk-4.0.so.37`WebKit::AcceleratedBackingStoreWayland::checkRequirements() + 184
    frame #15: 0x00007ffff4ab7fc5 libwebkit2gtk-4.0.so.37`WebKit::HardwareAccelerationManager::singleton() + 501
    frame #16: 0x00007ffff49cc25c libwebkit2gtk-4.0.so.37`WebKit::WebPreferences::create(WTF::String const&, WTF::String const&, WTF::String const&) + 204
    frame #17: 0x00007ffff49b0bf7 libwebkit2gtk-4.0.so.37`WebKit::WebPageGroup::create(WTF::String const&) + 455
    frame #18: 0x00007ffff49e05f2 libwebkit2gtk-4.0.so.37`WebKit::WebProcessPool::WebProcessPool(API::ProcessPoolConfiguration&) + 946
    frame #19: 0x00007ffff4a47a7c libwebkit2gtk-4.0.so.37`webkitWebContextConstructed(_GObject*) + 604
    frame #20: 0x00007ffff7d9fd97 libgobject-2.0.so.0`g_object_new_internal + 679
    frame #21: 0x00007ffff7da0c7d libgobject-2.0.so.0`g_object_new_with_properties + 525
    frame #22: 0x00007ffff7da1781 libgobject-2.0.so.0`g_object_new + 193
    frame #23: 0x00007ffff4a35899 libwebkit2gtk-4.0.so.37`createDefaultWebContext(void*) + 105
    frame #24: 0x00007ffff7cc15b5 libglib-2.0.so.0`g_once_impl + 101
    frame #25: 0x00007ffff4a35985 libwebkit2gtk-4.0.so.37`webkit_web_context_get_default + 69
    frame #26: 0x000055555584c574 gnome-builder`_ide_webkit_register_types + 52
    frame #27: 0x00007ffff6f84fbb libpeas-1.0.so.0`peas_object_module_load + 203
    frame #28: 0x00007ffff7db6a8b libgobject-2.0.so.0`g_type_module_use + 107
    frame #29: 0x00007ffff6f8863b libpeas-1.0.so.0`peas_plugin_loader_c_load + 171
    frame #30: 0x00007ffff6f88f58 libpeas-1.0.so.0`peas_engine_load_plugin_real + 328
    frame #31: 0x00007ffff7d90c2f libgobject-2.0.so.0`g_closure_invoke + 367
    frame #32: 0x00007ffff7daca44 libgobject-2.0.so.0`signal_emit_unlocked_R + 1092
    frame #33: 0x00007ffff7dae91a libgobject-2.0.so.0`g_signal_emit_valist + 4218
    frame #34: 0x00007ffff7daeb33 libgobject-2.0.so.0`g_signal_emit + 147
    frame #35: 0x00007ffff6f86663 libpeas-1.0.so.0`peas_engine_load_plugin + 131
    frame #36: 0x00005555556b97cb gnome-builder`_ide_application_load_plugin + 123
    frame #37: 0x0000555555697a7e gnome-builder`ide_application_startup + 622
    frame #38: 0x00007ffff7dae9ea libgobject-2.0.so.0`g_signal_emit_valist + 4426
    frame #39: 0x00007ffff7daeb33 libgobject-2.0.so.0`g_signal_emit + 147
    frame #40: 0x00007ffff7eb6601 libgio-2.0.so.0`g_application_register + 577
    frame #41: 0x00007ffff7eb6d6e libgio-2.0.so.0`g_application_real_local_command_line + 126
    frame #42: 0x00007ffff7eb7126 libgio-2.0.so.0`g_application_run + 310
    frame #43: 0x0000555555614c62 gnome-builder`main + 1202
    frame #44: 0x00007ffff3a54560 libc.so.6`__libc_start_call_main + 128
    frame #45: 0x00007ffff3a5460c libc.so.6`__libc_start_main@@GLIBC_2.34 + 124
    frame #46: 0x0000555555615935 gnome-builder`_start + 37

Full Backtrace unsing gdb and Michael Catanzaro's method(https://blogs.gnome.org/mcatanzaro/2021/09/18/creating-quality-backtraces-for-crash-reports/):
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {94486488467756, 94486488467456, 94486488467756, 0, 0, 0, 0, 0, 551708252312, 18054825617469629440, 0, 18054825617469629440, 140193979942080, 140730453998848, 140193540874240, 140193979942080}}
        ret = <optimized out>
#1  0x00007f81744908c3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007f81744436b6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007f817442d7d3 in __GI_abort () at abort.c:79
        save_stage = 1
        act = 
          {__sigaction_handler = {sa_handler = 0x7f815a342000, sa_sigaction = 0x7f815a342000}, sa_mask = {__val = {87, 94486488821728, 18, 94486488467456, 140193979659488, 140193979687056, 0, 10145513168, 18054825617469629440, 140730453998928, 18446744073709551488, 2, 140193540874240, 87, 140193540877184, 94486488221920}}, sa_flags = 1951001573, sa_restorer = 0x7f81745fd3a0 <__GI__IO_file_jumps>}
        sigs = {__val = {32, 94486488221920, 140193880865920, 140193978361861, 87, 140193540877184, 94486488221920, 140193978248154, 206158430256, 140193540877568, 140193979706400, 140193978362154, 206158430232, 140730453999152, 140730453998960, 18054825617469629440}}
#4  0x00007f817442d6fb in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=<optimized out>, function=<optimized out>) at assert.c:92
        str = 0x55ef599a2fe0 "\242\367f\a\352U"
        total = 4096
#5  0x00007f817443c3a6 in __GI___assert_fail
    (assertion=assertion@entry=0x7f815a342b80 "!\"failed to lock pthread mutex\"", file=file@entry=0x7f815a342000 "../src/wayland-thread.c", line=line@entry=87, function=function@entry=0x7f815a342d00 <__PRETTY_FUNCTION__.2.lto_priv.0> "wlExternalApiLock") at assert.c:101
#6  0x00007f815a33e289 in wlExternalApiLock () at ../src/wayland-thread.c:87
#7  0x00007f815a33ec2a in wlEglAcquireDisplay (dpy=dpy@entry=0x55ef59916320) at ../src/wayland-egldisplay.c:682
        display = 0x55ef59916320
#8  0x00007f815a33faa8 in wlEglGetInternalHandleExport (dpy=<optimized out>, type=<optimized out>, handle=0x55ef59916320) at ../src/wayland-eglhandle.c:167
        display = <optimized out>
#9  0x00007f8159060295 in  () at /lib64/libEGL_nvidia.so.0
#10 0x00007f8159002482 in  () at /lib64/libEGL_nvidia.so.0
#11 0x00007f815a33e510 in wl_drm_display_bind (wlStreamDpy=0x55ef599108e0, display=0x55ef59336a80) at ../src/wayland-drm.c:164
        dpy = <optimized out>
        egl_dev = 0x55ef59967120
        dev_exts = <optimized out>
        dev_name = <optimized out>
        wlStreamDpy = 0x55ef599108e0
        env = <optimized out>
        exts = 0x55ef599972d0 "EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_o"...
        res = 0
#12 wl_eglstream_display_bind
    (exts=0x55ef599972d0 "EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_o"..., eglDisplay=<optimized out>, wlDisplay=0x55ef59336a80, data=0x55ef593caab0) at ../src/wayland-eglstream-server.c:358
        wlStreamDpy = 0x55ef599108e0
        env = <optimized out>
        exts = 0x55ef599972d0 "EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_o"...
        res = 0
#13 wl_eglstream_display_bind
    (exts=0x55ef599972d0 "EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_o"..., eglDisplay=<optimized out>, wlDisplay=0x55ef59336a80, data=0x55ef593caab0) at ../src/wayland-eglstream-server.c:289
        exts = 0x55ef599972d0 "EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_o"...
        res = 0
#14 wlEglBindDisplaysHook (data=0x55ef593caab0, dpy=<optimized out>, nativeDpy=0x55ef59336a80) at ../src/wayland-egldisplay.c:73
        exts = 0x55ef599972d0 "EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_o"...
        res = 0
#15 0x00007f8159065749 in  () at /lib64/libEGL_nvidia.so.0
#16 0x00007f8159004dfa in  () at /lib64/libEGL_nvidia.so.0
#17 0x00007f8173408c02 in WS::ImplEGL::initialize(void*) (eglDisplay=0x55ef59916320, this=0x55ef599cba70) at ../src/ws-egl.cpp:140
--Type <RET> for more, q to quit, c to continue without paging--c
        extensions = {WL_bind_wayland_display = true, KHR_image_base = true, EXT_image_dma_buf_import = true, EXT_image_dma_buf_import_modifiers = true}
        instance = <optimized out>
#18 WS::ImplEGL::initialize(void*) (eglDisplay=0x55ef59916320, this=0x55ef599cba70) at ../src/ws-egl.cpp:96
        instance = <optimized out>
#19 wpe_fdo_initialize_for_egl_display(EGLDisplay) (display=0x55ef59916320) at ../src/initialize-egl.cpp:40
        instance = <optimized out>
#20 0x00007f8175491428 in WebKit::tryInitializeEGL () at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:111
        eglDisplay = 0x55ef59916320
        extensions = <optimized out>
        eglContext = std::unique_ptr<class WebCore::GLContext> = {get() = {<No data fields>}}
#21 WebKit::AcceleratedBackingStoreWayland::checkRequirements() () at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:155
#22 0x00007f8175491fc5 in WebKit::AcceleratedBackingStore::checkRequirements() () at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp:49
        disableCompositing = <optimized out>
        manager = {m_storage = {__data = "\001", __align = {<No data fields>}}}
#23 WebKit::HardwareAccelerationManager::HardwareAccelerationManager() (this=0x7f81776d07f0 <WebKit::HardwareAccelerationManager::singleton()::manager>) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp:60
        disableCompositing = <optimized out>
        manager = {m_storage = {__data = "\001", __align = {<No data fields>}}}
#24 WTF::NeverDestroyed<WebKit::HardwareAccelerationManager, WTF::AnyThreadsAccessTraits>::NeverDestroyed<>() (this=0x7f81776d07f0 <WebKit::HardwareAccelerationManager::singleton()::manager>) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/redhat-linux-build/WTF/Headers/wtf/NeverDestroyed.h:67
        manager = {m_storage = {__data = "\001", __align = {<No data fields>}}}
#25 WebKit::HardwareAccelerationManager::singleton() () at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp:36
        manager = {m_storage = {__data = "\001", __align = {<No data fields>}}}
#26 WebKit::HardwareAccelerationManager::singleton() () at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp:34
        manager = {m_storage = {__data = "\001", __align = {<No data fields>}}}
#27 0x00007f81753a625c in WebKit::WebPreferences::platformInitializeStore() (this=0x7f81595ee000) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp:42
        compositingState = {acceleratedCompositingEnabled = true, forceCompositingMode = false}
#28 WebKit::WebPreferences::WebPreferences(WTF::String const&, WTF::String const&, WTF::String const&) (globalDebugKeyPrefix=<optimized out>, keyPrefix=<optimized out>, identifier=<optimized out>, this=0x7f81595ee000) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/WebPreferences.cpp:65
#29 WebKit::WebPreferences::create(WTF::String const&, WTF::String const&, WTF::String const&) (identifier=<optimized out>, keyPrefix=<optimized out>, globalDebugKeyPrefix=<optimized out>) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/WebPreferences.cpp:45
#30 0x00007f817538abf7 in WebKit::WebPreferences::createWithLegacyDefaults(WTF::String const&, WTF::String const&, WTF::String const&) (globalDebugKeyPrefix=..., keyPrefix=..., identifier=...) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/WebPreferences.cpp:50
#31 WebKit::WebPageGroup::WebPageGroup(WTF::String const&) (identifier=..., this=0x7f81595f0000) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/WebPageGroup.cpp:94
#32 WebKit::WebPageGroup::create(WTF::String const&) (identifier=...) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/WebPageGroup.cpp:53
#33 0x00007f81753ba5f2 in WebKit::WebProcessPool::WebProcessPool(API::ProcessPoolConfiguration&) (this=0x7f81595f2000, configuration=..., this=<optimized out>, configuration=<optimized out>) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/WebProcessPool.cpp:198
#34 0x00007f8175421a7c in WebKit::WebProcessPool::create(API::ProcessPoolConfiguration&) (configuration=...) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/WebProcessPool.cpp:169
        bundleFilename = std::unique_ptr<char> = {get() = {<No data fields>}}
        webContext = 0x55ef599031c0
        priv = 0x55ef599030d0
        configuration = {<API::ObjectImpl<(API::Object::Type)88>> = {<API::Object> = {<WTF::ThreadSafeRefCounted<API::Object, (WTF::DestructionThread)0>> = {<WTF::ThreadSafeRefCountedBase> = {m_refCount = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 1}, static is_always_lock_free = true}}, <No data fields>}, _vptr.Object = 0x7f817745ce70 <vtable for API::ProcessPoolConfiguration+16>}, static APIType = API::Object::Type::ProcessPoolConfiguration}, m_injectedBundlePath = {static MaxLength = 2147483647, m_impl = {m_ptr = 0x7f81595f3000}}, m_customClassesForParameterCoder = {<WTF::VectorBuffer<WTF::String, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::String, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_cachePartitionedURLSchemes = {<WTF::VectorBuffer<WTF::String, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::String, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_alwaysRevalidatedURLSchemes = {<WTF::VectorBuffer<WTF::String, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::String, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_additionalReadAccessAllowedPaths = {<WTF::VectorBuffer<WTF::CString, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::CString, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_fullySynchronousModeIsAllowedForTesting = false, m_ignoreSynchronousMessagingTimeoutsForTesting = false, m_attrStyleEnabled = false, m_shouldThrowExceptionForGlobalConstantRedeclaration = true, m_overrideLanguages = {<WTF::VectorBuffer<WTF::String, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::String, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_alwaysRunsAtBackgroundPriority = false, m_shouldTakeUIBackgroundAssertion = true, m_shouldCaptureDisplayInUIProcess = false, m_presentingApplicationPID = 5616, m_processSwapsOnNavigationFromClient = std::optional<bool> = {[contained value] = false}, m_processSwapsOnNavigationFromExperimentalFeatures = false, m_alwaysKeepAndReuseSwappedProcesses = false, m_processSwapsOnWindowOpenWithOpener = false, m_processSwapsOnNavigationWithinSameNonHTTPFamilyProtocol = false, m_isAutomaticProcessWarmingEnabledByClient = std::optional<bool> [no contained value], m_usesWebProcessCache = true, m_usesBackForwardCache = true, m_clientWouldBenefitFromAutomaticProcessPrewarming = false, m_customWebContentServiceBundleIdentifier = {static MaxLength = 2147483647, m_impl = {m_ptr = 0x0}}, m_shouldConfigureJSCForTesting = false, m_isJITEnabled = true, m_usesSingleWebProcess = false, m_useSystemAppearanceForScrollbars = true, m_memoryPressureHandlerConfiguration = std::optional<struct WTF::MemoryPressureHandler::Configuration> [no contained value]}
#35 webkitWebContextConstructed(GObject*) (object=<optimized out>) at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:421
        bundleFilename = std::unique_ptr<char> = {get() = {<No data fields>}}
        webContext = 0x55ef599031c0
        priv = 0x55ef599030d0
        configuration = {<API::ObjectImpl<(API::Object::Type)88>> = {<API::Object> = {<WTF::ThreadSafeRefCounted<API::Object, (WTF::DestructionThread)0>> = {<WTF::ThreadSafeRefCountedBase> = {m_refCount = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 1}, static is_always_lock_free = true}}, <No data fields>}, _vptr.Object = 0x7f817745ce70 <vtable for API::ProcessPoolConfiguration+16>}, static APIType = API::Object::Type::ProcessPoolConfiguration}, m_injectedBundlePath = {static MaxLength = 2147483647, m_impl = {m_ptr = 0x7f81595f3000}}, m_customClassesForParameterCoder = {<WTF::VectorBuffer<WTF::String, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::String, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_cachePartitionedURLSchemes = {<WTF::VectorBuffer<WTF::String, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::String, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_alwaysRevalidatedURLSchemes = {<WTF::VectorBuffer<WTF::String, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::String, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_additionalReadAccessAllowedPaths = {<WTF::VectorBuffer<WTF::CString, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::CString, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_fullySynchronousModeIsAllowedForTesting = false, m_ignoreSynchronousMessagingTimeoutsForTesting = false, m_attrStyleEnabled = false, m_shouldThrowExceptionForGlobalConstantRedeclaration = true, m_overrideLanguages = {<WTF::VectorBuffer<WTF::String, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::String, WTF::FastMalloc>> = {m_buffer = 0x0, m_capacity = 0, m_size = 0}, <No data fields>}, <No data fields>}, m_alwaysRunsAtBackgroundPriority = false, m_shouldTakeUIBackgroundAssertion = true, m_shouldCaptureDisplayInUIProcess = false, m_presentingApplicationPID = 5616, m_processSwapsOnNavigationFromClient = std::optional<bool> = {[contained value] = false}, m_processSwapsOnNavigationFromExperimentalFeatures = false, m_alwaysKeepAndReuseSwappedProcesses = false, m_processSwapsOnWindowOpenWithOpener = false, m_processSwapsOnNavigationWithinSameNonHTTPFamilyProtocol = false, m_isAutomaticProcessWarmingEnabledByClient = std::optional<bool> [no contained value], m_usesWebProcessCache = true, m_usesBackForwardCache = true, m_clientWouldBenefitFromAutomaticProcessPrewarming = false, m_customWebContentServiceBundleIdentifier = {static MaxLength = 2147483647, m_impl = {m_ptr = 0x0}}, m_shouldConfigureJSCForTesting = false, m_isJITEnabled = true, m_usesSingleWebProcess = false, m_useSystemAppearanceForScrollbars = true, m_memoryPressureHandlerConfiguration = std::optional<struct WTF::MemoryPressureHandler::Configuration> [no contained value]}
#36 0x00007f8178779d97 in g_object_new_internal (class=class@entry=0x55ef599022b0, params=params@entry=0x0, n_params=n_params@entry=0) at ../gobject/gobject.c:1985
        nqueue = 0x55ef5992fdc0
        object = 0x55ef599031c0
        __func__ = "g_object_new_internal"
#37 0x00007f817877ac7d in g_object_new_with_properties (object_type=0x55ef599021e0 [None], n_properties=0, names=names@entry=0x0, values=values@entry=0x0) at ../gobject/gobject.c:2114
        class = 0x55ef599022b0
        unref_class = 0x55ef599022b0
        object = <optimized out>
        __func__ = "g_object_new_with_properties"
#38 0x00007f817877b781 in g_object_new (object_type=<optimized out>, first_property_name=<optimized out>) at ../gobject/gobject.c:1785
        object = <optimized out>
        var_args = {{gp_offset = 1502618080, fp_offset = 21999, overflow_arg_area = 0x7f81787808cb <type_data_make_W+203>, reg_save_area = 0x55ef599021e0}}
#39 0x00007f817540f899 in createDefaultWebContext(gpointer) () at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:689
        webContext = {m_ptr = 0x0}
#40 0x00007f817869b5b5 in g_once_impl (once=0x7f81776cff60 <webkit_web_context_get_default::onceInit>, func=0x7f817540f830 <createDefaultWebContext(gpointer)>, arg=0x0) at ../glib/gthread.c:640
        retval = <optimized out>
#41 0x00007f817540f985 in webkit_web_context_get_default() () at /usr/src/debug/webkit2gtk3-2.34.1-2.fc35.x86_64/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:703
        onceInit = {status = G_ONCE_STATUS_PROGRESS, retval = 0x0}
#42 0x000055ef58e86574 in _ide_webkit_register_types (module=<optimized out>) at ../src/libide/webkit/ide-webkit-plugin.c:39
        context = <optimized out>
#43 0x00007f817795efbb in peas_object_module_load (gmodule=<optimized out>) at ../libpeas/peas-object-module.c:192
        module = 0x55ef5995e950
        priv = 0x55ef5995e910
        __func__ = "peas_object_module_load"
#44 0x00007f8178790a8b in g_type_module_use (module=0x55ef5995e950) at ../gobject/gtypemodule.c:248
        tmp_list = <optimized out>
        __func__ = "g_type_module_use"
#45 0x00007f817796263b in peas_plugin_loader_c_load (loader=<optimized out>, info=0x55ef5936dba0) at ../libpeas/peas-plugin-loader-c.c:84
        module_name = <optimized out>
        module_dir = <optimized out>
        cloader = <optimized out>
        priv = 0x55ef59355640
#46 0x00007f8177962f58 in peas_engine_load_plugin_real (info=0x55ef5936dba0, engine=0x55ef5932caa0) at ../libpeas/peas-engine.c:1145
        dep_info = <optimized out>
        i = <optimized out>
        dependencies = 0x55ef59369820
        loader = <optimized out>
#47 peas_engine_load_plugin_real (engine=0x55ef5932caa0, info=0x55ef5936dba0) at ../libpeas/peas-engine.c:1087
#51 0x00007f8178788b33 in <emit signal ??? on instance ???> (instance=instance@entry=0x55ef5932caa0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffe5cb84de0, reg_save_area = 0x7ffe5cb84d20}}
    #48 0x00007f817876ac2f in g_closure_invoke (closure=0x55ef59359be0, return_value=0x0, n_param_values=2, param_values=0x7ffe5cb84b30, invocation_hint=0x7ffe5cb84ab0) at ../gobject/gclosure.c:830
                marshal = 0x7f817876cae0 <g_type_class_meta_marshal>
                marshal_data = 0x88
                in_marshal = 0
                real_closure = 0x55ef59359bc0
                __func__ = "g_closure_invoke"
    #49 0x00007f8178786a44 in signal_emit_unlocked_R (node=node@entry=0x55ef593326c0, detail=detail@entry=0, instance=instance@entry=0x55ef5932caa0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe5cb84b30) at ../gobject/gsignal.c:3781
                accumulator = 0x0
                emission = {next = 0x7ffe5cb84f30, instance = 0x55ef5932caa0, ihint = {signal_id = 32, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55ef59359710 [None]}
                hlist = <optimized out>
                handler_list = <optimized out>
                return_accu = 0x0
                accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                signal_id = 32
                max_sequential_handler_number = 208
                return_value_altered = 1
    #50 0x00007f817878891a in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe5cb84d00) at ../gobject/gsignal.c:3497
                instance_and_params = 0x7ffe5cb84b30
                signal_return_type = <optimized out>
                param_values = 0x7ffe5cb84b48
                node = <optimized out>
                i = <optimized out>
                n_params = <optimized out>
                __func__ = "g_signal_emit_valist"
#52 0x00007f8177960663 in peas_engine_load_plugin (engine=engine@entry=0x55ef5932caa0, info=info@entry=0x55ef5936dba0) at ../libpeas/peas-engine.c:1193
        __func__ = "peas_engine_load_plugin"
#53 0x000055ef58cf37cb in _ide_application_load_plugin (self=0x55ef59329120, plugin_info=0x55ef5936dba0) at ../src/libide/gui/ide-application-plugins.c:237
        engine = 0x55ef5932caa0
        circular = 0x55ef59939d20
#54 0x000055ef58cd1a7e in _ide_application_load_plugins (self=0x55ef59329120) at ../src/libide/gui/ide-application-plugins.c:434
        plugin_info = 0x55ef5936dba0
        iter = 0x55ef5937d060 = {0x55ef5936dba0, 0x55ef594c9ee0, 0x55ef593660b0, 0x55ef59472cb0, 0x55ef5937ef60, 0x55ef5936e110, 0x55ef59374ad0, 0x55ef59371c30, 0x55ef59380b00, 0x55ef5937fd50, 0x55ef59369d10, 0x55ef593786f0, 0x55ef59361db0, 0x55ef5936a640, 0x55ef5936a800, 0x55ef5937f760, 0x55ef5937fbc0, 0x55ef5936f7f0, 0x55ef5937bda0, 0x55ef59369fe0, 0x55ef59369450, 0x55ef593742a0, 0x55ef593738a0, 0x55ef59371e80, 0x55ef59375bc0, 0x55ef59361b40, 0x55ef59363c00, 0x55ef5936f040, 0x55ef593726e0, 0x55ef59375670, 0x55ef59377720, 0x55ef593617f0, 0x55ef593710b0, 0x55ef5937c870, 0x55ef59370b00, 0x55ef5937ff60, 0x55ef5937e190, 0x55ef5937cf20, 0x55ef5937a890, 0x55ef59379ee0, 0x55ef59379580, 0x55ef59378250, 0x55ef593771a0, 0x55ef59373440, 0x55ef593712f0, 0x55ef5936ef20, 0x55ef59363a20, 0x55ef5937b320, 0x55ef59379630, 0x55ef5947f180, 0x55ef59375910, 0x55ef5936c4d0, 0x55ef5936daf0, 0x55ef5936f6e0, 0x55ef5936d380, 0x55ef5936b930, 0x55ef59369190, 0x55ef593687f0, 0x55ef59367dd0, 0x55ef59366690, 0x55ef59365cc0, 0x55ef5936de30, 0x55ef5962fa50, 0x55ef594f34c0, 0x55ef594448a0, 0x55ef5935c910, 0x55ef5936e3d0, 0x55ef59364ef0, 0x55ef59363970, 0x55ef593630a0, 0x55ef59361a90, 0x55ef59375ce0, 0x55ef5937c5f0, 0x55ef59361150, 0x55ef5935ed40, 0x55ef5935cfa0, 0x55ef5935b510}
        user_plugins_dir = 0x55ef59572e50 "/home/cwasser/.local/share/gnome-builder/plugins"
        error = 0x0
        engine = <optimized out>
        self = 0x55ef59329120
#55 ide_application_startup (app=0x55ef59329120) at ../src/libide/gui/ide-application.c:159
        self = 0x55ef59329120
#56 0x00007f81787889ea in _g_closure_invoke_va (param_types=0x0, n_params=<optimized out>, args=0x7ffe5cb85030, instance=0x55ef59329120, return_value=0x0, closure=0x55ef59323470) at ../gobject/gclosure.c:893
        marshal = <optimized out>
        marshal_data = <optimized out>
        in_marshal = 0
        real_closure = 0x55ef59323450
        return_accu = 0x0
        accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        accumulator = 0x0
        emission = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{next = 0x0, instance = 0x55ef59329120, ihint = {signal_id = 7, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = }
        signal_id = 7
        instance_type = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str

        emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        rtype = 0x4 [None]
        static_scope = 0
        fastpath_handler = <optimized out>
        closure = <optimized out>
        run_type = <optimized out>
        hlist = <optimized out>
        l = <optimized out>
        fastpath = 1
        instance_and_params = <optimized out>
        signal_return_type = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#57 g_signal_emit_valist (instance=0x55ef59329120, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffe5cb85030) at ../gobject/gsignal.c:3406
        return_accu = 0x0
        accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        accumulator = 0x0
        emission = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str
{next = 0x0, instance = 0x55ef59329120, ihint = {signal_id = 7, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = }
        signal_id = 7
        instance_type = Python Exception <class 'TypeError'>: can only concatenate str (not "NoneType") to str

        emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        rtype = 0x4 [None]
        static_scope = 0
        fastpath_handler = <optimized out>
        closure = <optimized out>
        run_type = <optimized out>
        hlist = <optimized out>
        l = <optimized out>
        fastpath = 1
        instance_and_params = <optimized out>
        signal_return_type = <optimized out>
        param_values = <optimized out>
        node = <optimized out>
        i = <optimized out>
        n_params = <optimized out>
        __func__ = "g_signal_emit_valist"
#58 0x00007f8178788b33 in g_signal_emit (instance=instance@entry=0x55ef59329120, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3553
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffe5cb85110, reg_save_area = 0x7ffe5cb85050}}
#59 0x00007f8178890601 in g_application_register (application=application@entry=0x55ef59329120, cancellable=cancellable@entry=0x0, error=error@entry=0x7ffe5cb851a0) at ../gio/gapplication.c:2209
        __func__ = "g_application_register"
#60 0x00007f8178890d6e in g_application_real_local_command_line (application=0x55ef59329120, arguments=0x7ffe5cb851f8, exit_status=0x7ffe5cb851f4) at ../gio/gapplication.c:1111
        error = 0x0
        options = 0x55ef5938cc00
        n_args = <optimized out>
#61 0x00007f8178891126 in g_application_run (application=0x55ef59329120, argc=1555583476, argv=<optimized out>) at ../gio/gapplication.c:2538
        arguments = 0x55ef59378300
        status = -1
        context = 0x55ef5931b000
        acquired_context = <optimized out>
        __func__ = "g_application_run"
#62 0x000055ef58c4ec62 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:296
        plugin = 0x0
        type = 0x0
        dbus_address = 0x0
        app = 0x55ef59329120
        desktop = <optimized out>
        standalone = 0
        ret = <optimized out>

Comment 1 Michael Catanzaro 2021-10-30 14:03:15 UTC
That is a good backtrace.

I don't know enough about EGL to say what is going wrong, though. I'm a little suspicious that it is calling EGL_MESA_image_dma_buf_export but you are obviously not using mesa. Will ask around next week.

Comment 2 Michael Catanzaro 2021-11-01 16:40:53 UTC
*** Bug 2018836 has been marked as a duplicate of this bug. ***

Comment 3 Michael Catanzaro 2021-11-01 16:44:43 UTC
I was about to give up on this one (what can we do if it's crashing in NVIDIA code?) but got then googled "failed to lock pthread mutex reasons why" and amazingly hit upon https://github.com/NVIDIA/egl-wayland/issues/27, which is definitely what you're experiencing here. Apparently NVIDIA/egl-wayland is open source? I'm not sure why you have no debuginfo for it, but if it's open source it can theoretically be fixed.

Feel free to watch and +1 the upstream issue.

Comment 4 Clemens Wasser 2021-11-01 17:19:50 UTC
Hello Michael,

thank you very much!

Comment 5 Milan Crha 2021-11-05 08:08:30 UTC
*** Bug 2020517 has been marked as a duplicate of this bug. ***

Comment 6 Fedora Update System 2021-11-23 21:56:33 UTC
FEDORA-2021-0526645c86 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-0526645c86

Comment 8 Michael Catanzaro 2021-11-23 23:44:44 UTC
(In reply to Fedora Update System from comment #6)
> FEDORA-2021-0526645c86 has been submitted as an update to Fedora 35.
> https://bodhi.fedoraproject.org/updates/FEDORA-2021-0526645c86

Oops, I didn't even notice you were faster than me. Nice!

Comment 9 Fedora Update System 2021-11-24 01:57:49 UTC
FEDORA-2021-0526645c86 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-0526645c86`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-0526645c86

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2021-11-30 01:21:44 UTC
FEDORA-2021-0526645c86 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.