Bug 188162 - REGRESSION(r232795): [GStreamer] Too-eager ASSERT in MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture()
Summary: REGRESSION(r232795): [GStreamer] Too-eager ASSERT in MediaPlayerPrivateGStrea...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ms2ger (he/him; ⌚ UTC+1/+2)
URL:
Keywords: InRadar, LayoutTestFailure
Depends on:
Blocks:
 
Reported: 2018-07-30 04:09 PDT by Zan Dobersek
Modified: 2018-08-05 03:13 PDT (History)
8 users (show)

See Also:


Attachments
Patch (2.26 KB, patch)
2018-08-03 08:01 PDT, Ms2ger (he/him; ⌚ UTC+1/+2)
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews205 for win-future (13.03 MB, application/zip)
2018-08-03 16:59 PDT, EWS Watchlist
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zan Dobersek 2018-07-30 04:09:04 PDT
The following two tests crash in MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture() while asserting on a zero-ID texture:

- fast/canvas/webgl/texImage2D-video-flipY-false.html
- fast/canvas/webgl/texImage2D-video-flipY-true.html

The GstVideoFrameHolder constructor returns early for some reason, never mapping the video frame and retrieving the texture ID.

Backtrace:

STDERR: ASSERTION FAILED: textureID
STDERR: /home/buildbot/wpe/wpe-linux-64-debug/build/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp(941) : virtual bool WebCore::MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture(WebCore::GraphicsContext3D*, Platform3DObject, GC3Denum, GC3Dint, GC3Denum, GC3Denum, GC3Denum, bool, bool)
STDERR: 1   0x7f2534edf975 WTFCrash
STDERR: 2   0x7f25338dd20d WebCore::MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture(WebCore::GraphicsContext3D*, unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int, bool, bool)
STDERR: 3   0x7f2532fd88ea WebCore::MediaPlayer::copyVideoTextureToPlatformTexture(WebCore::GraphicsContext3D*, unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int, bool, bool)
STDERR: 4   0x7f25329a8cdb WebCore::HTMLVideoElement::copyVideoTextureToPlatformTexture(WebCore::GraphicsContext3D*, unsigned int, unsigned int, int, unsigned int, unsigned int, unsigned int, bool, bool)
STDERR: 5   0x7f2533852ec0
STDERR: 6   0x7f253385af2b
STDERR: 7   0x7f253385312f
STDERR: 8   0x7f2533853388 WebCore::WebGLRenderingContextBase::texImage2D(unsigned int, int, unsigned int, unsigned int, unsigned int, std::optional<WTF::Variant<WTF::RefPtr<WebCore::ImageData, WTF::DumbPtrTraits<WebCore::ImageData> >, WTF::RefPtr<WebCore::HTMLImageElement, WTF::DumbPtrTraits<WebCore::HTMLImageElement> >, WTF::RefPtr<WebCore::HTMLCanvasElement, WTF::DumbPtrTraits<WebCore::HTMLCanvasElement> >, WTF::RefPtr<WebCore::HTMLVideoElement, WTF::DumbPtrTraits<WebCore::HTMLVideoElement> > > >)
STDERR: 9   0x7f2531d28404
STDERR: 10  0x7f2531d284e1
STDERR: 11  0x7f2531d41e74
STDERR: 12  0x7f2531d28587 WebCore::jsWebGLRenderingContextPrototypeFunctionTexImage2D(JSC::ExecState*)
STDERR: 13  0x7f24dc5ff177
STDERR: LEAK: 1 WebPageProxy
Comment 1 Ms2ger (he/him; ⌚ UTC+1/+2) 2018-08-03 08:01:37 PDT
Created attachment 346485 [details]
Patch
Comment 2 EWS Watchlist 2018-08-03 16:59:38 PDT
Comment on attachment 346485 [details]
Patch

Attachment 346485 [details] did not pass win-ews (win):
Output: https://webkit-queues.webkit.org/results/8755825

New failing tests:
imported/blink/transitions/unprefixed-transform.html
legacy-animation-engine/imported/blink/transitions/unprefixed-transform.html
Comment 3 EWS Watchlist 2018-08-03 16:59:49 PDT
Created attachment 346564 [details]
Archive of layout-test-results from ews205 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews205  Port: win-future  Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Comment 4 Michael Catanzaro 2018-08-04 14:46:15 PDT
Comment on attachment 346485 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=346485&action=review

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:942
> -    ASSERT(textureID);
>      if (!textureID)
>          return false;

Phil, what were you going for here? Of course you have to assume textureID is not zero after the ASSERT.
Comment 5 WebKit Commit Bot 2018-08-05 03:10:17 PDT
Comment on attachment 346485 [details]
Patch

Clearing flags on attachment: 346485

Committed r234583: <https://trac.webkit.org/changeset/234583>
Comment 6 WebKit Commit Bot 2018-08-05 03:10:18 PDT
All reviewed patches have been landed.  Closing bug.
Comment 7 Radar WebKit Bug Importer 2018-08-05 03:13:27 PDT
<rdar://problem/42943842>