<?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>35137</bug_id>
          
          <creation_ts>2010-02-18 19:33:01 -0800</creation_ts>
          <short_desc>Chromium: Use V8::TerminateExecution to actually terminate workers.</short_desc>
          <delta_ts>2010-02-23 18:06:56 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry Titov">dimich</reporter>
          <assigned_to name="Dmitry Titov">dimich</assigned_to>
          <cc>abarth</cc>
    
    <cc>atwilson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>191806</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-02-18 19:33:01 -0800</bug_when>
    <thetext>Uncooperative workers may run for a long time after being closed or terminated. The chromium has a special timer that will kill the worker process but it&apos;s causing crashes on process destruction which triggers ReportCrash on Mac and may leave zombie processes behind. Need to actually stop the JS execution.

Patch will follow soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191807</commentid>
    <comment_count>1</comment_count>
      <attachid>49054</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-02-18 19:43:06 -0800</bug_when>
    <thetext>Created attachment 49054
Patch.

This will fix the existing test fast/workers/stress-js-execution.html which is currently crashes on Chromium Mac and Linux bots and is disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191820</commentid>
    <comment_count>2</comment_count>
      <attachid>49054</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-18 21:33:14 -0800</bug_when>
    <thetext>Comment on attachment 49054
Patch.

Rejecting patch 49054 from commit-queue.

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
	M	WebCore/ChangeLog
	M	WebCore/bindings/v8/WorkerContextExecutionProxy.cpp
	M	WebCore/bindings/v8/WorkerScriptController.cpp
A repository hook failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: Commit blocked by pre-commit hook (exit code 1) with output:
svnlook: Can&apos;t write to stream: Broken pipe

    The following ChangeLog files contain OOPS:

        trunk/WebCore/ChangeLog

    Please don&apos;t ever say &quot;OOPS&quot; in a ChangeLog file.
 at /usr/local/git/libexec/git-core/git-svn line 558


Full output: http://webkit-commit-queue.appspot.com/results/289144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191919</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-02-19 08:13:28 -0800</bug_when>
    <thetext>Oops indeed. Set cq+ by mistake. Should commit-queue try to land patch without r+? Anyways, cq- now .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191935</commentid>
    <comment_count>4</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2010-02-19 09:10:34 -0800</bug_when>
    <thetext>Per our email discussion, I&apos;m concerned that many of our uses of v8::TryCatch will now be incorrect once we start using this. We should double-check that with Mads before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191944</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-19 09:22:51 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Oops indeed. Set cq+ by mistake. Should commit-queue try to land patch without
&gt; r+? Anyways, cq- now .

Yup.  We added this feature intentionally a while ago.  It allows committers to queue their own patches for commit w/o requiring a second round of approval from a reviewer for instance.

Adam Barth built a &quot;land-safely&quot; command around this (at least I think he did) which should be in webkit-patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191975</commentid>
    <comment_count>6</comment_count>
      <attachid>49054</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-02-19 10:53:07 -0800</bug_when>
    <thetext>Comment on attachment 49054
Patch.

removing the r? to address concern brought by Drew.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193167</commentid>
    <comment_count>7</comment_count>
      <attachid>49335</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-02-23 16:07:37 -0800</bug_when>
    <thetext>Created attachment 49335
Updated patch.

Updated patch as per email discussion with Mads Ager and Drew Wilson.
The way to check that v8 has returned from JS block because of TerminateExecution() is to check TryCatch::CanContinue(). Added this check.
The v8 will unwind JS frames upon return from C++ frames because termination exception is &apos;sticky&apos;.

Independently from this patch, V8 team plans to look into a generic issue of possible re-entering V8 while termination is in effect. It is unclear if we even have this scenario in today&apos;s worker code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193208</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-02-23 18:06:56 -0800</bug_when>
    <thetext>Landed: http://trac.webkit.org/changeset/55180</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49054</attachid>
            <date>2010-02-18 19:43:06 -0800</date>
            <delta_ts>2010-02-23 16:07:37 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>2930</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmYxNjVhYS4uYWJjYjlhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMi0xOCAgRG1pdHJ5IFRpdG92
ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDaHJvbWl1bTogVXNlIFY4OjpUZXJtaW5hdGVFeGVjdXRpb24gdG8g
YWN0dWFsbHkgdGVybWluYXRlIHdvcmtlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNTEzNworCisgICAgICAgIFRlc3Q6IGV4aXN0aW5nIGZhc3Qv
d29ya2Vycy9zdHJlc3MtanMtZXhlY3V0aW9uLmh0bWwgd2hpY2ggaXMgY3VycmVudGx5IGZhaWxp
bmcKKyAgICAgICAgb24gTWFjIGFuZCBMaW51eCBib3RzIGZvciBDaHJvbWl1bS4KKworICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlclNjcmlwdENvbnRyb2xsZXI6OmZvcmJpZEV4ZWN1dGlvbik6CisKIDIwMTAt
MDItMTggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
Tm8gUmV2aWV3LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0
RXhlY3V0aW9uUHJveHkuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHkuY3BwCmluZGV4IGU0YjQxN2UuLjQ2ZTk3ODUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTE5OCwx
NiArMTk4LDE5IEBAIFNjcmlwdFZhbHVlIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6ZXZh
bHVhdGUoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IFN0CiAgICAgdjg6OkhhbmRsZTx2ODo6
U2NyaXB0PiBjb21waWxlZFNjcmlwdCA9IFY4UHJveHk6OmNvbXBpbGVTY3JpcHQoc2NyaXB0U3Ry
aW5nLCBmaWxlTmFtZSwgYmFzZUxpbmUpOwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3Vs
dCA9IHJ1blNjcmlwdChjb21waWxlZFNjcmlwdCk7CiAKKyAgICBzdGF0ZS0+aGFkRXhjZXB0aW9u
ID0gZmFsc2U7CisKICAgICBpZiAoZXhjZXB0aW9uQ2F0Y2hlci5IYXNDYXVnaHQoKSkgewogICAg
ICAgICB2ODo6TG9jYWw8djg6Ok1lc3NhZ2U+IG1lc3NhZ2UgPSBleGNlcHRpb25DYXRjaGVyLk1l
c3NhZ2UoKTsKLSAgICAgICAgc3RhdGUtPmhhZEV4Y2VwdGlvbiA9IHRydWU7Ci0gICAgICAgIHN0
YXRlLT5leGNlcHRpb24gPSBTY3JpcHRWYWx1ZShleGNlcHRpb25DYXRjaGVyLkV4Y2VwdGlvbigp
KTsKLSAgICAgICAgc3RhdGUtPmVycm9yTWVzc2FnZSA9IHRvV2ViQ29yZVN0cmluZyhtZXNzYWdl
LT5HZXQoKSk7Ci0gICAgICAgIHN0YXRlLT5saW5lTnVtYmVyID0gbWVzc2FnZS0+R2V0TGluZU51
bWJlcigpOwotICAgICAgICBzdGF0ZS0+c291cmNlVVJMID0gdG9XZWJDb3JlU3RyaW5nKG1lc3Nh
Z2UtPkdldFNjcmlwdFJlc291cmNlTmFtZSgpKTsKKyAgICAgICAgLy8gRXhjZXB0aW9uIHdpdGgg
bm8gbWVzc2FnZSAtIHJlc3VsdCBvZiB2ODo6Vjg6OlRlcm1pbmF0ZUV4ZWN1dGlvbigpLgorICAg
ICAgICBpZiAoIW1lc3NhZ2UuSXNFbXB0eSgpKSB7CisgICAgICAgICAgICBzdGF0ZS0+ZXhjZXB0
aW9uID0gU2NyaXB0VmFsdWUoZXhjZXB0aW9uQ2F0Y2hlci5FeGNlcHRpb24oKSk7CisgICAgICAg
ICAgICBzdGF0ZS0+ZXJyb3JNZXNzYWdlID0gdG9XZWJDb3JlU3RyaW5nKG1lc3NhZ2UtPkdldCgp
KTsKKyAgICAgICAgICAgIHN0YXRlLT5saW5lTnVtYmVyID0gbWVzc2FnZS0+R2V0TGluZU51bWJl
cigpOworICAgICAgICAgICAgc3RhdGUtPnNvdXJjZVVSTCA9IHRvV2ViQ29yZVN0cmluZyhtZXNz
YWdlLT5HZXRTY3JpcHRSZXNvdXJjZU5hbWUoKSk7CisgICAgICAgIH0KICAgICAgICAgZXhjZXB0
aW9uQ2F0Y2hlci5SZXNldCgpOwotICAgIH0gZWxzZQotICAgICAgICBzdGF0ZS0+aGFkRXhjZXB0
aW9uID0gZmFsc2U7CisgICAgfQogCiAgICAgaWYgKHJlc3VsdC5Jc0VtcHR5KCkgfHwgcmVzdWx0
LT5Jc1VuZGVmaW5lZCgpKQogICAgICAgICByZXR1cm4gU2NyaXB0VmFsdWUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGYyMzExYmYu
LjM4MDYzYzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29u
dHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9s
bGVyLmNwcApAQCAtOTAsNiArOTAsNyBAQCB2b2lkIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmZv
cmJpZEV4ZWN1dGlvbigpCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBhbm90
aGVyIHRocmVhZC4KICAgICBNdXRleExvY2tlciBsb2NrKG1fc2hhcmVkRGF0YU11dGV4KTsKICAg
ICBtX2V4ZWN1dGlvbkZvcmJpZGRlbiA9IHRydWU7CisgICAgdjg6OlY4OjpUZXJtaW5hdGVFeGVj
dXRpb24oKTsKIH0KIAogdm9pZCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpzZXRFeGNlcHRpb24o
U2NyaXB0VmFsdWUgZXhjZXB0aW9uKQo=
</data>
<flag name="commit-queue"
          id="31814"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49335</attachid>
            <date>2010-02-23 16:07:37 -0800</date>
            <delta_ts>2010-02-23 16:11:43 -0800</delta_ts>
            <desc>Updated patch.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>2110</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmYxNjVhYS4uYWJjYjlhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMi0xOCAgRG1pdHJ5IFRpdG92
ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDaHJvbWl1bTogVXNlIFY4OjpUZXJtaW5hdGVFeGVjdXRpb24gdG8g
YWN0dWFsbHkgdGVybWluYXRlIHdvcmtlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNTEzNworCisgICAgICAgIFRlc3Q6IGV4aXN0aW5nIGZhc3Qv
d29ya2Vycy9zdHJlc3MtanMtZXhlY3V0aW9uLmh0bWwgd2hpY2ggaXMgY3VycmVudGx5IGZhaWxp
bmcKKyAgICAgICAgb24gTWFjIGFuZCBMaW51eCBib3RzIGZvciBDaHJvbWl1bS4KKworICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlclNjcmlwdENvbnRyb2xsZXI6OmZvcmJpZEV4ZWN1dGlvbik6CisKIDIwMTAt
MDItMTggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
Tm8gUmV2aWV3LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0
RXhlY3V0aW9uUHJveHkuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHkuY3BwCmluZGV4IGU0YjQxN2UuLmUwZmJmMjggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTE5OCw2
ICsxOTgsOSBAQCBTY3JpcHRWYWx1ZSBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1
YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBTdAogICAgIHY4OjpIYW5kbGU8djg6OlNj
cmlwdD4gY29tcGlsZWRTY3JpcHQgPSBWOFByb3h5Ojpjb21waWxlU2NyaXB0KHNjcmlwdFN0cmlu
ZywgZmlsZU5hbWUsIGJhc2VMaW5lKTsKICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXN1bHQg
PSBydW5TY3JpcHQoY29tcGlsZWRTY3JpcHQpOwogCisgICAgaWYgKCFleGNlcHRpb25DYXRjaGVy
LkNhbkNvbnRpbnVlKCkpCisgICAgICAgIHJldHVybiBTY3JpcHRWYWx1ZSgpOworCiAgICAgaWYg
KGV4Y2VwdGlvbkNhdGNoZXIuSGFzQ2F1Z2h0KCkpIHsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpN
ZXNzYWdlPiBtZXNzYWdlID0gZXhjZXB0aW9uQ2F0Y2hlci5NZXNzYWdlKCk7CiAgICAgICAgIHN0
YXRlLT5oYWRFeGNlcHRpb24gPSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2Vy
U2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggZjIzMTFiZi4uMzgwNjNjMCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC05MCw2ICs5MCw3
IEBAIHZvaWQgV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6Zm9yYmlkRXhlY3V0aW9uKCkKICAgICAv
LyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIGFub3RoZXIgdGhyZWFkLgogICAgIE11dGV4
TG9ja2VyIGxvY2sobV9zaGFyZWREYXRhTXV0ZXgpOwogICAgIG1fZXhlY3V0aW9uRm9yYmlkZGVu
ID0gdHJ1ZTsKKyAgICB2ODo6Vjg6OlRlcm1pbmF0ZUV4ZWN1dGlvbigpOwogfQogCiB2b2lkIFdv
cmtlclNjcmlwdENvbnRyb2xsZXI6OnNldEV4Y2VwdGlvbihTY3JpcHRWYWx1ZSBleGNlcHRpb24p
Cg==
</data>
<flag name="review"
          id="32182"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="32183"
          type_id="3"
          status="-"
          setter="dimich"
    />
          </attachment>
      

    </bug>

</bugzilla>