Bug 78332
Summary: | [Qt] 6 SVG tests assert after r107207 | ||
---|---|---|---|
Product: | WebKit | Reporter: | Csaba Osztrogonác <ossy> |
Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED WORKSFORME | ||
Severity: | Critical | CC: | kkristof, ossy, rhodovan.u-szeged, zherczeg, zimmermann |
Priority: | P1 | Keywords: | Qt, QtTriaged |
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All | ||
Bug Depends on: | 67543 | ||
Bug Blocks: | 78115, 78219, 79668 |
Csaba Osztrogonác
After r107207 the following tests started to assert in debug mode:
svg/custom/mask-child-changes.svg
svg/custom/mask-invalidation.svg
svg/custom/absolute-sized-content-with-resources.xhtml
ASSERTION FAILED: m_transparencyCount > 0
../../../../Source/WebCore/platform/graphics/GraphicsContext.cpp(346) : void WebCore::GraphicsContext::endTransparencyLayer()
Nikos comment on the original bug:
"hm, I guess this only exposes a Qt bug - that's now visible due the changed timing. It's not something I can fix without a Qt build"
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Csaba Osztrogonác
I skipped the to paint the bot green - http://trac.webkit.org/changeset/107378
Please unskip them with the proper fix.
Nikolas Zimmermann
> ASSERTION FAILED: m_transparencyCount > 0
Hmpf, the problem is the m_transparencyCount generalization. Qt maintains a different count "layerCount" returned by isInTransparentLayer(), and it calls endTransparencyLayer too often, compared to all other ports - to support image clipping.
Cairo has similar needs (mask image operation during restore()) but doesn't suffer from the problem - can this be reused instead? I hope Zoltan can have a look.
Nikolas Zimmermann
Bug 67543 is the culprit, leading to the Qt assertion.
Csaba Osztrogonác
Two more asserting test:
svg/dynamic-updates/SVGMaskElement-svgdom-width-prop.html
svg/dynamic-updates/SVGMaskElement-dom-x-attr.html
Csaba Osztrogonác
(In reply to comment #4)
> Two more asserting test:
> svg/dynamic-updates/SVGMaskElement-svgdom-width-prop.html
> svg/dynamic-updates/SVGMaskElement-dom-x-attr.html
And svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html
I skipped them too. I hope once the test coverge will hit 0% and then all tests will pass forever. :)
Kristóf Kosztyó
Committed r117040: <http://trac.webkit.org/changeset/117040>
Kristóf Kosztyó
These don't asserts now, hence I unskipped them in r117040