<?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>30919</bug_id>
          
          <creation_ts>2009-10-29 11:35:45 -0700</creation_ts>
          <short_desc>[V8] Remove random crashes by removing retrieval of V8 context during garbage collection.</short_desc>
          <delta_ts>2009-12-29 08:34:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
    
    <cc>ager</cc>
    
    <cc>eric</cc>
    
    <cc>sgjesse</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>158985</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-10-29 11:35:45 -0700</bug_when>
    <thetext>These exhibit themselves as random crashes on innocent-looking tests.

The timing has to be just right. I wasn&apos;t able to write a test for this.

The issue occurs when all of the following is true:

1) new V8 context is being created.
2) creating the context (actual allocation of descriptor) triggers garbage collection
3) there&apos;s an existing left-over DOM object in map that ask to  needs to retrieve current V8 context (MessagePort, for 
example).

Like so:

*boom* &lt;-- global_context ain&apos;t yet cooked.
test_shell!v8::internal::Context::global_context+0x42
test_shell!v8::internal::Context::global_proxy+0x5
test_shell!v8::Context::Global+0x52
test_shell!WebCore::WorkerContextExecutionProxy::retrieve+0x2e
test_shell!WebCore::V8DOMWrapper::convertToV8Object+0x31
test_shell!WebCore::GCPrologueVisitor::visitDOMWrapper+0x93
test_shell!WebCore::visitActiveDOMObjectsInCurrentThread+0xa2
test_shell!WebCore::V8GCController::gcPrologue+0x1f
test_shell!v8::internal::Heap::PerformGarbageCollection+0x15
test_shell!v8::internal::Heap::CollectGarbage+0x8a
test_shell!v8::internal::Factory::NewGlobalObject+0x77
test_shell!v8::internal::Genesis::CreateRoots+0x5aa
test_shell!v8::internal::Genesis::Genesis+0x7d
test_shell!v8::internal::Bootstrapper::CreateEnvironment+0x1b
test_shell!v8::Context::New+0x14a
test_shell!WebCore::V8Proxy::createNewContext+0x241
test_shell!WebCore::V8Proxy::initContextIfNeeded+0x79
test_shell!WebCore::V8Proxy::updateDocument+0x21
test_shell!WebCore::Frame::setDocument+0x9e
test_shell!WebCore::FrameLoader::begin+0x273

Luckily, we don&apos;t need to do V8DOMWrapper::convertToV8Object. We can just reach into the map and grab the object, since we know it&apos;s there.

I wasn&apos;t able to write a layout test that consistently triggers this condition. I can trigger garbage collection and I can trigger navigation, but not at the same time :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158987</commentid>
    <comment_count>1</comment_count>
      <attachid>42117</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-10-29 11:40:21 -0700</bug_when>
    <thetext>Created attachment 42117
Fixerate random crashes, v1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158993</commentid>
    <comment_count>2</comment_count>
      <attachid>42120</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-10-29 11:46:30 -0700</bug_when>
    <thetext>Created attachment 42120
Fixerate random crashes, v2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158998</commentid>
    <comment_count>3</comment_count>
      <attachid>42120</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-29 11:58:18 -0700</bug_when>
    <thetext>Comment on attachment 42120
Fixerate random crashes, v2.

+ V8DOMWrapper::jsWrapperForDOMObject

We should have two of these: one for DOMObjects and one for ActiveDOMObjects, to mirror the setters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159010</commentid>
    <comment_count>4</comment_count>
      <attachid>42124</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-10-29 12:25:56 -0700</bug_when>
    <thetext>Created attachment 42124
Fixerate random crashes, v3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159014</commentid>
    <comment_count>5</comment_count>
      <attachid>42124</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-29 12:37:52 -0700</bug_when>
    <thetext>Comment on attachment 42124
Fixerate random crashes, v3.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159236</commentid>
    <comment_count>6</comment_count>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2009-10-30 00:17:21 -0700</bug_when>
    <thetext>Nit:

I Don&apos;t think it it&apos;s required retrieve port1Wrapper, as it is already in wrapper, that is

  v8::Handle&lt;v8::Value&gt; port1Wrapper = V8DOMWrapper::jsWrapperForActiveDOMObject(port1);

could be

  v8::Handle&lt;v8::Value&gt; port1Wrapper = wrapper

or the variable port1Wrapper could be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163175</commentid>
    <comment_count>7</comment_count>
      <attachid>42124</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-12 19:06:14 -0800</bug_when>
    <thetext>Comment on attachment 42124
Fixerate random crashes, v3.

Rejecting patch 42124 from commit-queue.

Failed to run &quot;[&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, &apos;--reviewer&apos;, &apos;Adam Barth&apos;, &apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
geLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebCore/bindings/v8/V8DOMWrapper.cpp
Hunk #1 succeeded at 208 with fuzz 1 (offset 54 lines).
patching file WebCore/bindings/v8/V8DOMWrapper.h
Hunk #1 FAILED at 279.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/bindings/v8/V8DOMWrapper.h.rej
patching file WebCore/bindings/v8/V8GCController.cpp
Hunk #1 FAILED at 218.
Hunk #2 FAILED at 228.
2 out of 2 hunks FAILED -- saving rejects to file WebCore/bindings/v8/V8GCController.cpp.rej</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165299</commentid>
    <comment_count>8</comment_count>
      <attachid>42124</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-20 07:15:40 -0800</bug_when>
    <thetext>Comment on attachment 42124
Fixerate random crashes, v3.

Rejecting patch 42124 from commit-queue.

Failed to run &quot;[&apos;/Users/abarth/git/webkit-kr/WebKitTools/Scripts/svn-apply&apos;, &apos;--reviewer&apos;, &apos;Adam Barth&apos;]&quot; exit_code: 1
patching file WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebCore/bindings/v8/V8DOMWrapper.cpp
Reversed (or previously applied) patch detected!  Assume -R? [n] 
Apply anyway? [n] 
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file WebCore/bindings/v8/V8DOMWrapper.cpp.rej
patch -p0 &quot;WebCore/bindings/v8/V8DOMWrapper.cpp&quot; returned 1.  Pass --force to ignore patch failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170161</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-09 14:04:32 -0800</bug_when>
    <thetext>Ping?  Looks like we need a new patch here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175432</commentid>
    <comment_count>10</comment_count>
      <attachid>42124</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-28 23:00:49 -0800</bug_when>
    <thetext>Comment on attachment 42124
Fixerate random crashes, v3.

Changing Adam Barth&apos;s r+ to an r- since this patch no longer applies.  We need a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175433</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-28 23:01:48 -0800</bug_when>
    <thetext>I mean, I guess if Dimitri plans to land this himself, that&apos;s totally fine and he should consider it still r+&apos;d by Adam, but not having been touched in nearly 2 months, it&apos;s silly to have this still sitting in the pending-commit list.  That&apos;s assuming this bug should even still be open?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175563</commentid>
    <comment_count>12</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-29 08:34:42 -0800</bug_when>
    <thetext>I stink. Landed as http://trac.webkit.org/changeset/50293.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42117</attachid>
            <date>2009-10-29 11:40:21 -0700</date>
            <delta_ts>2009-10-29 11:46:24 -0700</delta_ts>
            <desc>Fixerate random crashes, v1.</desc>
            <filename>bug-30919-20091029114019.patch</filename>
            <type>text/plain</type>
            <size>2527</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTcyNzA4OS4uYmM5YTYxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0xMC0yOSAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gUmVtb3ZlIHJhbmRvbSBjcmFzaGVzIGJ5IHJlbW92
aW5nIHJldHJpZXZhbCBvZiBWOCBjb250ZXh0IGR1cmluZyBnYXJiYWdlIGNvbGxlY3Rpb24uCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTE5CisK
KyAgICAgICAgVW5mb3J0dW5hdGVseSwgSSBoYXZlbid0IGJlZW4gYWJsZSB0byB0cmlnZ2VyIHRo
aXMgY3Jhc2ggZXhwbGljaXRseSwgc28gbm8gdGVzdCA6KC4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6Ompz
V3JhcHBlckZvckRPTU9iamVjdCk6IEFkZGVkIG5ldyAiYXNzdW1lLWl0J3MtdGhlcmUiIGdldHRl
ci4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaDogQWRkZWQgZ2V0dGVyIGRl
Y2wuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R0NQcm9sb2d1ZVZpc2l0b3I6OnZpc2l0RE9NV3JhcHBlcik6IENoYW5nZWQgdG8g
dXNlIGV4cGxpY2l0IGdldHRlci4KKwogMjAwOS0xMC0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxl
aXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCmluZGV4IDMyMTE1M2QuLmYzYjUzZjQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKQEAgLTE1NCw2ICsxNTQsMTYgQEAgYm9vbCBW
OERPTVdyYXBwZXI6OmRvbU9iamVjdEhhc0pTV3JhcHBlcih2b2lkKiBvYmplY3QpCiAgICAgcmV0
dXJuIGdldERPTU9iamVjdE1hcCgpLmNvbnRhaW5zKG9iamVjdCkgfHwgZ2V0QWN0aXZlRE9NT2Jq
ZWN0TWFwKCkuY29udGFpbnMob2JqZWN0KTsKIH0KIAordjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4gVjhET01XcmFwcGVyOjpqc1dyYXBwZXJGb3JET01PYmplY3Qodm9pZCogb2JqZWN0KQorewor
ICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRET01PYmplY3RNYXAo
KS5nZXQob2JqZWN0KTsKKyAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQorICAgICAgICByZXR1
cm4gd3JhcHBlcjsKKyAgICB3cmFwcGVyID0gZ2V0QWN0aXZlRE9NT2JqZWN0TWFwKCkuZ2V0KG9i
amVjdCk7CisgICAgQVNTRVJUKCF3cmFwcGVyLklzRW1wdHkoKSk7CisgICAgcmV0dXJuIHdyYXBw
ZXI7Cit9CisKIC8vIFRoZSBjYWxsZXIgbXVzdCBoYXZlIGluY3JlYXNlZCBvYmoncyByZWYgY291
bnQuCiB2b2lkIFY4RE9NV3JhcHBlcjo6c2V0SlNXcmFwcGVyRm9yRE9NT2JqZWN0KHZvaWQqIG9i
amVjdCwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gd3JhcHBlcikKIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4RE9NV3JhcHBlci5oCmluZGV4IDIyN2M5ZmYuLmFmMmU2MmUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdyYXBwZXIuaApAQCAtMjc5LDYgKzI3OSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgICAgICAvLyBDaGVja3Mgd2hldGhlciBhIERPTSBvYmplY3QgaGFzIGEgSlMgd3JhcHBlci4K
ICAgICAgICAgc3RhdGljIGJvb2wgZG9tT2JqZWN0SGFzSlNXcmFwcGVyKHZvaWQqKTsKKyAgICAg
ICAgLy8gR2V0IEpTIHdyYXBwZXIgb2YgYW4gZXhpc3RpbmcgRE9NIG9iamVjdCwgYXNzdW1pbmcg
dGhhdCB0aGUgd3JhcHBlcgorICAgICAgICAvLyBleGlzdHMuCisgICAgICAgIHN0YXRpYyB2ODo6
UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBqc1dyYXBwZXJGb3JET01PYmplY3Qodm9pZCopOwogICAg
ICAgICAvLyBTZXQgSlMgd3JhcHBlciBvZiBhIERPTSBvYmplY3QsIHRoZSBjYWxsZXIgaW4gY2hh
cmdlIG9mIGluY3JlYXNlIHJlZi4KICAgICAgICAgc3RhdGljIHZvaWQgc2V0SlNXcmFwcGVyRm9y
RE9NT2JqZWN0KHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgICAgIHN0
YXRpYyB2b2lkIHNldEpTV3JhcHBlckZvckFjdGl2ZURPTU9iamVjdCh2b2lkKiwgdjg6OlBlcnNp
c3RlbnQ8djg6Ok9iamVjdD4pOw==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42120</attachid>
            <date>2009-10-29 11:46:30 -0700</date>
            <delta_ts>2009-10-29 12:25:52 -0700</delta_ts>
            <desc>Fixerate random crashes, v2.</desc>
            <filename>bug-30919-20091029114628.patch</filename>
            <type>text/plain</type>
            <size>4230</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTcyNzA4OS4uYmM5YTYxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0xMC0yOSAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gUmVtb3ZlIHJhbmRvbSBjcmFzaGVzIGJ5IHJlbW92
aW5nIHJldHJpZXZhbCBvZiBWOCBjb250ZXh0IGR1cmluZyBnYXJiYWdlIGNvbGxlY3Rpb24uCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTE5CisK
KyAgICAgICAgVW5mb3J0dW5hdGVseSwgSSBoYXZlbid0IGJlZW4gYWJsZSB0byB0cmlnZ2VyIHRo
aXMgY3Jhc2ggZXhwbGljaXRseSwgc28gbm8gdGVzdCA6KC4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6Ompz
V3JhcHBlckZvckRPTU9iamVjdCk6IEFkZGVkIG5ldyAiYXNzdW1lLWl0J3MtdGhlcmUiIGdldHRl
ci4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaDogQWRkZWQgZ2V0dGVyIGRl
Y2wuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R0NQcm9sb2d1ZVZpc2l0b3I6OnZpc2l0RE9NV3JhcHBlcik6IENoYW5nZWQgdG8g
dXNlIGV4cGxpY2l0IGdldHRlci4KKwogMjAwOS0xMC0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxl
aXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCmluZGV4IDMyMTE1M2QuLmYzYjUzZjQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKQEAgLTE1NCw2ICsxNTQsMTYgQEAgYm9vbCBW
OERPTVdyYXBwZXI6OmRvbU9iamVjdEhhc0pTV3JhcHBlcih2b2lkKiBvYmplY3QpCiAgICAgcmV0
dXJuIGdldERPTU9iamVjdE1hcCgpLmNvbnRhaW5zKG9iamVjdCkgfHwgZ2V0QWN0aXZlRE9NT2Jq
ZWN0TWFwKCkuY29udGFpbnMob2JqZWN0KTsKIH0KIAordjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4gVjhET01XcmFwcGVyOjpqc1dyYXBwZXJGb3JET01PYmplY3Qodm9pZCogb2JqZWN0KQorewor
ICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRET01PYmplY3RNYXAo
KS5nZXQob2JqZWN0KTsKKyAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQorICAgICAgICByZXR1
cm4gd3JhcHBlcjsKKyAgICB3cmFwcGVyID0gZ2V0QWN0aXZlRE9NT2JqZWN0TWFwKCkuZ2V0KG9i
amVjdCk7CisgICAgQVNTRVJUKCF3cmFwcGVyLklzRW1wdHkoKSk7CisgICAgcmV0dXJuIHdyYXBw
ZXI7Cit9CisKIC8vIFRoZSBjYWxsZXIgbXVzdCBoYXZlIGluY3JlYXNlZCBvYmoncyByZWYgY291
bnQuCiB2b2lkIFY4RE9NV3JhcHBlcjo6c2V0SlNXcmFwcGVyRm9yRE9NT2JqZWN0KHZvaWQqIG9i
amVjdCwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gd3JhcHBlcikKIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4RE9NV3JhcHBlci5oCmluZGV4IDIyN2M5ZmYuLmFmMmU2MmUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdyYXBwZXIuaApAQCAtMjc5LDYgKzI3OSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgICAgICAvLyBDaGVja3Mgd2hldGhlciBhIERPTSBvYmplY3QgaGFzIGEgSlMgd3JhcHBlci4K
ICAgICAgICAgc3RhdGljIGJvb2wgZG9tT2JqZWN0SGFzSlNXcmFwcGVyKHZvaWQqKTsKKyAgICAg
ICAgLy8gR2V0IEpTIHdyYXBwZXIgb2YgYW4gZXhpc3RpbmcgRE9NIG9iamVjdCwgYXNzdW1pbmcg
dGhhdCB0aGUgd3JhcHBlcgorICAgICAgICAvLyBleGlzdHMuCisgICAgICAgIHN0YXRpYyB2ODo6
UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBqc1dyYXBwZXJGb3JET01PYmplY3Qodm9pZCopOwogICAg
ICAgICAvLyBTZXQgSlMgd3JhcHBlciBvZiBhIERPTSBvYmplY3QsIHRoZSBjYWxsZXIgaW4gY2hh
cmdlIG9mIGluY3JlYXNlIHJlZi4KICAgICAgICAgc3RhdGljIHZvaWQgc2V0SlNXcmFwcGVyRm9y
RE9NT2JqZWN0KHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgICAgIHN0
YXRpYyB2b2lkIHNldEpTV3JhcHBlckZvckFjdGl2ZURPTU9iamVjdCh2b2lkKiwgdjg6OlBlcnNp
c3RlbnQ8djg6Ok9iamVjdD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdD
Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcApp
bmRleCA4ZmU0YmUxLi4zY2MxNWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
R0NDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVy
LmNwcApAQCAtMjE4LDggKzIxOCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIC8vIEFzIHBvcnRz
IGFyZSBhbHdheXMgZW50YW5nbGVkIGluIHBhaXJzIG9ubHkgcGVyZm9ybSB0aGUgZW50YW5nbGVt
ZW50CiAgICAgICAgICAgICAvLyBvbmNlIGZvciBlYWNoIHBhaXIgKHNlZSBBU1NFUlQgaW4gTWVz
c2FnZVBvcnQ6OnVuZW50YW5nbGUoKSkuCiAgICAgICAgICAgICBpZiAocG9ydDEgPCBwb3J0Mikg
ewotICAgICAgICAgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBwb3J0MVdyYXBwZXIgPSBW
OERPTVdyYXBwZXI6OmNvbnZlcnRUb1Y4T2JqZWN0KFY4Q2xhc3NJbmRleDo6TUVTU0FHRVBPUlQs
IHBvcnQxKTsKLSAgICAgICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcG9ydDJXcmFw
cGVyID0gVjhET01XcmFwcGVyOjpjb252ZXJ0VG9WOE9iamVjdChWOENsYXNzSW5kZXg6Ok1FU1NB
R0VQT1JULCBwb3J0Mik7CisgICAgICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBv
cnQxV3JhcHBlciA9IFY4RE9NV3JhcHBlcjo6anNXcmFwcGVyRm9yRE9NT2JqZWN0KHBvcnQxKTsK
KyAgICAgICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcG9ydDJXcmFwcGVyID0gVjhE
T01XcmFwcGVyOjpqc1dyYXBwZXJGb3JET01PYmplY3QocG9ydDIpOwogICAgICAgICAgICAgICAg
IEFTU0VSVChwb3J0MVdyYXBwZXItPklzT2JqZWN0KCkpOwogICAgICAgICAgICAgICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD46OkNhc3QocG9ydDFXcmFwcGVyKS0+U2V0SW50ZXJuYWxGaWVsZChW
OEN1c3RvbTo6a01lc3NhZ2VQb3J0RW50YW5nbGVkUG9ydEluZGV4LCBwb3J0MldyYXBwZXIpOwog
ICAgICAgICAgICAgICAgIEFTU0VSVChwb3J0MldyYXBwZXItPklzT2JqZWN0KCkpOwpAQCAtMjI4
LDcgKzIyOCw3IEBAIHB1YmxpYzoKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIFJl
bW92ZSB0aGUgd3JhcHBlciBlbnRhbmdsZW1lbnQgd2hlbiBhIHBvcnQgaXMgbm90IGVudGFuZ2xl
ZC4KICAgICAgICAgICAgIGlmIChWOERPTVdyYXBwZXI6OmRvbU9iamVjdEhhc0pTV3JhcHBlcihw
b3J0MSkpIHsKLSAgICAgICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBlciA9
IFY4RE9NV3JhcHBlcjo6Y29udmVydFRvVjhPYmplY3QoVjhDbGFzc0luZGV4OjpNRVNTQUdFUE9S
VCwgcG9ydDEpOworICAgICAgICAgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3cmFwcGVy
ID0gVjhET01XcmFwcGVyOjpqc1dyYXBwZXJGb3JET01PYmplY3QocG9ydDEpOwogICAgICAgICAg
ICAgICAgIEFTU0VSVCh3cmFwcGVyLT5Jc09iamVjdCgpKTsKICAgICAgICAgICAgICAgICB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHdyYXBwZXIpLT5TZXRJbnRlcm5hbEZpZWxkKFY4Q3Vz
dG9tOjprTWVzc2FnZVBvcnRFbnRhbmdsZWRQb3J0SW5kZXgsIHY4OjpVbmRlZmluZWQoKSk7CiAg
ICAgICAgICAgICB9
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42124</attachid>
            <date>2009-10-29 12:25:56 -0700</date>
            <delta_ts>2009-12-28 23:00:48 -0800</delta_ts>
            <desc>Fixerate random crashes, v3.</desc>
            <filename>bug-30919-20091029122554.patch</filename>
            <type>text/plain</type>
            <size>4447</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTcyNzA4OS4uYmM5YTYxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0xMC0yOSAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gUmVtb3ZlIHJhbmRvbSBjcmFzaGVzIGJ5IHJlbW92
aW5nIHJldHJpZXZhbCBvZiBWOCBjb250ZXh0IGR1cmluZyBnYXJiYWdlIGNvbGxlY3Rpb24uCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTE5CisK
KyAgICAgICAgVW5mb3J0dW5hdGVseSwgSSBoYXZlbid0IGJlZW4gYWJsZSB0byB0cmlnZ2VyIHRo
aXMgY3Jhc2ggZXhwbGljaXRseSwgc28gbm8gdGVzdCA6KC4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6Ompz
V3JhcHBlckZvckRPTU9iamVjdCk6IEFkZGVkIG5ldyAiYXNzdW1lLWl0J3MtdGhlcmUiIGdldHRl
ci4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaDogQWRkZWQgZ2V0dGVyIGRl
Y2wuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R0NQcm9sb2d1ZVZpc2l0b3I6OnZpc2l0RE9NV3JhcHBlcik6IENoYW5nZWQgdG8g
dXNlIGV4cGxpY2l0IGdldHRlci4KKwogMjAwOS0xMC0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxl
aXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCmluZGV4IDMyMTE1M2QuLmNmMDVmNTMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKQEAgLTE1NCw2ICsxNTQsMjAgQEAgYm9vbCBW
OERPTVdyYXBwZXI6OmRvbU9iamVjdEhhc0pTV3JhcHBlcih2b2lkKiBvYmplY3QpCiAgICAgcmV0
dXJuIGdldERPTU9iamVjdE1hcCgpLmNvbnRhaW5zKG9iamVjdCkgfHwgZ2V0QWN0aXZlRE9NT2Jq
ZWN0TWFwKCkuY29udGFpbnMob2JqZWN0KTsKIH0KIAordjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4gVjhET01XcmFwcGVyOjpqc1dyYXBwZXJGb3JET01PYmplY3Qodm9pZCogb2JqZWN0KQorewor
ICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRET01PYmplY3RNYXAo
KS5nZXQob2JqZWN0KTsKKyAgICBBU1NFUlQoIXdyYXBwZXIuSXNFbXB0eSgpKTsKKyAgICByZXR1
cm4gd3JhcHBlcjsKK30KKwordjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gVjhET01XcmFwcGVy
Ojpqc1dyYXBwZXJGb3JBY3RpdmVET01PYmplY3Qodm9pZCogb2JqZWN0KQoreworICAgIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBnZXRBY3RpdmVET01PYmplY3RNYXAoKS5n
ZXQob2JqZWN0KTsKKyAgICBBU1NFUlQoIXdyYXBwZXIuSXNFbXB0eSgpKTsKKyAgICByZXR1cm4g
d3JhcHBlcjsKK30KKwogLy8gVGhlIGNhbGxlciBtdXN0IGhhdmUgaW5jcmVhc2VkIG9iaidzIHJl
ZiBjb3VudC4KIHZvaWQgVjhET01XcmFwcGVyOjpzZXRKU1dyYXBwZXJGb3JET01PYmplY3Qodm9p
ZCogb2JqZWN0LCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3cmFwcGVyKQogewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XcmFwcGVyLmgKaW5kZXggMjI3YzlmZi4uMmI5MzljOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5oCkBAIC0yNzksNiArMjc5LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICAvLyBDaGVja3Mgd2hldGhlciBhIERPTSBvYmplY3QgaGFzIGEgSlMgd3Jh
cHBlci4KICAgICAgICAgc3RhdGljIGJvb2wgZG9tT2JqZWN0SGFzSlNXcmFwcGVyKHZvaWQqKTsK
KyAgICAgICAgLy8gR2V0IEpTIHdyYXBwZXIgb2YgYW4gZXhpc3RpbmcgRE9NIG9iamVjdCwgYXNz
dW1pbmcgdGhhdCB0aGUgd3JhcHBlcgorICAgICAgICAvLyBleGlzdHMuCisgICAgICAgIHN0YXRp
YyB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBqc1dyYXBwZXJGb3JET01PYmplY3Qodm9pZCop
OworICAgICAgICBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4ganNXcmFwcGVyRm9y
QWN0aXZlRE9NT2JqZWN0KHZvaWQqKTsKICAgICAgICAgLy8gU2V0IEpTIHdyYXBwZXIgb2YgYSBE
T00gb2JqZWN0LCB0aGUgY2FsbGVyIGluIGNoYXJnZSBvZiBpbmNyZWFzZSByZWYuCiAgICAgICAg
IHN0YXRpYyB2b2lkIHNldEpTV3JhcHBlckZvckRPTU9iamVjdCh2b2lkKiwgdjg6OlBlcnNpc3Rl
bnQ8djg6Ok9iamVjdD4pOwogICAgICAgICBzdGF0aWMgdm9pZCBzZXRKU1dyYXBwZXJGb3JBY3Rp
dmVET01PYmplY3Qodm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKaW5kZXggOGZlNGJlMS4uYTFkYzgxOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKQEAgLTIxOCw4ICsyMTgsOCBAQCBwdWJs
aWM6CiAgICAgICAgICAgICAvLyBBcyBwb3J0cyBhcmUgYWx3YXlzIGVudGFuZ2xlZCBpbiBwYWly
cyBvbmx5IHBlcmZvcm0gdGhlIGVudGFuZ2xlbWVudAogICAgICAgICAgICAgLy8gb25jZSBmb3Ig
ZWFjaCBwYWlyIChzZWUgQVNTRVJUIGluIE1lc3NhZ2VQb3J0Ojp1bmVudGFuZ2xlKCkpLgogICAg
ICAgICAgICAgaWYgKHBvcnQxIDwgcG9ydDIpIHsKLSAgICAgICAgICAgICAgICB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gcG9ydDFXcmFwcGVyID0gVjhET01XcmFwcGVyOjpjb252ZXJ0VG9WOE9iamVj
dChWOENsYXNzSW5kZXg6Ok1FU1NBR0VQT1JULCBwb3J0MSk7Ci0gICAgICAgICAgICAgICAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHBvcnQyV3JhcHBlciA9IFY4RE9NV3JhcHBlcjo6Y29udmVydFRv
VjhPYmplY3QoVjhDbGFzc0luZGV4OjpNRVNTQUdFUE9SVCwgcG9ydDIpOworICAgICAgICAgICAg
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBwb3J0MVdyYXBwZXIgPSBWOERPTVdyYXBwZXI6Ompz
V3JhcHBlckZvckFjdGl2ZURPTU9iamVjdChwb3J0MSk7CisgICAgICAgICAgICAgICAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHBvcnQyV3JhcHBlciA9IFY4RE9NV3JhcHBlcjo6anNXcmFwcGVyRm9y
QWN0aXZlRE9NT2JqZWN0KHBvcnQyKTsKICAgICAgICAgICAgICAgICBBU1NFUlQocG9ydDFXcmFw
cGVyLT5Jc09iamVjdCgpKTsKICAgICAgICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
OjpDYXN0KHBvcnQxV3JhcHBlciktPlNldEludGVybmFsRmllbGQoVjhDdXN0b206OmtNZXNzYWdl
UG9ydEVudGFuZ2xlZFBvcnRJbmRleCwgcG9ydDJXcmFwcGVyKTsKICAgICAgICAgICAgICAgICBB
U1NFUlQocG9ydDJXcmFwcGVyLT5Jc09iamVjdCgpKTsKQEAgLTIyOCw3ICsyMjgsNyBAQCBwdWJs
aWM6CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBSZW1vdmUgdGhlIHdyYXBwZXIg
ZW50YW5nbGVtZW50IHdoZW4gYSBwb3J0IGlzIG5vdCBlbnRhbmdsZWQuCiAgICAgICAgICAgICBp
ZiAoVjhET01XcmFwcGVyOjpkb21PYmplY3RIYXNKU1dyYXBwZXIocG9ydDEpKSB7Ci0gICAgICAg
ICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdyYXBwZXIgPSBWOERPTVdyYXBwZXI6OmNv
bnZlcnRUb1Y4T2JqZWN0KFY4Q2xhc3NJbmRleDo6TUVTU0FHRVBPUlQsIHBvcnQxKTsKKyAgICAg
ICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBlciA9IFY4RE9NV3JhcHBlcjo6
anNXcmFwcGVyRm9yQWN0aXZlRE9NT2JqZWN0KHBvcnQxKTsKICAgICAgICAgICAgICAgICBBU1NF
UlQod3JhcHBlci0+SXNPYmplY3QoKSk7CiAgICAgICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0Pjo6Q2FzdCh3cmFwcGVyKS0+U2V0SW50ZXJuYWxGaWVsZChWOEN1c3RvbTo6a01lc3Nh
Z2VQb3J0RW50YW5nbGVkUG9ydEluZGV4LCB2ODo6VW5kZWZpbmVkKCkpOwogICAgICAgICAgICAg
fQ==
</data>
<flag name="review"
          id="23627"
          type_id="1"
          status="-"
          setter="eric"
    />
    <flag name="commit-queue"
          id="24799"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>