<?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>161893</bug_id>
          
          <creation_ts>2016-09-12 22:12:56 -0700</creation_ts>
          <short_desc>ParkingLot is going to have a bad time with threads dying</short_desc>
          <delta_ts>2016-09-13 12:27:02 -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>Web Template Framework</component>
          <version>WebKit 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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1229087</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-09-12 22:12:56 -0700</bug_when>
    <thetext>If a thread dies right as it falls out of parkConditionally, then unparkOne() and friends might die because they will dereference a deallocated ThreadData.

The solution is to ref-count ThreadData&apos;s.  When unparkOne() and friends want to hold onto a ThreadData past the queue lock, they can +1 the ref count.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229088</commentid>
    <comment_count>1</comment_count>
      <attachid>288674</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-09-12 22:14:15 -0700</bug_when>
    <thetext>Created attachment 288674
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229156</commentid>
    <comment_count>2</comment_count>
      <attachid>288674</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-09-13 07:31:16 -0700</bug_when>
    <thetext>Comment on attachment 288674
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229170</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-09-13 09:01:48 -0700</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/205859</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229256</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-09-13 12:27:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/23594388&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288674</attachid>
            <date>2016-09-12 22:14:15 -0700</date>
            <delta_ts>2016-09-13 07:31:16 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>3731</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDU4NTApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA5LTEyICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CisKKyAgICAgICAgUGFya2luZ0xvdCBpcyBnb2luZyB0byBoYXZlIGEgYmFk
IHRpbWUgd2l0aCB0aHJlYWRzIGR5aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjE4OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIElmIGEgdGhyZWFkIGRpZXMgcmlnaHQgYXMgaXQgZmFs
bHMgb3V0IG9mIHBhcmtDb25kaXRpb25hbGx5LCB0aGVuIHVucGFya09uZSgpIGFuZCBmcmllbmRz
CisgICAgICAgIG1pZ2h0IGRpZSBiZWNhdXNlIHRoZXkgd2lsbCBkZXJlZmVyZW5jZSBhIGRlYWxs
b2NhdGVkIFRocmVhZERhdGEuCisKKyAgICAgICAgVGhlIHNvbHV0aW9uIGlzIHRvIHJlZi1jb3Vu
dCBUaHJlYWREYXRhJ3MuIFdoZW4gdW5wYXJrT25lKCkgYW5kIGZyaWVuZHMgd2FudCB0byBob2xk
IG9udG8gYQorICAgICAgICBUaHJlYWREYXRhIHBhc3QgdGhlIHF1ZXVlIGxvY2ssIHRoZXkgY2Fu
IHVzZSBSZWZQdHI8Pi4KKworICAgICAgICAqIHd0Zi9QYXJraW5nTG90LmNwcDoKKyAgICAgICAg
KFdURjo6UGFya2luZ0xvdDo6dW5wYXJrT25lKToKKyAgICAgICAgKFdURjo6UGFya2luZ0xvdDo6
dW5wYXJrT25lSW1wbCk6CisgICAgICAgIChXVEY6OlBhcmtpbmdMb3Q6OnVucGFya0FsbCk6CisK
IDIwMTYtMDktMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXggcG9zdC1sYW5kaW5nIHJldmlldyBjb21tZW50cyBhZnRlciByMjA1Nzg3CkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9QYXJraW5nTG90LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9Q
YXJraW5nTG90LmNwcAkocmV2aXNpb24gMjA1NzkwKQorKysgU291cmNlL1dURi93dGYvUGFya2lu
Z0xvdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIHsKIAog
Y29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiAKLXN0cnVjdCBUaHJlYWREYXRhIHsKK3N0cnVj
dCBUaHJlYWREYXRhIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFRocmVhZERhdGE+IHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAKQEAgLTI0NSw3ICsy
NDUsNiBAQCBzdHJ1Y3QgSGFzaHRhYmxlIHsKICAgICB9CiB9OwogCi1UaHJlYWRTcGVjaWZpYzxU
aHJlYWREYXRhPiogdGhyZWFkRGF0YTsKIEF0b21pYzxIYXNodGFibGUqPiBoYXNodGFibGU7CiBB
dG9taWM8dW5zaWduZWQ+IG51bVRocmVhZHM7CiAKQEAgLTQ0OCwxNCArNDQ3LDIwIEBAIFRocmVh
ZERhdGE6On5UaHJlYWREYXRhKCkKIAogVGhyZWFkRGF0YSogbXlUaHJlYWREYXRhKCkKIHsKKyAg
ICBzdGF0aWMgVGhyZWFkU3BlY2lmaWM8UmVmUHRyPFRocmVhZERhdGE+PiogdGhyZWFkRGF0YTsK
ICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgaW5pdGlhbGl6ZU9uY2U7CiAgICAgc3RkOjpjYWxs
X29uY2UoCiAgICAgICAgIGluaXRpYWxpemVPbmNlLAogICAgICAgICBbXSB7Ci0gICAgICAgICAg
ICB0aHJlYWREYXRhID0gbmV3IFRocmVhZFNwZWNpZmljPFRocmVhZERhdGE+KCk7CisgICAgICAg
ICAgICB0aHJlYWREYXRhID0gbmV3IFRocmVhZFNwZWNpZmljPFJlZlB0cjxUaHJlYWREYXRhPj4o
KTsKICAgICAgICAgfSk7Ci0KLSAgICByZXR1cm4gKnRocmVhZERhdGE7CisgICAgCisgICAgUmVm
UHRyPFRocmVhZERhdGE+JiByZXN1bHQgPSAqKnRocmVhZERhdGE7CisgICAgCisgICAgaWYgKCFy
ZXN1bHQpCisgICAgICAgIHJlc3VsdCA9IGFkb3B0UmVmKG5ldyBUaHJlYWREYXRhKCkpOworICAg
IAorICAgIHJldHVybiByZXN1bHQuZ2V0KCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0
b3I+CkBAIC02NTksNyArNjY0LDcgQEAgTkVWRVJfSU5MSU5FIFBhcmtpbmdMb3Q6OlVucGFya1Jl
c3VsdCBQYQogICAgIAogICAgIFVucGFya1Jlc3VsdCByZXN1bHQ7CiAKLSAgICBUaHJlYWREYXRh
KiB0aHJlYWREYXRhID0gbnVsbHB0cjsKKyAgICBSZWZQdHI8VGhyZWFkRGF0YT4gdGhyZWFkRGF0
YTsKICAgICByZXN1bHQubWF5SGF2ZU1vcmVUaHJlYWRzID0gZGVxdWV1ZSgKICAgICAgICAgYWRk
cmVzcywKICAgICAgICAgQnVja2V0TW9kZTo6RW5zdXJlTm9uRW1wdHksCkBAIC02OTcsNyArNzAy
LDcgQEAgTkVWRVJfSU5MSU5FIHZvaWQgUGFya2luZ0xvdDo6dW5wYXJrT25lSQogICAgIGlmICh2
ZXJib3NlKQogICAgICAgICBkYXRhTG9nKHRvU3RyaW5nKGN1cnJlbnRUaHJlYWQoKSwgIjogdW5w
YXJraW5nIG9uZSB0aGUgaGFyZCB3YXkuXG4iKSk7CiAgICAgCi0gICAgVGhyZWFkRGF0YSogdGhy
ZWFkRGF0YSA9IG51bGxwdHI7CisgICAgUmVmUHRyPFRocmVhZERhdGE+IHRocmVhZERhdGE7CiAg
ICAgYm9vbCB0aW1lVG9CZUZhaXIgPSBmYWxzZTsKICAgICBkZXF1ZXVlKAogICAgICAgICBhZGRy
ZXNzLApAQCAtNzM4LDcgKzc0Myw3IEBAIE5FVkVSX0lOTElORSB2b2lkIFBhcmtpbmdMb3Q6OnVu
cGFya0FsbCgKICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgZGF0YUxvZyh0b1N0cmluZyhjdXJy
ZW50VGhyZWFkKCksICI6IHVucGFya2luZyBhbGwgZnJvbSAiLCBSYXdQb2ludGVyKGFkZHJlc3Mp
LCAiLlxuIikpOwogICAgIAotICAgIFZlY3RvcjxUaHJlYWREYXRhKiwgOD4gdGhyZWFkRGF0YXM7
CisgICAgVmVjdG9yPFJlZlB0cjxUaHJlYWREYXRhPiwgOD4gdGhyZWFkRGF0YXM7CiAgICAgZGVx
dWV1ZSgKICAgICAgICAgYWRkcmVzcywKICAgICAgICAgQnVja2V0TW9kZTo6SWdub3JlRW1wdHks
CkBAIC03NTIsOSArNzU3LDkgQEAgTkVWRVJfSU5MSU5FIHZvaWQgUGFya2luZ0xvdDo6dW5wYXJr
QWxsKAogICAgICAgICB9LAogICAgICAgICBbXSAoYm9vbCkgeyB9KTsKIAotICAgIGZvciAoVGhy
ZWFkRGF0YSogdGhyZWFkRGF0YSA6IHRocmVhZERhdGFzKSB7CisgICAgZm9yIChSZWZQdHI8VGhy
ZWFkRGF0YT4mIHRocmVhZERhdGEgOiB0aHJlYWREYXRhcykgewogICAgICAgICBpZiAodmVyYm9z
ZSkKLSAgICAgICAgICAgIGRhdGFMb2codG9TdHJpbmcoY3VycmVudFRocmVhZCgpLCAiOiB1bnBh
cmtpbmcgIiwgUmF3UG9pbnRlcih0aHJlYWREYXRhKSwgIiB3aXRoIGFkZHJlc3MgIiwgUmF3UG9p
bnRlcih0aHJlYWREYXRhLT5hZGRyZXNzKSwgIlxuIikpOworICAgICAgICAgICAgZGF0YUxvZyh0
b1N0cmluZyhjdXJyZW50VGhyZWFkKCksICI6IHVucGFya2luZyAiLCBSYXdQb2ludGVyKHRocmVh
ZERhdGEuZ2V0KCkpLCAiIHdpdGggYWRkcmVzcyAiLCBSYXdQb2ludGVyKHRocmVhZERhdGEtPmFk
ZHJlc3MpLCAiXG4iKSk7CiAgICAgICAgIEFTU0VSVCh0aHJlYWREYXRhLT5hZGRyZXNzKTsKICAg
ICAgICAgewogICAgICAgICAgICAgc3RkOjp1bmlxdWVfbG9jazxzdGQ6Om11dGV4PiBsb2NrZXIo
dGhyZWFkRGF0YS0+cGFya2luZ0xvY2spOwo=
</data>
<flag name="review"
          id="311971"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>