Bug 325941

Summary: [GTK] fast/mediastream/video-mediastream-restricted-invisible-autoplay-user-click.html times out and crashes in Debug
Product: WebKit Reporter: Simon Pena <spena>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: bugs-noreply
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Simon Pena
Reported 2026-10-01 04:18:08 PDT
fast/mediastream/video-mediastream-restricted-invisible-autoplay-user-click.html times out and occasionally crashes on the GTK Debug bot. WPE already expects [ Pass Timeout ] for this test (wpe/TestExpectations, bug 235885, which is RESOLVED WONTFIX). Bot results over the last 40 builds: - GTK x86_64 Debug: 5/40 Timeout, 2/40 Crash (most recent at 322262@main) - GTK x86_64 Release: 1/40 Timeout (at 322145@main) The crash is a null GrContextThreadSafeProxy dereference in Skia, reached from CoordinatedPlatformLayerBufferVideo::createSkiaImageForSinglePlaneGLMemory() on a GStreamer streaming thread. Evidence at 322262@main (GTK x86_64 Debug): -------------------- SIMPLIFIED BACKTRACE -------------------- Core was generated by `/sdk/webkit/WebKitBuild/GTK/Debug/bin/WebKitWebProcess 78 19 --configure-jsc-for-testing'. Program terminated with signal SIGSEGV, Segmentation fault. Crashed thread: queue21:src (PID=268813, LWP/TID=270108) (not main thread) Thread 1 (Thread 0x7f1c96ffd6c0 (LWP 270108)): #0 sk_sp<GrCaps const>::get (this=0xa8) #1 0x00007f1fc8b26a65 in sk_sp<GrCaps const>::operator bool (this=0xa8) #2 0x00007f1fc8b270a5 in GrContextThreadSafeProxy::defaultBackendFormat (this=0x0, skColorType=kRGBA_8888_SkColorType, renderable=skgpu::Renderable::kYes) #3 0x00007f1fc06667cb in WebCore::CoordinatedPlatformLayerBufferVideo::createSkiaImageForSinglePlaneGLMemory (this=0x7f1f9f8c89c0, glMemory=0x7f1cd402d480, mappedFrame=..., threadSafeGrContext=..., origin=WebCore::CoordinatedPlatformLayerBuffer::Origin::TopLeft) #4 0x00007f1fc06663b5 in WebCore::CoordinatedPlatformLayerBufferVideo::createSkiaImageForGLMemory (this=0x7f1f9f8c89c0, glMemory=0x7f1cd402d480, mappedFrame=..., threadSafeGrContext=..., origin=WebCore::CoordinatedPlatformLayerBuffer::Origin::TopLeft) #5 0x00007f1fc06659aa in WebCore::CoordinatedPlatformLayerBufferVideo::createSkiaImageIfNeeded (this=0x7f1f9f8c89c0, threadSafeGrContext=..., gstGLEnabled=true, origin=WebCore::CoordinatedPlatformLayerBuffer::Origin::TopLeft) #6 0x00007f1fc0665723 in WebCore::CoordinatedPlatformLayerBufferVideo::CoordinatedPlatformLayerBufferVideo (this=0x7f1f9f8c89c0, frame=..., size=..., videoDecoderPlatform=std::optional [no contained value], gstGLEnabled=true, origin=WebCore::CoordinatedPlatformLayerBuffer::Origin::TopLeft, rotation=WebCore::CoordinatedPlatformLayerBuffer::Rotation::None, threadSafeGrContext=...) #7 0x00007f1fc0667576 in std::make_unique<WebCore::CoordinatedPlatformLayerBufferVideo> (__args=..., __args=..., __args=std::optional [no contained value], __args=@0x7f1c96ffb287: true, __args=@0x7f1c96ffb267: WebCore::CoordinatedPlatformLayerBuffer::Origin::TopLeft, __args=@0x7f1c96ffb266: WebCore::CoordinatedPlatformLayerBuffer::Rotation::None, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:1084 #8 0x00007f1fc0665639 in WTF::makeUnique<WebCore::CoordinatedPlatformLayerBufferVideo> (args=..., args=..., args=std::optional [no contained value], args=@0x7f1c96ffb287: true, args=@0x7f1c96ffb267: WebCore::CoordinatedPlatformLayerBuffer::Origin::TopLeft, args=@0x7f1c96ffb266: WebCore::CoordinatedPlatformLayerBuffer::Rotation::None, args=...) at WTF/Headers/wtf/StdLibExtras.h:897 #9 0x00007f1fc0665524 in WebCore::CoordinatedPlatformLayerBufferVideo::create (frame=..., videoDecoderPlatform=std::optional [no contained value], gstGLEnabled=true, orientation=..., threadSafeGrContext=...) #10 0x00007f1fc5fb5ca5 in WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor (this=0x7f1f4b06f000, isDuplicateSample=WebCore::MediaPlayerPrivateGStreamer::IsDuplicateSample::No, isInitialBuffer=WebCore::MediaPlayerPrivateGStreamer::IsInitialBuffer::No) #11 0x00007f1fc5fb7644 in WebCore::MediaPlayerPrivateGStreamer::triggerRepaint (this=0x7f1f4b06f000, sample=...) #12 0x00007f1fc5f7c2e0 in operator() (this=0x7f1c96ffb9bf, sink=0x55bb6cb300a0, notifier=0x55bb6cae44c0) #13 0x00007f1fc5f7c0c1 in __invoke (sink=0x55bb6cb300a0, notifier=0x55bb6cae44c0) #14 0x00007f1fadc1b056 in ??? () at /usr/lib/x86_64-linux-gnu/libffi.so.8 ... (Full crash log: https://build.webkit.org/results/GTK-Linux-64-bit-Debug-Tests/322262@main%20(19983)/fast/mediastream/video-mediastream-restricted-invisible-autoplay-user-click-crash-log.txt)
Attachments
Note You need to log in before you can comment on or make changes to this bug.