<?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>25136</bug_id>
          
          <creation_ts>2009-04-10 16:16:59 -0700</creation_ts>
          <short_desc>CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame</short_desc>
          <delta_ts>2009-04-21 07:19:51 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>117194</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-10 16:16:59 -0700</bug_when>
    <thetext>CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame

This started appearing as a top-crash in a recent Chrome dev channel build:
http://code.google.com/p/chromium/issues/detail?id=9944

Sample crash stack:

[chrome.dll	 - frameloader.cpp:2670]                 WebCore::FrameLoader::activeDocumentLoader()
[chrome.dll	 - frameloader.cpp:2677]                 WebCore::FrameLoader::isLoading()
[chrome.dll	 - documentloader.cpp:768]               WebCore::DocumentLoader::removeSubresourceLoader(WebCore::ResourceLoader *)
[chrome.dll	 - subresourceloader.cpp:225]	         WebCore::SubresourceLoader::didCancel(WebCore::ResourceError const &amp;)
[chrome.dll	 - resourceloader.cpp:359]	         WebCore::ResourceLoader::cancel(WebCore::ResourceError const &amp;)
[chrome.dll	 - resourceloader.cpp:349]	         WebCore::ResourceLoader::cancel()
[chrome.dll	 - documentthreadableloader.cpp:109]	 WebCore::DocumentThreadableLoader::cancel()
[chrome.dll	 - xmlhttprequest.cpp:709]	         WebCore::XMLHttpRequest::internalAbort()
[chrome.dll	 - xmlhttprequest.cpp:1182]	         WebCore::XMLHttpRequest::stop()
[chrome.dll	 - scriptexecutioncontext.cpp:156]	 WebCore::ScriptExecutionContext::stopActiveDOMObjects()
[chrome.dll	 - document.cpp:1310]	                 WebCore::Document::detach()
[chrome.dll	 - frame.cpp:232]	                 WebCore::Frame::setView(WebCore::FrameView *)
[chrome.dll	 - frameloader.cpp:3434]	         WebCore::FrameLoader::closeAndRemoveChild(WebCore::Frame *)
[chrome.dll	 - frameloader.cpp:3516]	         WebCore::FrameLoader::detachFromParent()
[chrome.dll	 - frameloader.cpp:3426]	         WebCore::FrameLoader::detachChildren()

It appears that this crash is only possible if a ResourceLoader starts after FrameLoader::stopAllLoaders has been called.  I found a way to do that via an XMLHttpRequest onabort handler.  Test case coming up...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117195</commentid>
    <comment_count>1</comment_count>
      <attachid>29406</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-10 16:18:57 -0700</bug_when>
    <thetext>Created attachment 29406
testcase - frame.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117196</commentid>
    <comment_count>2</comment_count>
      <attachid>29407</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-10 16:19:57 -0700</bug_when>
    <thetext>Created attachment 29407
testcase - careful, this may crash your browser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117208</commentid>
    <comment_count>3</comment_count>
      <attachid>29412</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-10 17:09:10 -0700</bug_when>
    <thetext>Created attachment 29412
patch v1 - simplistic null check

This is a very simple minded solution to the crash.  Other parts of DocumentLoader are fairly careful to null test m_frame before using it, and indeed removeSubresourceLoader null checks m_frame before using it (except in the case here where it calls updateLoading).

I have been struggling to get a good layout test for this.  For some reason my layout test appears to be rather flakey so I don&apos;t want to submit it just yet.  I&apos;ll keep working on it.  I just wanted to share this patch for feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117211</commentid>
    <comment_count>4</comment_count>
      <attachid>29412</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-04-10 17:12:39 -0700</bug_when>
    <thetext>Comment on attachment 29412
patch v1 - simplistic null check

r=me

If you can figure out how to do a regression test, that would be a great addition. Also, it&apos;s much better when there are per-function comments, even for a simple function like this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117212</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-04-10 17:13:55 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Also, it&apos;s much better when there are per-function comments, even for
&gt; a simple function like this one.

Per-function comment in the ChangeLog I mean.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117222</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-10 19:29:08 -0700</bug_when>
    <thetext>&gt; Per-function comment in the ChangeLog I mean.

Will do.  I think I figured out how to write a stable test :)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117310</commentid>
    <comment_count>7</comment_count>
      <attachid>29429</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-13 10:35:47 -0700</bug_when>
    <thetext>Created attachment 29429
patch v1 + layout test

This is the same patch as before but now with a layout test.  The test requires subframes, so there are a couple resource files included.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117311</commentid>
    <comment_count>8</comment_count>
      <attachid>29430</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-13 10:37:49 -0700</bug_when>
    <thetext>Created attachment 29430
patch v1 + layout test

Take 2.  This time with commented out code snippets removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117312</commentid>
    <comment_count>9</comment_count>
      <attachid>29430</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-04-13 10:40:21 -0700</bug_when>
    <thetext>Comment on attachment 29430
patch v1 + layout test

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117313</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-13 10:48:25 -0700</bug_when>
    <thetext>Landed as:  http://trac.webkit.org/changeset/42442</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118260</commentid>
    <comment_count>11</comment_count>
    <who name="David Harrison">harrison</who>
    <bug_when>2009-04-21 07:19:51 -0700</bug_when>
    <thetext>fwiw this is also rdar://6748719</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>29406</attachid>
            <date>2009-04-10 16:18:57 -0700</date>
            <delta_ts>2009-04-10 16:18:57 -0700</delta_ts>
            <desc>testcase - frame.html</desc>
            <filename>frame.html</filename>
            <type>text/html</type>
            <size>215</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KdmFyIHJlcXVlc3RzID0gW107CmZ1bmN0aW9uIHN0YXJ0KCkgewogIHZhciB4ID0g
bmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgeC5vcGVuKCJHRVQiLCBsb2NhdGlvbiwgdHJ1ZSk7CiAg
eC5vbmFib3J0ID0gc3RhcnQ7CiAgeC5zZW5kKG51bGwpOwogIHJlcXVlc3RzLnB1c2goeCk7Cn0K
PC9zY3JpcHQ+Cjxib2R5IG9udW5sb2FkPSJzdGFydCgpIj4KPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>29407</attachid>
            <date>2009-04-10 16:19:57 -0700</date>
            <delta_ts>2009-04-10 16:19:57 -0700</delta_ts>
            <desc>testcase - careful, this may crash your browser</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>89</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">PGJvZHkgb25sb2FkPSJsb2NhdGlvbj0nYWJvdXQ6YmxhbmsnIj4KICA8aWZyYW1lIHNyYz0iL2F0
dGFjaG1lbnQuY2dpP2lkPTI5NDA2Ij4KPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29412</attachid>
            <date>2009-04-10 17:09:10 -0700</date>
            <delta_ts>2009-04-13 10:35:47 -0700</delta_ts>
            <desc>patch v1 - simplistic null check</desc>
            <filename>crash_fix_1.txt</filename>
            <type>text/plain</type>
            <size>1037</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQyNDEy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDQt
MTAgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjUxMzYKKyAgICAgICAgQ1JBU0ggaW4gRG9jdW1lbnRMb2FkZXI6OnJl
bW92ZVN1YnJlc291cmNlTG9hZGVyIGR1ZSB0byBudWxsIG1fZnJhbWUKKworICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRl
cjo6dXBkYXRlTG9hZGluZyk6CisKIDIwMDktMDQtMTAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KSW5kZXg6IGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmNwcAkocmV2aXNpb24gNDI0MDgpCisrKyBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MDUsNiArNDA1LDEwIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnNldHVw
Rm9yUmVwbGFjZUJ5TUkKIAogdm9pZCBEb2N1bWVudExvYWRlcjo6dXBkYXRlTG9hZGluZygpCiB7
CisgICAgaWYgKCFtX2ZyYW1lKSB7CisgICAgICAgIHNldExvYWRpbmcoZmFsc2UpOworICAgICAg
ICByZXR1cm47CisgICAgfQogICAgIEFTU0VSVCh0aGlzID09IGZyYW1lTG9hZGVyKCktPmFjdGl2
ZURvY3VtZW50TG9hZGVyKCkpOwogICAgIHNldExvYWRpbmcoZnJhbWVMb2FkZXIoKS0+aXNMb2Fk
aW5nKCkpOwogfQo=
</data>
<flag name="review"
          id="14630"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29429</attachid>
            <date>2009-04-13 10:35:47 -0700</date>
            <delta_ts>2009-04-13 10:37:49 -0700</delta_ts>
            <desc>patch v1 + layout test</desc>
            <filename>crash_2.txt</filename>
            <type>text/plain</type>
            <size>5601</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjQ0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDQtMTMgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjUxMzYKKyAgICAgICAgQ1JB
U0ggaW4gRG9jdW1lbnRMb2FkZXI6OnJlbW92ZVN1YnJlc291cmNlTG9hZGVyIGR1ZSB0byBudWxs
IG1fZnJhbWUKKworICAgICAgICBUZXN0OiBmYXN0L2ZyYW1lcy9mcmFtZS11bmxvYWQtY3Jhc2gu
aHRtbAorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKTogQWRkZWQgbnVsbCBjaGVjayBv
ZiBtX2ZyYW1lLgorCiAyMDA5LTA0LTEzICBHcmVnIEJvbHNpbmdhICA8Ym9sc2luZ2FAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCBHVEsgYnVpbGQgYnJlYWsuCkluZGV4OiBXZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwCShyZXZpc2lvbiA0MjQzNikKKysrIFdlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA1LDYgKzQwNSwxMCBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpzZXR1cEZvclJlcGxhY2VCeU1JCiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnVw
ZGF0ZUxvYWRpbmcoKQogeworICAgIGlmICghbV9mcmFtZSkgeworICAgICAgICBzZXRMb2FkaW5n
KGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBBU1NFUlQodGhpcyA9PSBmcmFt
ZUxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpKTsKICAgICBzZXRMb2FkaW5nKGZyYW1l
TG9hZGVyKCktPmlzTG9hZGluZygpKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQyNDQwKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MDktMDQtMTMgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjUxMzYKKyAgICAgICAgQ1JBU0ggaW4gRG9jdW1lbnRMb2Fk
ZXI6OnJlbW92ZVN1YnJlc291cmNlTG9hZGVyIGR1ZSB0byBudWxsIG1fZnJhbWUKKworICAgICAg
ICAqIGZhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9yZXNvdXJjZXMvZnJhbWUtdW5sb2FkLWNyYXNoLTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvcmVzb3VyY2VzL2ZyYW1lLXVubG9hZC1jcmFz
aC0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL3Jlc291cmNlcy9mcmFtZS11
bmxvYWQtY3Jhc2gtMy5odG1sOiBBZGRlZC4KKwogMjAwOS0wNC0xMyAgR3VzdGF2byBOb3Jvbmhh
IFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSdWJi
ZXItc3RhbXBlZCBieSBIb2xnZXIgRnJleXRoZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mcmFtZS11bmxvYWQtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS11bmxvYWQtY3Jhc2gtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYgQEAKK2ZyYW1lICI8IS0tZnJhbWVQ
YXRoIC8vPCEtLWZyYW1lMC0tPi88IS0tZnJhbWUwLS0+LS0+IiAtIGhhcyAxIG9udW5sb2FkIGhh
bmRsZXIocykKK1RoaXMgaXMgYSB0ZXN0IGZvciBidWcgMjUxMzY6IENSQVNIIGluIERvY3VtZW50
TG9hZGVyOjpyZW1vdmVTdWJyZXNvdXJjZUxvYWRlciBkdWUgdG8gbnVsbCBtX2ZyYW1lLiBJZiBz
dWNjZXNzIGZ1bCwgUEFTUyBzaG91bGQgYmUgcHJpbnRlZCBiZWxvdy4KKworUEFTUworCisKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtdW5sb2FkLWNy
YXNoLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Cit9CitmdW5jdGlvbiBkb25lKCkgeworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoIlBBU1MiKSk7CisgICAgLy9kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCJQQVNTIikpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD4KKyAgVGhpcyBpcyBh
IHRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNTEzNiI+YnVnIDI1MTM2PC9hPjogPGk+Q1JBU0ggaW4gRG9jdW1lbnRMb2FkZXI6OnJlbW92
ZVN1YnJlc291cmNlTG9hZGVyCisgIGR1ZSB0byBudWxsIG1fZnJhbWUuPC9pPiBJZiBzdWNjZXNz
IGZ1bCwgUEFTUyBzaG91bGQgYmUgcHJpbnRlZCBiZWxvdy4KKzwvcD4KKzxwIGlkPSJyZXN1bHRz
IiBjbGFzcz0icGFzcyI+PC9wPgorPGlmcmFtZSBzdHlsZT0iYm9yZGVyOiAwIiBzcmM9InJlc291
cmNlcy9mcmFtZS11bmxvYWQtY3Jhc2gtMS5odG1sIj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9mcmFtZS11bmxvYWQtY3Jhc2gtMS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9mcmFt
ZS11bmxvYWQtY3Jhc2gtMS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvcmVzb3VyY2VzL2ZyYW1lLXVubG9hZC1jcmFzaC0xLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNSBAQAorPGh0bWw+Cis8Ym9keSBvbmxvYWQ9ImxvY2F0aW9uPSdmcmFtZS11bmxv
YWQtY3Jhc2gtMy5odG1sJyI+CisgIDxpZnJhbWUgc3JjPSJmcmFtZS11bmxvYWQtY3Jhc2gtMi5o
dG1sIj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jl
c291cmNlcy9mcmFtZS11bmxvYWQtY3Jhc2gtMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9mcmFtZS11bmxvYWQtY3Jhc2gtMi5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzb3VyY2VzL2ZyYW1lLXVubG9h
ZC1jcmFzaC0yLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorLy8gV2hlbiB3ZSBjcmVhdGUgYW4gWEhSIGZyb20gb251bmxvYWQsIHdl
IGV4cGVjdCBpdCB0byBiZSBjYW5jZWxsZWQgYWxtb3N0CisvLyBpbW1lZGlhdGVseSBhZnRlcndh
cmRzLiAgV2hlbiB0aGF0IGhhcHBlbnMgdGhlIFhIUidzIG9uYWJvcnQgaGFuZGxlciBpcworLy8g
Y2FsbGVkLiAgVGhlIFhIUiBjcmVhdGVkIGZyb20gdGhlcmUgaXMgY2FuY2VsbGVkIGFnYWluLCBi
dXQgYXQgYSBsYXRlciBwb2ludAorLy8gYWZ0ZXIgdGhpcyBGUkFNRSBoYXMgYWxyZWFkeSBiZWVu
IGRldGFjaGVkIGZyb20gaXRzIHBhcmVudC4KK3ZhciByZXF1ZXN0cyA9IFtdOworZnVuY3Rpb24g
c3RhcnRSZXF1ZXN0KCkgeworICB2YXIgeCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICB4Lm9w
ZW4oIkdFVCIsIGxvY2F0aW9uLCB0cnVlKTsKKyAgeC5vbmFib3J0ID0gc3RhcnRSZXF1ZXN0Owor
ICB4LnNlbmQobnVsbCk7CisgIHJlcXVlc3RzLnB1c2goeCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9udW5sb2FkPSJzdGFydFJlcXVlc3QoKSI+PC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzb3VyY2VzL2ZyYW1lLXVubG9hZC1jcmFzaC0z
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzb3VyY2VzL2Zy
YW1lLXVubG9hZC1jcmFzaC0zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9yZXNvdXJjZXMvZnJhbWUtdW5sb2FkLWNyYXNoLTMuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzwhLS0KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBpZiAocGFyZW50LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBwYXJlbnQubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
fQorPC9zY3JpcHQ+CistLT4KKzwvaGVhZD4KKzwhLS08Ym9keSBjbGFzcz0icGFzcyIgb25sb2Fk
PSJkb25lKCkiPlBBU1M8L2JvZHk+LS0+Cis8Ym9keSBvbmxvYWQ9InBhcmVudC5kb25lKCkiPjwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29430</attachid>
            <date>2009-04-13 10:37:49 -0700</date>
            <delta_ts>2009-04-13 10:40:21 -0700</delta_ts>
            <desc>patch v1 + layout test</desc>
            <filename>crash_2.1.txt</filename>
            <type>text/plain</type>
            <size>5255</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjQ0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDQtMTMgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjUxMzYKKyAgICAgICAgQ1JB
U0ggaW4gRG9jdW1lbnRMb2FkZXI6OnJlbW92ZVN1YnJlc291cmNlTG9hZGVyIGR1ZSB0byBudWxs
IG1fZnJhbWUKKworICAgICAgICBUZXN0OiBmYXN0L2ZyYW1lcy9mcmFtZS11bmxvYWQtY3Jhc2gu
aHRtbAorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKTogQWRkZWQgbnVsbCBjaGVjayBv
ZiBtX2ZyYW1lLgorCiAyMDA5LTA0LTEzICBHcmVnIEJvbHNpbmdhICA8Ym9sc2luZ2FAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCBHVEsgYnVpbGQgYnJlYWsuCkluZGV4OiBXZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwCShyZXZpc2lvbiA0MjQzNikKKysrIFdlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA1LDYgKzQwNSwxMCBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpzZXR1cEZvclJlcGxhY2VCeU1JCiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnVw
ZGF0ZUxvYWRpbmcoKQogeworICAgIGlmICghbV9mcmFtZSkgeworICAgICAgICBzZXRMb2FkaW5n
KGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBBU1NFUlQodGhpcyA9PSBmcmFt
ZUxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpKTsKICAgICBzZXRMb2FkaW5nKGZyYW1l
TG9hZGVyKCktPmlzTG9hZGluZygpKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQyNDQwKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MDktMDQtMTMgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjUxMzYKKyAgICAgICAgQ1JBU0ggaW4gRG9jdW1lbnRMb2Fk
ZXI6OnJlbW92ZVN1YnJlc291cmNlTG9hZGVyIGR1ZSB0byBudWxsIG1fZnJhbWUKKworICAgICAg
ICAqIGZhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9yZXNvdXJjZXMvZnJhbWUtdW5sb2FkLWNyYXNoLTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvcmVzb3VyY2VzL2ZyYW1lLXVubG9hZC1jcmFz
aC0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL3Jlc291cmNlcy9mcmFtZS11
bmxvYWQtY3Jhc2gtMy5odG1sOiBBZGRlZC4KKwogMjAwOS0wNC0xMyAgR3VzdGF2byBOb3Jvbmhh
IFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSdWJi
ZXItc3RhbXBlZCBieSBIb2xnZXIgRnJleXRoZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mcmFtZS11bmxvYWQtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS11bmxvYWQtY3Jhc2gtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYgQEAKK2ZyYW1lICI8IS0tZnJhbWVQ
YXRoIC8vPCEtLWZyYW1lMC0tPi88IS0tZnJhbWUwLS0+LS0+IiAtIGhhcyAxIG9udW5sb2FkIGhh
bmRsZXIocykKK1RoaXMgaXMgYSB0ZXN0IGZvciBidWcgMjUxMzY6IENSQVNIIGluIERvY3VtZW50
TG9hZGVyOjpyZW1vdmVTdWJyZXNvdXJjZUxvYWRlciBkdWUgdG8gbnVsbCBtX2ZyYW1lLiBJZiBz
dWNjZXNzIGZ1bCwgUEFTUyBzaG91bGQgYmUgcHJpbnRlZCBiZWxvdy4KKworUEFTUworCisKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtdW5sb2FkLWNy
YXNoLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjcgQEAKKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0PgorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKK30KKworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgiUEFTUyIpKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD4KKyAgVGhpcyBpcyBhIHRl
c3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NTEzNiI+YnVnIDI1MTM2PC9hPjogPGk+Q1JBU0ggaW4gRG9jdW1lbnRMb2FkZXI6OnJlbW92ZVN1
YnJlc291cmNlTG9hZGVyCisgIGR1ZSB0byBudWxsIG1fZnJhbWUuPC9pPiBJZiBzdWNjZXNzIGZ1
bCwgUEFTUyBzaG91bGQgYmUgcHJpbnRlZCBiZWxvdy4KKzwvcD4KKzxwIGlkPSJyZXN1bHRzIiBj
bGFzcz0icGFzcyI+PC9wPgorPGlmcmFtZSBzdHlsZT0iYm9yZGVyOiAwIiBzcmM9InJlc291cmNl
cy9mcmFtZS11bmxvYWQtY3Jhc2gtMS5odG1sIj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9mcmFtZS11bmxvYWQtY3Jhc2gtMS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9mcmFtZS11
bmxvYWQtY3Jhc2gtMS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvcmVzb3VyY2VzL2ZyYW1lLXVubG9hZC1jcmFzaC0xLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNSBAQAorPGh0bWw+Cis8Ym9keSBvbmxvYWQ9ImxvY2F0aW9uPSdmcmFtZS11bmxvYWQt
Y3Jhc2gtMy5odG1sJyI+CisgIDxpZnJhbWUgc3JjPSJmcmFtZS11bmxvYWQtY3Jhc2gtMi5odG1s
Ij4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc291
cmNlcy9mcmFtZS11bmxvYWQtY3Jhc2gtMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL3Jlc291cmNlcy9mcmFtZS11bmxvYWQtY3Jhc2gtMi5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzb3VyY2VzL2ZyYW1lLXVubG9hZC1j
cmFzaC0yLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorLy8gV2hlbiB3ZSBjcmVhdGUgYW4gWEhSIGZyb20gb251bmxvYWQsIHdlIGV4
cGVjdCBpdCB0byBiZSBjYW5jZWxsZWQgYWxtb3N0CisvLyBpbW1lZGlhdGVseSBhZnRlcndhcmRz
LiAgV2hlbiB0aGF0IGhhcHBlbnMgdGhlIFhIUidzIG9uYWJvcnQgaGFuZGxlciBpcworLy8gY2Fs
bGVkLiAgVGhlIFhIUiBjcmVhdGVkIGZyb20gdGhlcmUgaXMgY2FuY2VsbGVkIGFnYWluLCBidXQg
YXQgYSBsYXRlciBwb2ludAorLy8gYWZ0ZXIgdGhpcyBGUkFNRSBoYXMgYWxyZWFkeSBiZWVuIGRl
dGFjaGVkIGZyb20gaXRzIHBhcmVudC4KK3ZhciByZXF1ZXN0cyA9IFtdOworZnVuY3Rpb24gc3Rh
cnRSZXF1ZXN0KCkgeworICB2YXIgeCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICB4Lm9wZW4o
IkdFVCIsIGxvY2F0aW9uLCB0cnVlKTsKKyAgeC5vbmFib3J0ID0gc3RhcnRSZXF1ZXN0OworICB4
LnNlbmQobnVsbCk7CisgIHJlcXVlc3RzLnB1c2goeCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9udW5sb2FkPSJzdGFydFJlcXVlc3QoKSI+PC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzb3VyY2VzL2ZyYW1lLXVubG9hZC1jcmFzaC0zLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzb3VyY2VzL2ZyYW1l
LXVubG9hZC1jcmFzaC0zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9yZXNvdXJjZXMvZnJhbWUtdW5sb2FkLWNyYXNoLTMuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzIEBACis8aHRtbD4KKzxib2R5IG9ubG9hZD0icGFyZW50LmRvbmUoKSI+PC9ib2R5
PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="14647"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>