Bug 185005 - [WPE][EME] Crashes on different eme-related layout tests for WPE Debug build
Summary: [WPE][EME] Crashes on different eme-related layout tests for WPE Debug build
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WPE WebKit (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 158836
  Show dependency treegraph
 
Reported: 2018-04-25 16:05 PDT by Carlos Alberto Lopez Perez
Modified: 2018-10-15 02:19 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Alberto Lopez Perez 2018-04-25 16:05:32 PDT
We just added a Debug tester for WPE and it is aborting early due to many crashes on EME related tests.

  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-different-mediakeys.https.html [ Crash ]
  imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key.https.html [ Crash ]
  imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/dir.html [ Crash ]
  media/encrypted-media/clearKey/clearKey-cenc-audio-playback-mse.html [ Crash ]
  media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse.html [ Crash ]
  media/encrypted-media/clearKey/clearKey-encrypted-cenc-event-mse.html [ Crash ]
  media/encrypted-media/clearKey/clearKey-message-cenc-event-mse.html [ Crash ]

https://build.webkit.org/results/WPE%20Linux%2064-bit%20Debug%20(Tests)/r231014%20(4)/results.html

Example of crash log:


STDERR: ASSERTION FAILED: WTF::isMainThread()
STDERR: /home/buildbot/wpe/wpe-linux-64-debug/build/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp(429) : void WebCore::AppendPipeline::setAppendState(WebCore::AppendPipeline::AppendState)
STDERR: 1   0x7f0249f324df WTFCrash
STDERR: 2   0x7f0248cbf6e8 WebCore::AppendPipeline::setAppendState(WebCore::AppendPipeline::AppendState)
STDERR: 
STDERR: (WPEWebProcess:53190): GLib-GObject-WARNING **: g_object_set_is_valid_property: object class 'WebKitMediaSrc' has no property named 'current-audio'
STDERR: ASSERTION FAILED: !m_cdmInstance
STDERR: /home/buildbot/wpe/wpe-linux-64-debug/build/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp(1210) : virtual void WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceAttached(WebCore::CDMInstance&)
STDERR: 3   0x7f0248cbeb13 WebCore::AppendPipeline::handleNeedContextSyncMessage(_GstMessage*)
STDERR: 1   0x7f0249f324df WTFCrash
STDERR: 4   0x7f0248cbd971
STDERR: 2   0x7f02489ca178 WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceAttached(WebCore::CDMInstance&)
STDERR: 5   0x7f0235b699fe ffi_call_unix64
STDERR: 3   0x7f0248123929 WebCore::MediaPlayer::cdmInstanceAttached(WebCore::CDMInstance&)
STDERR: 6   0x7f0235b6868d ffi_call
STDERR: 4   0x7f0247a85dad WebCore::HTMLMediaElement::mediaEngineWasUpdated()
STDERR: 7   0x7f0239272f58 g_cclosure_marshal_generic
STDERR: 5   0x7f0247a78fe6 WebCore::HTMLMediaElement::pendingActionTimerFired()
STDERR: 8   0x7f0239272745 g_closure_invoke
STDERR: 6   0x7f0247abdb70 void std::__invoke_impl<void, void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&>(std::__invoke_memfun_deref, void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&)
STDERR: 9   0x7f02392845c2
STDERR: 7   0x7f0247abda95 std::result_of<void (WebCore::HTMLMediaElement::* const&(WebCore::HTMLMediaElement*&))()>::type std::__invoke<void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&>(void (WebCore::HTMLMediaElement::* const&)(), WebCore::HTMLMediaElement*&)
STDERR: 10  0x7f023928d161 g_signal_emit_valist
STDERR: 11  0x7f023928d572 g_signal_emit
STDERR: 8   0x7f0247abd9ec decltype (__invoke((*this)._M_pmf, (forward<WebCore::HTMLMediaElement*&>)({parm#1}))) std::_Mem_fn_base<void (WebCore::HTMLMediaElement::*)(), true>::operator()<WebCore::HTMLMediaElement*&>(WebCore::HTMLMediaElement*&) const
STDERR: 12  0x7f023a55f98a gst_bus_sync_signal_handler
STDERR: 13  0x7f023a55fc4c gst_bus_post
STDERR: 14  0x7f023a574c38
STDERR: 15  0x7f023a551e3d
STDERR: 16  0x7f023a577973 gst_element_post_message
STDERR: 17  0x7f023a552169
STDERR: 18  0x7f023a59cd1c
STDERR: 19  0x7f023a54fa78
STDERR: 20  0x7f023a55fc23 gst_bus_post
STDERR: 21  0x7f023a574c38
STDERR: 22  0x7f023a577973 gst_element_post_message
STDERR: 23  0x7f01d8799c5c
STDERR: 24  0x7f01d879b65d
STDERR: 25  0x7f01d87b83c8
STDERR: 9   0x7f0247abd7b4 void std::_Bind<std::_Mem_fn<void (WebCore::HTMLMediaElement::*)()> (WebCore::HTMLMediaElement*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>)
STDERR: 26  0x7f023a5904b6
STDERR: 27  0x7f023a5986a2 gst_pad_push
STDERR: 28  0x7f023a687c25
STDERR: 29  0x7f023a5c3371
STDERR: 30  0x7f02391be53e
STDERR: 31  0x7f02391bdb65
STDERR: LEAK: 1 WebPageProxy
Comment 1 Carlos Alberto Lopez Perez 2018-04-25 16:14:23 PDT
Marked affected tests in https://trac.webkit.org/changeset/231030
Comment 2 Yacine Bandou 2018-05-03 17:39:10 PDT
Once the decryptor moved from AppendPipeline to Playbackpipeline and patches 185242 and 185244 will be fixed, these tests will no longer crash and some one will pass.
see 185277
Comment 3 Charlie Turner 2018-10-15 02:19:22 PDT
(In reply to Yacine Bandou from comment #2)
> Once the decryptor moved from AppendPipeline to Playbackpipeline and patches
> 185242 and 185244 will be fixed, these tests will no longer crash and some
> one will pass.
> see 185277

This move has happened, those patches have landed, and there's no longer and crashes from a local run here. Closing!