Bug 186753 - [WPE] Animation tests crashing in WebAnimation::runPendingPlayTask(), WebAnimation::runPendingPauseTask() due to valueless std::optional access
Summary: [WPE] Animation tests crashing in WebAnimation::runPendingPlayTask(), WebAnim...
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: Nobody
URL:
Keywords: InRadar, LayoutTestFailure
Depends on: 186189
Blocks:
  Show dependency treegraph
 
Reported: 2018-06-17 23:05 PDT by Zan Dobersek
Modified: 2018-06-26 05:41 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zan Dobersek 2018-06-17 23:05:25 PDT
The following 5 animation-related tests are crashing due to valueless std::optional access:

  animations/multiple-animations-timing-function.html [ Crash ]
  fast/animation/css-animation-resuming-when-visible-with-style-change.html [ Crash ]
  fast/animation/css-animation-resuming-when-visible.html [ Crash ]
  imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html [ Crash ]
  imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/getAnimations.html [ Crash ]

Backtraces:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007fbcb7169231 in __GI_abort () at abort.c:79
#2  0x00007fbcc22fd54a in WebCore::WebAnimation::runPendingPlayTask() () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#3  0x00007fbcc3e68295 in WTF::dispatchFunctionsFromMainThread() () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#4  0x00007fbcc3eb65d3 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#5  0x00007fbcb8570795 in g_main_dispatch (context=0x55f2c7fa6690) at /home/zan/Work/webkit/git/WebKitBuild/DependenciesWPE/Source/glib-2.54.3/glib/gmain.c:3142
#6  g_main_context_dispatch (context=context@entry=0x55f2c7fa6690) at /home/zan/Work/webkit/git/WebKitBuild/DependenciesWPE/Source/glib-2.54.3/glib/gmain.c:3795
#7  0x00007fbcb8570b38 in g_main_context_iterate (context=0x55f2c7fa6690, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /home/zan/Work/webkit/git/WebKitBuild/DependenciesWPE/Source/glib-2.54.3/glib/gmain.c:3868
#8  0x00007fbcb8570e42 in g_main_loop_run (loop=0x55f2c7fa7890) at /home/zan/Work/webkit/git/WebKitBuild/DependenciesWPE/Source/glib-2.54.3/glib/gmain.c:4064
#9  0x00007fbcc3eb69a8 in WTF::RunLoop::run() () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#10 0x00007fbcc1cb0d58 in WebProcessMainUnix () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#11 0x00007fbcb7154a87 in __libc_start_main (main=0x55f2c78ddb80 <main>, argc=4, argv=0x7ffcd29e9ad8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcd29e9ac8)
    at ../csu/libc-start.c:310

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007f501002c231 in __GI_abort () at abort.c:79
#2  0x00007f501b1c0645 in WebCore::WebAnimation::runPendingPauseTask() () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#3  0x00007f501cd2b295 in WTF::dispatchFunctionsFromMainThread() () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#4  0x00007f501cd795d3 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#5  0x00007f5011433795 in g_main_dispatch (context=0x55f999a2f690) at /home/zan/Work/webkit/git/WebKitBuild/DependenciesWPE/Source/glib-2.54.3/glib/gmain.c:3142
#6  g_main_context_dispatch (context=context@entry=0x55f999a2f690) at /home/zan/Work/webkit/git/WebKitBuild/DependenciesWPE/Source/glib-2.54.3/glib/gmain.c:3795
#7  0x00007f5011433b38 in g_main_context_iterate (context=0x55f999a2f690, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /home/zan/Work/webkit/git/WebKitBuild/DependenciesWPE/Source/glib-2.54.3/glib/gmain.c:3868
#8  0x00007f5011433e42 in g_main_loop_run (loop=0x55f999a30890) at /home/zan/Work/webkit/git/WebKitBuild/DependenciesWPE/Source/glib-2.54.3/glib/gmain.c:4064
#9  0x00007f501cd799a8 in WTF::RunLoop::run() () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#10 0x00007f501ab73d58 in WebProcessMainUnix () from /home/zan/Work/webkit/git/WebKitBuild/Release/lib/libWPEWebKit-0.1.so.2
#11 0x00007f5010017a87 in __libc_start_main (main=0x55f997a3eb80 <main>, argc=4, argv=0x7ffd232dd9f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd232dd9e8)
    at ../csu/libc-start.c:310

In both cases return value of AnimationTimeline::currentTime() is not properly handled.
Comment 1 Zan Dobersek 2018-06-26 05:40:46 PDT
Fixed with r233196.
https://trac.webkit.org/changeset/233196/webkit
Comment 2 Radar WebKit Bug Importer 2018-06-26 05:41:22 PDT
<rdar://problem/41467446>