Bug 138054

Summary: ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: CSSAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED FIXED    
Severity: Normal CC: buildbot, commit-queue, esprehn+autocc, glenn, kondapallykalyan, rniwa, zalan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
calculated css wordSpacing
none
Patch
none
Patch none

Description Said Abou-Hallawa 2014-10-24 12:43:59 PDT
Created attachment 240426 [details]
calculated css wordSpacing

Open the attached test file.

Result: ASSERTION NOT REACHED with the following call-stack:

#1	0x000000011a1ea347 in WebCore::RenderStyle::setWordSpacing(WebCore::Length) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/rendering/style/RenderStyle.cpp:1385
#2	0x0000000118d1685e in WebCore::LengthPropertyWrapper<WebCore::Length>::blend(WebCore::AnimationBase const*, WebCore::RenderStyle*, WebCore::RenderStyle const*, WebCore::RenderStyle const*, double) const at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/CSSPropertyAnimation.cpp:456
#3	0x0000000118d083ac in WebCore::CSSPropertyAnimation::blendProperties(WebCore::AnimationBase const*, WebCore::CSSPropertyID, WebCore::RenderStyle*, WebCore::RenderStyle const*, WebCore::RenderStyle const*, double) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1366
#4	0x0000000119ceced1 in WebCore::KeyframeAnimation::animate(WebCore::CompositeAnimation*, WebCore::RenderElement*, WebCore::RenderStyle const*, WebCore::RenderStyle*, WTF::RefPtr<WebCore::RenderStyle>&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/KeyframeAnimation.cpp:167
#5	0x0000000118b4e518 in WebCore::CompositeAnimation::animate(WebCore::RenderElement&, WebCore::RenderStyle*, WebCore::RenderStyle&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/CompositeAnimation.cpp:322
#6	0x000000011894d85a in WebCore::AnimationController::updateAnimations(WebCore::RenderElement&, WTF::PassRef<WebCore::RenderStyle>) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/AnimationController.cpp:519
#7	0x000000011a5d2ac1 in WebCore::RenderElement::setAnimatableStyle(WTF::PassRef<WebCore::RenderStyle>) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/rendering/RenderElement.h:254
#8	0x000000011a5cf96f in WebCore::Style::resolveLocal(WebCore::Element&, WebCore::RenderStyle&, WebCore::Style::RenderTreePosition&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:767
#9	0x000000011a5cd1dd in WebCore::Style::resolveTree(WebCore::Element&, WebCore::RenderStyle&, WebCore::Style::RenderTreePosition&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:921
#10	0x000000011a5cd43b in WebCore::Style::resolveTree(WebCore::Element&, WebCore::RenderStyle&, WebCore::Style::RenderTreePosition&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:958
#11	0x000000011a5cd43b in WebCore::Style::resolveTree(WebCore::Element&, WebCore::RenderStyle&, WebCore::Style::RenderTreePosition&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:958
#12	0x000000011a5cd098 in WebCore::Style::resolveTree(WebCore::Document&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:1000
#13	0x0000000118e5cb96 in WebCore::Document::recalcStyle(WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Document.cpp:1798
#14	0x0000000118e58d6f in WebCore::Document::updateStyleIfNeeded() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Document.cpp:1843
#15	0x000000011894bd61 in WebCore::AnimationControllerPrivate::updateAnimations(WebCore::SetChanged) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/AnimationController.cpp:118
#16	0x000000011894beaf in WebCore::AnimationControllerPrivate::updateAnimationTimer(WebCore::SetChanged) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/AnimationController.cpp:139
#17	0x000000011894b7bd in WebCore::AnimationControllerPrivate::animationTimerFired(WebCore::Timer<WebCore::AnimationControllerPrivate>&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/AnimationController.cpp:236
#18	0x0000000118958547 in decltype(*(std::__1::forward<WebCore::AnimationControllerPrivate*&>(fp0)).*fp(std::__1::forward<WebCore::Timer<WebCore::AnimationControllerPrivate>&>(fp1))) std::__1::__invoke<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, WebCore::Timer<WebCore::AnimationControllerPrivate>&, void>(void (WebCore::AnimationControllerPrivate::*&&&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&&&, WebCore::Timer<WebCore::AnimationControllerPrivate>&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/__functional_base:380
#19	0x00000001189584b5 in std::__1::__bind_return<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::tuple<>, _is_valid_bind_return<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, 0ul, 1ul, std::__1::tuple<> >(void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >&, std::__1::__tuple_indices<0ul, 1ul>, std::__1::tuple<>&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/functional:2022
#20	0x0000000118958447 in std::__1::__bind_return<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::tuple<>, _is_valid_bind_return<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::tuple<> >::value>::type std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >::operator()<>() [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/functional:2085
#21	0x000000011895841c in decltype(std::__1::forward<std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >&>(fp)(std::__1::forward<>(fp0))) std::__1::__invoke<std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >&>(std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/__functional_base:413
#22	0x000000011895841c in std::__1::__function::__func<std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::allocator<std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > > >, void ()>::operator()() at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/functional:1370
#23	0x000000011891e68a in std::__1::function<void ()>::operator()() const at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/functional:1755
#24	0x0000000118956fac in WebCore::Timer<WebCore::AnimationControllerPrivate>::fired() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/Timer.h:133
#25	0x000000011a7c5cdc in WebCore::ThreadTimers::sharedTimerFiredInternal() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/ThreadTimers.cpp:132
#26	0x000000011a7c5999 in WebCore::ThreadTimers::sharedTimerFired() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/ThreadTimers.cpp:107
#27	0x000000011a48aeff in WebCore::timerFired(__CFRunLoopTimer*, void*) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/mac/SharedTimerMac.mm:124
Comment 1 Said Abou-Hallawa 2014-10-24 15:49:28 PDT
Created attachment 240442 [details]
Patch
Comment 2 zalan 2014-10-24 15:56:47 PDT
Comment on attachment 240442 [details]
Patch

Make sure you update the patch before committing so that it compiles.
Comment 3 Said Abou-Hallawa 2014-10-29 14:39:10 PDT
Created attachment 240628 [details]
Patch
Comment 4 WebKit Commit Bot 2014-10-29 20:27:20 PDT
Comment on attachment 240628 [details]
Patch

Clearing flags on attachment: 240628

Committed r175363: <http://trac.webkit.org/changeset/175363>
Comment 5 WebKit Commit Bot 2014-10-29 20:27:23 PDT
All reviewed patches have been landed.  Closing bug.