Bug 68195 - ASSERTion failure with very large SVG Filter
Summary: ASSERTion failure with very large SVG Filter
Status: RESOLVED DUPLICATE of bug 83317
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Tim Horton
Keywords: InRadar
Depends on:
Blocks: 68469
  Show dependency treegraph
Reported: 2011-09-15 15:14 PDT by Tim Horton
Modified: 2015-04-22 15:23 PDT (History)
5 users (show)

See Also:

test case (230 bytes, image/svg+xml)
2011-09-15 15:14 PDT, Tim Horton
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Horton 2011-09-15 15:14:02 PDT
Created attachment 107555 [details]
test case

For some reason we ASSERT() if a filter is larger than an arbitrary maximum size; this is somewhat annoying, I feel like a web inspector warning or something might be better.

ASSERTION FAILED: isFilterSizeValid(rect)
/Volumes/Data/Shared/src/WebKit/OpenSource/Source/WebCore/platform/graphics/filters/FilterEffect.cpp(123) : PassRefPtr<WTF::ByteArray> WebCore::FilterEffect::asPremultipliedImage(const WebCore::IntRect &)
1   WebCore::FilterEffect::asPremultipliedImage(WebCore::IntRect const&)
2   WebCore::FEDisplacementMap::apply()
3   WebCore::RenderSVGResourceFilter::postApplyResource(WebCore::RenderObject*, WebCore::GraphicsContext*&, unsigned short, WebCore::Path const*)
4   WebCore::SVGRenderSupport::finishRenderSVGContent(WebCore::RenderObject*, WebCore::PaintInfo&, WebCore::GraphicsContext*)
Comment 1 Radar WebKit Bug Importer 2011-09-15 15:14:33 PDT
Comment 2 Dirk Schulze 2011-09-15 22:16:20 PDT
That assertion looks wrong! single filter effects can be bigger than 5000x5000! Just the size of the source   is limited. The growing of effect size can be caused by the needs of single filter effects (e.g. blur needs a bigger image because of the blur radius).
Comment 3 Said Abou-Hallawa 2015-04-22 15:23:44 PDT
A condition was added to FilterEffect::apply() to make early return if the input region is exceptionally large. The fix is in https://bugs.webkit.org/show_bug.cgi?id=83317.

*** This bug has been marked as a duplicate of bug 83317 ***