Bug 196518

Summary: REGRESSION (r220717): Assertion fires when animating an SVG rounded corner rect till it collapses
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: SVGAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED FIXED    
Severity: Normal CC: AlexanderMeissner, commit-queue, dino, simon.fraser, thorton, webkit-bug-importer, zimmermann
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=150388
https://bugs.webkit.org/show_bug.cgi?id=175506
Attachments:
Description Flags
test case
none
Patch
none
Patch none

Description Said Abou-Hallawa 2019-04-02 17:15:24 PDT
Created attachment 366556 [details]
test case

Open the attached test case and WebKit will fire this assertion:

ASSERTION FAILED: hasPath()
rendering/svg/RenderSVGShape.cpp(94) : virtual bool WebCore::RenderSVGShape::isEmpty() const
1   0x11f9ab139 WTFCrash
2   0x10e9c2cfb WTFCrashWithInfo(int, char const*, char const*, int)
3   0x1123e5a4b WebCore::RenderSVGShape::isEmpty() const
4   0x1123af24d WebCore::RenderSVGRect::isEmpty() const
5   0x1123e70cb WebCore::RenderSVGShape::paint(WebCore::PaintInfo&, WebCore::LayoutPoint const&)
6   0x1123e3ccd WebCore::RenderSVGRoot::paintReplaced(WebCore::PaintInfo&, WebCore::LayoutPoint const&)
7   0x1121f8608 WebCore::RenderReplaced::paint(WebCore::PaintInfo&, WebCore::LayoutPoint const&)
8   0x11214c577 WebCore::RenderLayer::paintForegroundForFragmentsWithPhase(WebCore::PaintPhase, WTF::Vector<WebCore::LayerFragment, 1ul, WTF::CrashOnOverflow, 16ul> const&, WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::PaintBehavior>, WebCore::RenderObject*)
9   0x11214a0b7 WebCore::RenderLayer::paintForegroundForFragments(WTF::Vector<WebCore::LayerFragment, 1ul, WTF::CrashOnOverflow, 16ul> const&, WebCore::GraphicsContext&, WebCore::GraphicsContext&, WebCore::LayoutRect const&, bool, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::PaintBehavior>, WebCore::RenderObject*)
10  0x112145a70 WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>)
11  0x112144c9e WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>)
12  0x1121432c7 WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>)
13  0x112149ae7 WebCore::RenderLayer::paintList(WebCore::RenderLayer::LayerList, WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>)
14  0x112145b7c WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>)
15  0x112166293 WebCore::RenderLayerBacking::paintIntoLayer(WebCore::GraphicsLayer const*, WebCore::GraphicsContext&, WebCore::IntRect const&, WTF::OptionSet<WebCore::PaintBehavior>, unsigned char)
16  0x11216683f WebCore::RenderLayerBacking::paintContents(WebCore::GraphicsLayer const*, WebCore::GraphicsContext&, unsigned char, WebCore::FloatRect const&, unsigned int)
17  0x111bfb2c6 WebCore::GraphicsLayer::paintGraphicsLayerContents(WebCore::GraphicsContext&, WebCore::FloatRect const&, unsigned int)
18  0x111c7530c WebCore::GraphicsLayerCA::platformCALayerPaintContents(WebCore::PlatformCALayer*, WebCore::GraphicsContext&, WebCore::FloatRect const&, unsigned int)
19  0x10f08af35 WebCore::PlatformCALayer::drawLayerContents(CGContext*, WebCore::PlatformCALayer*, WTF::Vector<WebCore::FloatRect, 5ul, WTF::CrashOnOverflow, 16ul>&, unsigned int)
20  0x111cb2c1e WebCore::TileGrid::platformCALayerPaintContents(WebCore::PlatformCALayer*, WebCore::GraphicsContext&, WebCore::FloatRect const&, unsigned int)
21  0x10f2c56d1 -[WebSimpleLayer drawInContext:]
22  0x7fff4c011aaf CABackingStoreUpdate_
23  0x7fff4c073325 invocation function for block in CA::Layer::display_()
24  0x7fff4c010c90 -[CALayer _display]
25  0x10f2c54bb -[WebSimpleLayer display]
26  0x7fff4c0101bc CA::Layer::display_if_needed(CA::Transaction*)
27  0x7fff4bffe447 CA::Context::commit_transaction(CA::Transaction*)
28  0x7fff4bffdd20 CA::Transaction::commit()
29  0x7fff4bffda2c CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)
30  0x7fff410ba709 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
31  0x7fff410ba63e __CFRunLoopDoObservers
LEAK: 1 WebPageProxy
Comment 1 Said Abou-Hallawa 2019-04-02 18:55:35 PDT
Created attachment 366567 [details]
Patch
Comment 2 Simon Fraser (smfr) 2019-04-03 11:37:17 PDT
Comment on attachment 366567 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=366567&action=review

> LayoutTests/svg/animations/animate-rounded-corner-rect-zero-height.svg:12
> +            }, 50);

Can we make this take less than 50ms?
Comment 3 Said Abou-Hallawa 2019-04-03 17:24:51 PDT
Created attachment 366676 [details]
Patch
Comment 4 WebKit Commit Bot 2019-04-03 19:09:55 PDT
Comment on attachment 366676 [details]
Patch

Clearing flags on attachment: 366676

Committed r243845: <https://trac.webkit.org/changeset/243845>
Comment 5 WebKit Commit Bot 2019-04-03 19:09:57 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2019-04-03 19:21:35 PDT
<rdar://problem/49587523>
Comment 7 Said Abou-Hallawa 2019-05-20 18:09:37 PDT
*** Bug 198038 has been marked as a duplicate of this bug. ***