<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>81002</bug_id>
          
          <creation_ts>2012-03-13 09:08:48 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: m_purgePreventCount in FontCache::getCachedFontData running svg/custom/animate-disallowed-use-element.svg</short_desc>
          <delta_ts>2012-04-02 14:24:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, MakingBotsRed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>577406</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-13 09:08:48 -0700</bug_when>
    <thetext>I sometimes see this assertion when using nrwt --tolerance 0 -p svg. Probably a FontCachePurgePreventer call missing somewhere. should be easy to fix.

ASSERTION FAILED: m_purgePreventCount
/Users/nzimmermann/Coding/WebKit/Source/WebCore/platform/graphics/FontCache.cpp(280) : WebCore::SimpleFontData *WebCore::FontCache::getCachedFontData(const WebCore::FontPlatformData *, WebCore::FontCache::ShouldRetain)
1   0x10ec70004 WebCore::FontCache::getCachedFontData(WebCore::FontPlatformData const*, WebCore::FontCache::ShouldRetain)
2   0x10ec80611 WebCore::FontCache::getFontDataForCharacters(WebCore::Font const&amp;, unsigned short const*, int)
3   0x10ec86c3d WebCore::Font::glyphDataAndPageForCharacter(int, bool, WebCore::FontDataVariant) const
4   0x10f9a9dc9 WebCore::SVGTextRunRenderingContext::glyphDataForCharacter(WebCore::Font const&amp;, WebCore::TextRun const&amp;, WebCore::WidthIterator&amp;, int, bool, int, unsigned int&amp;)
5   0x10fe3efe6 WebCore::WidthIterator::glyphDataForCharacter(int, bool, int, unsigned int&amp;)
6   0x10fe3f309 WebCore::WidthIterator::advance(int, WebCore::GlyphBuffer*)
7   0x10f9aaf11 WebCore::SVGTextMetricsBuilder::advanceSimpleText()
8   0x10f9aac9c WebCore::SVGTextMetricsBuilder::advance()
9   0x10f9ab4d7 WebCore::SVGTextMetricsBuilder::measureTextRenderer(WebCore::RenderSVGInlineText*, WebCore::MeasureTextData*)
10  0x10f9ab908 WebCore::SVGTextMetricsBuilder::walkTree(WebCore::RenderObject*, WebCore::RenderSVGInlineText*, WebCore::MeasureTextData*)
11  0x10f9ab952 WebCore::SVGTextMetricsBuilder::walkTree(WebCore::RenderObject*, WebCore::RenderSVGInlineText*, WebCore::MeasureTextData*)
12  0x10f9a476e WebCore::SVGTextMetricsBuilder::measureTextRenderer(WebCore::RenderSVGInlineText*)
13  0x10f99162f WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer(WebCore::RenderSVGInlineText*)
14  0x10f97a87b WebCore::RenderSVGText::rebuildLayoutAttributes(WTF::Vector&lt;WebCore::SVGTextLayoutAttributes*, 0ul&gt;&amp;)
15  0x10f97a5ee WebCore::RenderSVGInlineText::willBeDestroyed()
16  0x10f94150d WebCore::RenderObject::destroy()
17  0x10f9413fd WebCore::RenderObject::destroyAndCleanupAnonymousWrappers()
18  0x10f6f4d14 WebCore::Node::detach()
19  0x10e79a3e7 WebCore::ContainerNode::detachChildren()
20  0x10e797e09 WebCore::ContainerNode::detach()
21  0x10ebe46f2 WebCore::Element::detach()
22  0x10e79a3e7 WebCore::ContainerNode::detachChildren()
23  0x10e797e09 WebCore::ContainerNode::detach()
24  0x10ebe46f2 WebCore::Element::detach()
25  0x10e79a3e7 WebCore::ContainerNode::detachChildren()
26  0x10e797e09 WebCore::ContainerNode::detach()
27  0x10ebe46f2 WebCore::Element::detach()
28  0x10e79a3e7 WebCore::ContainerNode::detachChildren()
29  0x10e797e09 WebCore::ContainerNode::detach()
30  0x10ebe46f2 WebCore::Element::detach()
31  0x10e79a3e7 WebCore::ContainerNode::detachChildren()
Segmentation fault: 11
No leak checking done: At least one WebView is still open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593025</commentid>
    <comment_count>1</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-01 05:47:03 -0700</bug_when>
    <thetext>*** Bug 82815 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593026</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-01 05:50:06 -0700</bug_when>
    <thetext>I&apos;ll try to find a way to make this reproducible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593055</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-01 11:04:38 -0700</bug_when>
    <thetext>This is causing crashes on the debug bots.

I question why all the work is being done under willBeDestroyed() though. Looks like useless work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593056</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-01 11:17:58 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; This is causing crashes on the debug bots.
&gt; 
&gt; I question why all the work is being done under willBeDestroyed() though. Looks like useless work
In case you missed my comment from the other bug report 82815, the work done there is absolutely needed when removing eg. tspan children dynamically from a text subtree - it&apos;s an optimization actually, to avoid rebuilding the whole text tree upon the next layout, if only a child got removed. Part of that logic lives in willBeDestroyed(). I think Tim knows what this is about as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593755</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-04-02 13:29:38 -0700</bug_when>
    <thetext>smfr, from the dupe:

&gt; I think there&apos;s a documentBeingDestroyed that you could consult.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593802</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-04-02 13:55:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/11168969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593821</commentid>
    <comment_count>7</comment_count>
      <attachid>135182</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-04-02 14:06:25 -0700</bug_when>
    <thetext>Created attachment 135182
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593840</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-04-02 14:24:10 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/112942</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135182</attachid>
            <date>2012-04-02 14:06:25 -0700</date>
            <delta_ts>2012-04-02 14:13:27 -0700</delta_ts>
            <desc>patch</desc>
            <filename>81002.diff</filename>
            <type>text/plain</type>
            <size>1657</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNDNlY2Q3YS4uMzIzMzBlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA0LTAyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgor
CisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1fcHVyZ2VQcmV2ZW50Q291bnQgaW4gRm9udENh
Y2hlOjpnZXRDYWNoZWRGb250RGF0YSBydW5uaW5nIHN2Zy9jdXN0b20vYW5pbWF0ZS1kaXNhbGxv
d2VkLXVzZS1lbGVtZW50LnN2ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODEwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMTY4OTY5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvbid0IHNwZW5k
IHRpbWUgcmVidWlsZGluZyBTVkcgdGV4dCBsYXlvdXQgYXR0cmlidXRlcyBpZiB0aGUgZG9jdW1l
bnQgaXMgYmVpbmcgdG9ybiBkb3duLCBhcworICAgICAgICB0aGV5IHdvbid0IGJlIHVzZWQsIGFu
ZCBjYW4gY2F1c2UgYXNzZXJ0aW9uIGZhaWx1cmVzIGluIHRoZSBmb250IGNhY2hlLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgYXMgaXQgZml4ZXMgYW4gaW50ZXJtaXR0ZW50IGFzc2VydGlvbiBm
YWlsdXJlIGR1cmluZyBkb2N1bWVudCBkZXN0cnVjdGlvbi4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdJbmxpbmVUZXh0Ojp3aWxsQmVEZXN0cm95ZWQpOgorCiAyMDEyLTA0LTAyICBCcmFkeSBFaWRz
b24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMjAx
NTU+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5MTAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQu
Y3BwCmluZGV4IGE1NWIwZjAuLjAyOTBiYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcApAQCAtODcsNyArODcsOCBAQCB2
b2lkIFJlbmRlclNWR0lubGluZVRleHQ6OndpbGxCZURlc3Ryb3llZCgpCiAgICAgaWYgKGFmZmVj
dGVkQXR0cmlidXRlcy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHRleHRSZW5k
ZXJlci0+cmVidWlsZExheW91dEF0dHJpYnV0ZXMoYWZmZWN0ZWRBdHRyaWJ1dGVzKTsKKyAgICBp
ZiAoIWRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkKKyAgICAgICAgdGV4dFJlbmRlcmVyLT5yZWJ1
aWxkTGF5b3V0QXR0cmlidXRlcyhhZmZlY3RlZEF0dHJpYnV0ZXMpOwogfQogCiB2b2lkIFJlbmRl
clNWR0lubGluZVRleHQ6OnNldFRleHRJbnRlcm5hbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRl
eHQpCg==
</data>
<flag name="review"
          id="139610"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>