Bug 210390 - [GTK] imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src.https.html is sometimes crashing
Summary: [GTK] imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediake...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-04-11 12:58 PDT by Diego Pino
Modified: 2023-01-10 07:47 PST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Pino 2020-04-11 12:58:36 PDT
The test started to sporadically crash in:

r259842-r259844]             NOERROR
[r259845-r259846]             UNKNOWN
r259847                       NOERROR
[r259848-r259850]             UNKNOWN
[r259851-r259852]             CRASH (Expected: PASS)
[r259853-r259857]             UNKNOWN
r259858                       NOERROR

See https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r259851%20(13275)/media/encrypted-media/clearKey/clearKey-webm-video-playback-mse-crash-log.txt

Thread 1 (Thread 0x7fba836a89c0 (LWP 10352)):
#0  0x00007fba8f406ff4 in WebCore::MediaPlayer::waitingForKeyChanged() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007fba8bae3155 in WTF::dispatchFunctionsFromMainThread() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#2  0x00007fba8badfd33 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#3  0x00007fba856bd6b8 in g_main_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3182
#4  g_main_context_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3847
#5  0x00007fba856bda78 in g_main_context_iterate () at ../../Source/glib-2.58.1/glib/gmain.c:3920
#6  0x00007fba856bdd62 in g_main_loop_run () at ../../Source/glib-2.58.1/glib/gmain.c:4116
#7  0x00007fba8bae0170 in WTF::RunLoop::run() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#8  0x00007fba8e30e4dd in int WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007fba8517009b in __libc_start_main (main=0x558603a2ac10 <main>, argc=4, argv=0x7fff19333758, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff19333748) at ../csu/libc-start.c:308
#10 0x0000558603a2ac8a in _start ()
Comment 1 Diego Pino 2020-04-15 05:18:29 PDT
Another test with a similar stacktrace:

  streams/clone-array-buffer.html

See: https://ews-build.webkit-uat.org/results/GTK-WK2-Tests-EWS/r396230-493-rerun/streams/clone-array-buffer-crash-log.txt

Thread 1 (Thread 0x7f3791f509c0 (LWP 40591)):
#0  0x00007f379d896bb7 in WebCore::MediaPlayer::waitingForKeyChanged() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007f3799f671f5 in WTF::dispatchFunctionsFromMainThread() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#2  0x00007f3799f63dd3 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#3  0x00007f3793f646b8 in g_main_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3182
#4  g_main_context_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3847
#5  0x00007f3793f64a78 in g_main_context_iterate () at ../../Source/glib-2.58.1/glib/gmain.c:3920
#6  0x00007f3793f64d62 in g_main_loop_run () at ../../Source/glib-2.58.1/glib/gmain.c:4116
#7  0x00007f3799f64210 in WTF::RunLoop::run() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#8  0x00007f379c79b84d in int WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007f3793a1709b in __libc_start_main (main=0x556170c8fc00 <main>, argc=4, argv=0x7ffe0ddd3b68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe0ddd3b58) at ../csu/libc-start.c:308
#10 0x0000556170c8fc7a in _start ()
Comment 2 Diego Pino 2020-04-15 05:30:40 PDT
Another test failure with the same stacktrace:

  storage/domstorage/localstorage/access-storage-after-window-close.html

See: https://ews-build.webkit-uat.org/results/GTK-WK2-Tests-EWS/r396471-625-rerun/storage/domstorage/localstorage/access-storage-after-window-close-crash-log.txt

Stacktrace:

Thread 1 (Thread 0x7efcbea2b9c0 (LWP 33092)):
#0  0x00007efcca3760d4 in WebCore::MediaPlayer::waitingForKeyChanged() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007efcc6a41fa5 in WTF::dispatchFunctionsFromMainThread() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#2  0x00007efcc6a3eb83 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#3  0x00007efcc0a3f6b8 in g_main_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3182
#4  g_main_context_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3847
#5  0x00007efcc0a3fa78 in g_main_context_iterate () at ../../Source/glib-2.58.1/glib/gmain.c:3920
#6  0x00007efcc0a3fd62 in g_main_loop_run () at ../../Source/glib-2.58.1/glib/gmain.c:4116
#7  0x00007efcc6a3efc0 in WTF::RunLoop::run() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#8  0x00007efcc927b36d in int WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007efcc04f209b in __libc_start_main (main=0x559aeffc0c00 <main>, argc=4, argv=0x7ffc399a6618, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc399a6608) at ../csu/libc-start.c:308
#10 0x0000559aeffc0c7a in _start ()
Comment 3 Diego Pino 2020-04-15 05:40:41 PDT
Two other test failures with similar stacktrace:

  storage/domstorage/sessionstorage/blocked-file-access.html
  storage/websql/change-version-handle-reuse.html

See: https://ews-build.webkit-uat.org/results/GTK-WK2-Tests-EWS/r396444-608/storage/domstorage/sessionstorage/blocked-file-access-crash-log.txt

Thread 1 (Thread 0x7f35ece399c0 (LWP 8427)):
#0  0x00007f35f8783637 in WebCore::MediaPlayer::waitingForKeyChanged() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007f35f4e4ffa5 in WTF::dispatchFunctionsFromMainThread() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#2  0x00007f35f4e4cb83 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#3  0x00007f35eee4d6b8 in g_main_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3182
#4  g_main_context_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3847
#5  0x00007f35eee4da78 in g_main_context_iterate () at ../../Source/glib-2.58.1/glib/gmain.c:3920
#6  0x00007f35eee4dd62 in g_main_loop_run () at ../../Source/glib-2.58.1/glib/gmain.c:4116
#7  0x00007f35f4e4cfc0 in WTF::RunLoop::run() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#8  0x00007f35f7688a2d in int WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007f35ee90009b in __libc_start_main (main=0x5627167f1c00 <main>, argc=4, argv=0x7ffde47dd508, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffde47dd4f8) at ../csu/libc-start.c:308
#10 0x00005627167f1c7a in _start ()


See: https://ews-build.webkit-uat.org/results/GTK-WK2-Tests-EWS/r396362-568/storage/websql/change-version-handle-reuse-crash-log.txt

Stacktrace:

Thread 1 (Thread 0x7f02ad04a9c0 (LWP 87226)):
#0  0x0000000000000000 in ?? ()
#1  0x00007f02b5060fa5 in WTF::dispatchFunctionsFromMainThread() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#2  0x00007f02b505db83 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#3  0x00007f02af05e6b8 in g_main_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3182
#4  g_main_context_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3847
#5  0x00007f02af05ea78 in g_main_context_iterate () at ../../Source/glib-2.58.1/glib/gmain.c:3920
#6  0x00007f02af05ed62 in g_main_loop_run () at ../../Source/glib-2.58.1/glib/gmain.c:4116
#7  0x00007f02b505dfc0 in WTF::RunLoop::run() () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#8  0x00007f02b78969dd in int WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) () from /home/ews/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007f02aeb1109b in __libc_start_main (main=0x561d725acc00 <main>, argc=4, argv=0x7ffc21416de8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc21416dd8) at ../csu/libc-start.c:308
#10 0x0000561d725acc7a in _start ()

In the case of change-version-handle-reuse.html, the name of the crashing function could not be resolved. There's a chance it was not WebCore::MediaPlayer::waitingForKeyChanged().
Comment 4 Diego Pino 2020-04-15 05:51:34 PDT
More tests with the same stacktrace:

  svg/animated-svgImage-scroll.html
  svg/animations/accumulate-values-width-animation.html
  svg/W3C-I18N/g-dirLTR-ubNone.svg

https://ews-build.webkit-uat.org/results/GTK-WK2-Tests-EWS/r396449-611/svg/animated-svgImage-scroll-crash-log.txt

https://ews-build.webkit-uat.org/results/GTK-WK2-Tests-EWS/r396463-621/svg/animations/accumulate-values-width-animation-crash-log.txt

https://ews-build.webkit-uat.org/results/GTK-WK2-Tests-EWS/r396191-478/svg/W3C-I18N/g-dirLTR-ubNone-crash-log.txt

Thread 1 (Thread 0x7efef5ada9c0 (LWP 50266)):
#0  0x00007eff01469d67 in WebCore::MediaPlayer::waitingForKeyChanged() () from /home/ews-gtk/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007efefdb20acd in WTF::dispatchFunctionsFromMainThread() () from /home/ews-gtk/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#2  0x00007efefdb1d2e3 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () from /home/ews-gtk/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#3  0x00007efef7aee6b8 in g_main_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3182
#4  g_main_context_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3847
#5  0x00007efef7aeea78 in g_main_context_iterate () at ../../Source/glib-2.58.1/glib/gmain.c:3920
#6  0x00007efef7aeed62 in g_main_loop_run () at ../../Source/glib-2.58.1/glib/gmain.c:4116
#7  0x00007efefdb1d6e8 in WTF::RunLoop::run() () from /home/ews-gtk/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#8  0x00007eff00348255 in WebKit::WebProcessMain(int, char**) () from /home/ews-gtk/worker/GTK-Build-EWS/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007efef75a109b in __libc_start_main (main=0x561f5908ec00 <main>, argc=4, argv=0x7fffb0474b98, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb0474b88) at ../csu/libc-start.c:308
#10 0x0000561f5908ec7a in _start ()
Comment 5 Diego Pino 2020-06-08 21:47:41 PDT
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src.https.html [ Crash ]

Crash-log: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r262751%20(14006)/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src.https-crash-log.txt

Thread 1 (Thread 0x7fcec0d822c0 (LWP 71215)):
#0  0x00007fcecb62f9b7 in WebCore::MediaPlayer::waitingForKeyChanged() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007fcec748f375 in WTF::dispatchFunctionsFromMainThread() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#2  0x00007fcec748bef4 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#3  0x00007fcec2fc2c3e in g_main_dispatch (context=0x558c08736440) at ../glib/gmain.c:3309
#4  0x00007fcec2fc2c3e in g_main_context_dispatch (context=context@entry=0x558c08736440) at ../glib/gmain.c:3974
#5  0x00007fcec2fc2ff0 in g_main_context_iterate (context=0x558c08736440, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047
#6  0x00007fcec2fc32e3 in g_main_loop_run (loop=0x558c08763d80) at ../glib/gmain.c:4241
#7  0x00007fcec748c330 in WTF::RunLoop::run() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#8  0x00007fceca0ac01f in WebKit::WebProcessMain(int, char**) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007fcec1bf6183 in __libc_start_main (main=0x558c068b3c00 <main>, argc=4, argv=0x7ffcb110b5a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcb110b598) at ../csu/libc-start.c:308
#10 0x0000558c068b3c8e in _start () at ../sysdeps/x86_64/start.S:120
Comment 6 Xabier Rodríguez Calvar 2020-11-25 08:04:59 PST
This is clearly a problem of the test not being properly tear down because it does not make sense to see waitingForKey in a test that is absolutely not related to EME.
Comment 7 Xabier Rodríguez Calvar 2021-03-23 09:27:40 PDT
I am not seeing this crash anymore. Should we unflag this?
Comment 8 Xabier Rodríguez Calvar 2021-03-26 08:44:57 PDT
The test reported by this bug works and there are other two tests handled by this bug. One works and the other does not so I am renaming the bug for the one that flakily crashes and unflag the two others.
Comment 9 Diego Pino 2023-01-10 07:44:09 PST
The test or tests filed under this bug are not failing anymore. Test expectations updated in https://commits.webkit.org/258724@main.
Comment 10 Radar WebKit Bug Importer 2023-01-10 07:47:33 PST
<rdar://problem/104077422>