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: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | bugs-noreply |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Simon Pena
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |