Bug 186031

Summary: [Web Animations] Test webanimations/css-animations.html is crashing
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: AnimationsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, dino, graouts, jonlee, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Carlos Garcia Campos 2018-05-28 02:27:52 PDT
I don't know since when this is crashing because it's not happening in the bots. This is another case of std::optional value being used while it's nullopt. I guess different compiler have different behaviors for that, see also bug #185819 for another example. So, I guess this started to fail when we stopped using the WTF implementation of std::optional. This is very easy to reproduce with the 404 page of github, by moving the focus outside the web view. The problem is that we try to get the current iteration of a declarative animation when the active time is unresolved.

Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No existe el fichero o el directorio.
[Current thread is 1 (Thread 0x7f52348bd9c0 (LWP 16058))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007f52259d5231 in __GI_abort () at abort.c:79
#2  0x00007f52338d80cc in WebCore::DeclarativeAnimation::invalidateDOMEvents(WTF::Seconds) () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#3  0x00007f52338da5e4 in WebCore::DeclarativeAnimation::cancel() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#4  0x00007f52338da618 in WebCore::AnimationTimeline::cancelOrRemoveDeclarativeAnimation(WTF::RefPtr<WebCore::DeclarativeAnimation, WTF::DumbPtrTraits<WebCore::DeclarativeAnimation> >) ()
   from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#5  0x00007f52338dba3d in WebCore::AnimationTimeline::updateCSSAnimationsForElement(WebCore::Element&, WebCore::RenderStyle const&, WebCore::RenderStyle const*) ()
   from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#6  0x00007f52335e1e19 in WebCore::Style::TreeResolver::createAnimatedElementUpdate(std::unique_ptr<WebCore::RenderStyle, std::default_delete<WebCore::RenderStyle> >, WebCore::Element&, WebCore::Style::Change) () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#7  0x00007f52335e5f0b in WebCore::Style::TreeResolver::resolveElement(WebCore::Element&) () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#8  0x00007f52335e858e in WebCore::Style::TreeResolver::resolveComposedTree() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007f52335e920e in WebCore::Style::TreeResolver::resolve() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#10 0x00007f5232ca453e in WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#11 0x00007f5232ca4ba2 in WebCore::Document::updateStyleIfNeeded() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#12 0x00007f5232cd7acb in WebCore::Element::getAnimations() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#13 0x00007f5232562da9 in WebCore::jsElementPrototypeFunctionGetAnimations(JSC::ExecState*) () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#14 0x00007f51dcc33177 in ?? ()
#15 0x00007ffd452ae210 in ?? ()
#16 0x00007f522fb326c5 in llint_entry () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
Backtrace stopped: frame did not save the PC
Comment 1 Carlos Garcia Campos 2018-05-28 02:31:10 PDT
Created attachment 341450 [details]
Patch
Comment 2 WebKit Commit Bot 2018-05-28 03:15:51 PDT
Comment on attachment 341450 [details]
Patch

Clearing flags on attachment: 341450

Committed r232241: <https://trac.webkit.org/changeset/232241>
Comment 3 WebKit Commit Bot 2018-05-28 03:15:52 PDT
All reviewed patches have been landed.  Closing bug.
Comment 4 Radar WebKit Bug Importer 2018-05-28 03:16:52 PDT
<rdar://problem/40595767>