RESOLVED FIXED277796
[GTK][WPE][GPUProcess] Assertion failure during initialization
https://bugs.webkit.org/show_bug.cgi?id=277796
Summary [GTK][WPE][GPUProcess] Assertion failure during initialization
Adrian Perez
Reported 2024-08-08 04:10:12 PDT
To reproduce: % build-webkit --wpe --debug --gpu-process % WPE_BROWSER=minibrowser run-minibrowser --wpe --debug -- \ --features=UseGPUProcessForWebGL --use-wpe-platform-api \ http://webglsamples.org/blob/blob.html ASSERTION FAILED: isMainThread() /app/webkit/Source/WebCore/platform/graphics/gbm/DRMDeviceNode.cpp(67) : struct gbm_device *WebCore::DRMDeviceNode::gbmDevice() const 1 0x76e17cfd3004 WebCore::DRMDeviceNode::gbmDevice() const 2 0x76e17cfd2f50 WebCore::DRMDeviceManager::mainGBMDeviceNode(WebCore::DRMDeviceManager::NodeType) const 3 0x76e17cfc98dc WebCore::GraphicsContextGLGBM::platformInitializeContext() 4 0x76e178a9977a WebCore::GraphicsContextGLANGLE::initialize() 5 0x76e17cfc8f03 WebCore::GraphicsContextGLGBM::create(WebCore::GraphicsContextGLAttributes&&) 6 0x76e174c215e2 WebKit::RemoteGraphicsContextGLGBM::platformWorkQueueInitialize(WebCore::GraphicsContextGLAttributes&&) 7 0x76e174bc8bfc WebKit::RemoteGraphicsContextGL::workQueueInitialize(WebCore::GraphicsContextGLAttributes&&) 8 0x76e174c0eee9 WebKit::RemoteGraphicsContextGL::initialize(WebCore::GraphicsContextGLAttributes&&)::$_0::operator()() 9 0x76e174c0eeb9 WTF::Detail::CallableWrapper<WebKit::RemoteGraphicsContextGL::initialize(WebCore::GraphicsContextGLAttributes&&)::$_0, void>::call() 10 0x76e174b99b57 WTF::Function<void ()>::operator()() const 11 0x76e1751f6f9e IPC::StreamConnectionWorkQueue::processStreams() 12 0x76e1752022c0 IPC::StreamConnectionWorkQueue::startProcessingThread()::$_0::operator()() 13 0x76e175202299 WTF::Detail::CallableWrapper<IPC::StreamConnectionWorkQueue::startProcessingThread()::$_0, void>::call() 14 0x76e174b99b57 WTF::Function<void ()>::operator()() const 15 0x76e178746ca9 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) 16 0x76e1788dbfa5 WTF::wtfThreadEntryPoint(void*) 17 0x76e1689b8e39 start_thread 18 0x76e168a408c4 clone
Attachments
Adrian Perez
Comment 1 2024-08-08 04:12:53 PDT
This is because we need to initialize the gbm_device for the DRMDeviceNode being used in the main thread. There is already a call do DRMDeviceManager::initializeMainDevice(...) inside GPUProcess::initializeGPUProcess(), but that does not initialize the gbm_device for the DRM render node, which then we attempt to lazily initialize from one of the WebGL worker threads.
Adrian Perez
Comment 2 2024-08-08 04:19:53 PDT
EWS
Comment 3 2024-08-08 07:41:31 PDT
Committed 281990@main (1428634a53f4): <https://commits.webkit.org/281990@main> Reviewed commits have been landed. Closing PR #31886 and removing active labels.
Radar WebKit Bug Importer
Comment 4 2024-08-08 07:42:12 PDT
Note You need to log in before you can comment on or make changes to this bug.