<?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>92774</bug_id>
          
          <creation_ts>2012-07-31 11:09:16 -0700</creation_ts>
          <short_desc>Crash in FrameLoader::checkLoadComplete with non-browser client app</short_desc>
          <delta_ts>2012-08-01 15:37:41 -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>Page Loading</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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>inferno</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>683274</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-07-31 11:09:16 -0700</bug_when>
    <thetext>Seen with a non-browser client app

0   WebCore                       	0x327aaf3c WebCore::FrameLoader::checkLoadComplete() (FrameLoader.cpp:2399)
1   WebCore                       	0x32a6cd30 WebCore::CSSFontSelector::beginLoadTimerFired(WebCore::Timer&lt;WebCore::CSSFontSelector&gt;*) (CSSFontSelector.cpp:619)
2   WebCore                       	0x327e69a6 WebCore::ThreadTimers::sharedTimerFiredInternal() (ThreadTimers.cpp:129)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683276</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-07-31 11:13:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/11956222&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683292</commentid>
    <comment_count>2</comment_count>
      <attachid>155591</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-07-31 11:27:54 -0700</bug_when>
    <thetext>Created attachment 155591
speculative fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683307</commentid>
    <comment_count>3</comment_count>
      <attachid>155591</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-31 11:39:49 -0700</bug_when>
    <thetext>Comment on attachment 155591
speculative fix

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

&gt; Source/WebCore/css/CSSFontSelector.cpp:581
&gt; +    // It is possible load calls could cause CSSFontSelector to get deleted synchronously.

&quot;CSSFontSelector can be deleted via beginLoadIfNeeded() or loadDone() unless protected.&quot; (or better something more specific about how that could happen).

Both &quot;possible&quot; and &quot;could&quot; make this difficult to read.

&gt; Source/WebCore/css/CSSFontSelector.cpp:582
&gt; +    // If detached clearDocument() will get called ensuring m_document is null.

I think that you&apos;re explaining why m_document won&apos;t be a dangling pointer, but that seems excessive. We don&apos;t make such comment every time we use a member variable pointing to some other object, and don&apos;t make it for every variable that has a clearXXX() method. Is there something unusual here that needs to be explained?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683335</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-07-31 11:52:24 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/124229</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684661</commentid>
    <comment_count>5</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-08-01 15:32:11 -0700</bug_when>
    <thetext>*** Bug 91701 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684664</commentid>
    <comment_count>6</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-08-01 15:33:51 -0700</bug_when>
    <thetext>Confirming at the testcase we had at ClusterFuzz got fixed by your AWESOMENESS :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684670</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-01 15:37:41 -0700</bug_when>
    <thetext>Great! Can we have the test case landed then?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155591</attachid>
            <date>2012-07-31 11:27:54 -0700</date>
            <delta_ts>2012-07-31 11:39:49 -0700</delta_ts>
            <desc>speculative fix</desc>
            <filename>checkLoadComplete-crash-speculative.patch</filename>
            <type>text/plain</type>
            <size>1697</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNDIyMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA3LTMxICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBpbiBGcmFtZUxvYWRl
cjo6Y2hlY2tMb2FkQ29tcGxldGUgd2l0aCBub24tYnJvd3NlciBjbGllbnQgYXBwCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc3NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWN1bGF0aXZlIGZpeC4g
SXQgaXMgcG9zc2libGUgdGhhdCBDU1NGb250U2VsZWN0b3IgY291bGQgZ2V0IGRlbGV0ZWQgZHVy
aW5nIHRoZSB0aW1lciBjYWxsYmFjaworICAgICAgICBhbmQgbWVtb3J5IHJldXNlZCwgbWFraW5n
IG1fZG9jdW1lbnQgcG9pbnQgdG8gc29tZSBnYXJiYWdlIHdoZW4gaXQgaXMgdGVzdGVkIGF0IHRo
ZSBlbmQuCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkVGltZXJGaXJlZCk6CisKIDIwMTItMDct
MDcgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
U3RyZWFtZXJdIExpdmUgc3RyZWFtIHN1cHBvcnQgaXMgd2VhawpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDEyMjQ0NikKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NzgsNiArNTc4
LDEwIEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmUKICAgICBWZWN0
b3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4gPiBmb250c1RvQmVnaW5Mb2FkaW5n
OwogICAgIGZvbnRzVG9CZWdpbkxvYWRpbmcuc3dhcChtX2ZvbnRzVG9CZWdpbkxvYWRpbmcpOwog
CisgICAgLy8gSXQgaXMgcG9zc2libGUgbG9hZCBjYWxscyBjb3VsZCBjYXVzZSBDU1NGb250U2Vs
ZWN0b3IgdG8gZ2V0IGRlbGV0ZWQgc3luY2hyb25vdXNseS4KKyAgICAvLyBJZiBkZXRhY2hlZCBj
bGVhckRvY3VtZW50KCkgd2lsbCBnZXQgY2FsbGVkIGVuc3VyaW5nIG1fZG9jdW1lbnQgaXMgbnVs
bC4KKyAgICBSZWZQdHI8Q1NTRm9udFNlbGVjdG9yPiBwcm90ZWN0KHRoaXMpOworCiAgICAgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gbV9kb2N1bWVudC0+Y2Fj
aGVkUmVzb3VyY2VMb2FkZXIoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZvbnRzVG9C
ZWdpbkxvYWRpbmcuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgZm9udHNUb0JlZ2luTG9hZGluZ1tp
XS0+YmVnaW5Mb2FkSWZOZWVkZWQoY2FjaGVkUmVzb3VyY2VMb2FkZXIpOwo=
</data>
<flag name="review"
          id="165091"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>