<?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>51860</bug_id>
          
          <creation_ts>2011-01-03 18:06:17 -0800</creation_ts>
          <short_desc>LEAK: Deallocate instance of ThreadFunctionInvocation if thread creation fails</short_desc>
          <delta_ts>2011-01-04 11:29:55 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aroben</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>328862</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-01-03 18:06:17 -0800</bug_when>
    <thetext>If either CreateThread() or _beginthreadex() fails then we should deallocate the instance of ThreadFunctionInvocation we created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328863</commentid>
    <comment_count>1</comment_count>
      <attachid>77857</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-01-03 18:08:01 -0800</bug_when>
    <thetext>Created attachment 77857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328905</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-03 23:44:44 -0800</bug_when>
    <thetext>Don&apos;t we have a cleaner way to do this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328908</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-01-03 23:53:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Don&apos;t we have a cleaner way to do this?

One idea was to use OwnPtr, but I was concerned that there might be a race condition between the time we copy the data structure pointed to by param in wtfThreadEntryPoint() and when the OwnPtr goes out of scope when we reach the end of createThreadInternal().

I&apos;ll look into this some more. If you have any insight/suggestions I would appreciate it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329069</commentid>
    <comment_count>4</comment_count>
      <attachid>77904</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-01-04 10:46:58 -0800</bug_when>
    <thetext>Created attachment 77904
Patch

Use OwnPtr based on a suggestion by Adam Roben for bug #51855</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329073</commentid>
    <comment_count>5</comment_count>
      <attachid>77905</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-01-04 10:49:35 -0800</bug_when>
    <thetext>Created attachment 77905
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329103</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-01-04 11:29:55 -0800</bug_when>
    <thetext>Committed r74983: &lt;http://trac.webkit.org/changeset/74983&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77857</attachid>
            <date>2011-01-03 18:08:01 -0800</date>
            <delta_ts>2011-01-04 10:46:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug51860.patch</filename>
            <type>text/plain</type>
            <size>1686</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzQ5NTMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDEtMDMgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExFQUs6IERlYWxsb2NhdGUgaW5z
dGFuY2Ugb2YgVGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uIGlmIHRocmVhZCBjcmVhdGlvbiBmYWls
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE4NjAK
KworICAgICAgICAqIHd0Zi9UaHJlYWRpbmdXaW4uY3BwOgorICAgICAgICAoV1RGOjpjcmVhdGVU
aHJlYWRJbnRlcm5hbCk6CisKIDIwMTEtMDEtMDMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1dpbi5jcHAJKHJldmlzaW9uIDc0ODk2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdXaW4uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMTMsNyArMjEzLDcgQEAgVGhyZWFkSWRlbnRpZmllciBjcmVhdGVUaHJlYWRJbnRlcm5h
bChUaAogewogICAgIHVuc2lnbmVkIHRocmVhZElkZW50aWZpZXIgPSAwOwogICAgIFRocmVhZElk
ZW50aWZpZXIgdGhyZWFkSUQgPSAwOwotICAgIFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbiogaW52
b2NhdGlvbiA9IG5ldyBUaHJlYWRGdW5jdGlvbkludm9jYXRpb24oZW50cnlQb2ludCwgZGF0YSk7
CisgICAgVGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uKiBpbnZvY2F0aW9uID0gbmV3IFRocmVhZEZ1
bmN0aW9uSW52b2NhdGlvbihlbnRyeVBvaW50LCBkYXRhKTsgLy8gRGVhbGxvY2F0ZWQgaW4gd3Rm
VGhyZWFkRW50cnlQb2ludCgpIGlmIGEgdGhyZWFkIGlzIGNyZWF0ZWQuCiAjaWYgT1MoV0lOQ0Up
CiAgICAgLy8gVGhpcyBpcyBzYWZlIG9uIFdJTkNFLCBzaW5jZSBDUlQgaXMgaW4gdGhlIGNvcmUg
YW5kIGlubmF0ZWx5IG11bHRpdGhyZWFkZWQuCiAgICAgLy8gT24gZGVza3RvcCBXaW5kb3dzLCBu
ZWVkIHRvIHVzZSBfYmVnaW50aHJlYWRleCAobm90IGF2YWlsYWJsZSBvbiBXaW5DRSkgaWYgdXNp
bmcgYW55IENSVCBmdW5jdGlvbnMKQEAgLTIyOSw2ICsyMjksNyBAQCBUaHJlYWRJZGVudGlmaWVy
IGNyZWF0ZVRocmVhZEludGVybmFsKFRoCiAjZWxzZQogICAgICAgICBMT0dfRVJST1IoIkZhaWxl
ZCB0byBjcmVhdGUgdGhyZWFkIGF0IGVudHJ5IHBvaW50ICVwIHdpdGggZGF0YSAlcDogJWxkIiwg
ZW50cnlQb2ludCwgZGF0YSwgZXJybm8pOwogI2VuZGlmCisgICAgICAgIGRlbGV0ZSBpbnZvY2F0
aW9uOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77904</attachid>
            <date>2011-01-04 10:46:58 -0800</date>
            <delta_ts>2011-01-04 10:49:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug51860_1.patch</filename>
            <type>text/plain</type>
            <size>1889</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzQ5NzMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDEtMDQgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExFQUs6IERlYWxsb2NhdGUgaW5z
dGFuY2Ugb2YgVGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uIGlmIHRocmVhZCBjcmVhdGlvbiBmYWls
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE4NjAK
KworICAgICAgICAqIHd0Zi9UaHJlYWRpbmdXaW4uY3BwOgorICAgICAgICAoV1RGOjpjcmVhdGVU
aHJlYWRJbnRlcm5hbCk6CisKIDIwMTEtMDEtMDMgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0u
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nV2luLmNwcAkocmV2aXNpb24gNzQ5NzIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1dpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwMiw2ICsxMDIsNyBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlclNlZWQuaD4KIAogbmFt
ZXNwYWNlIFdURiB7CkBAIC0yMTMsNyArMjE0LDcgQEAgVGhyZWFkSWRlbnRpZmllciBjcmVhdGVU
aHJlYWRJbnRlcm5hbChUaAogewogICAgIHVuc2lnbmVkIHRocmVhZElkZW50aWZpZXIgPSAwOwog
ICAgIFRocmVhZElkZW50aWZpZXIgdGhyZWFkSUQgPSAwOwotICAgIFRocmVhZEZ1bmN0aW9uSW52
b2NhdGlvbiogaW52b2NhdGlvbiA9IG5ldyBUaHJlYWRGdW5jdGlvbkludm9jYXRpb24oZW50cnlQ
b2ludCwgZGF0YSk7CisgICAgT3duUHRyPFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbj4gaW52b2Nh
dGlvbiA9IGFkb3B0UHRyKG5ldyBUaHJlYWRGdW5jdGlvbkludm9jYXRpb24oZW50cnlQb2ludCwg
ZGF0YSkpOwogI2lmIE9TKFdJTkNFKQogICAgIC8vIFRoaXMgaXMgc2FmZSBvbiBXSU5DRSwgc2lu
Y2UgQ1JUIGlzIGluIHRoZSBjb3JlIGFuZCBpbm5hdGVseSBtdWx0aXRocmVhZGVkLgogICAgIC8v
IE9uIGRlc2t0b3AgV2luZG93cywgbmVlZCB0byB1c2UgX2JlZ2ludGhyZWFkZXggKG5vdCBhdmFp
bGFibGUgb24gV2luQ0UpIGlmIHVzaW5nIGFueSBDUlQgZnVuY3Rpb25zCkBAIC0yMzIsNiArMjMz
LDkgQEAgVGhyZWFkSWRlbnRpZmllciBjcmVhdGVUaHJlYWRJbnRlcm5hbChUaAogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CiAKKyAgICAvLyBUaGUgdGhyZWFkIHdpbGwgdGFrZSBvd25lcnNoaXAg
b2YgaW52b2NhdGlvbi4KKyAgICBpbnZvY2F0aW9uLmxlYWtQdHIoKTsKKwogICAgIHRocmVhZElE
ID0gc3RhdGljX2Nhc3Q8VGhyZWFkSWRlbnRpZmllcj4odGhyZWFkSWRlbnRpZmllcik7CiAgICAg
c3RvcmVUaHJlYWRIYW5kbGVCeUlkZW50aWZpZXIodGhyZWFkSWRlbnRpZmllciwgdGhyZWFkSGFu
ZGxlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77905</attachid>
            <date>2011-01-04 10:49:35 -0800</date>
            <delta_ts>2011-01-04 11:04:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Bug51860_1.patch</filename>
            <type>text/plain</type>
            <size>2489</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzQ5NzMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDEtMDQgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExFQUs6IERlYWxsb2NhdGUgaW5z
dGFuY2Ugb2YgVGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uIGlmIHRocmVhZCBjcmVhdGlvbiBmYWls
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE4NjAK
KworICAgICAgICAqIHd0Zi9UaHJlYWRpbmdXaW4uY3BwOgorICAgICAgICAoV1RGOjpjcmVhdGVU
aHJlYWRJbnRlcm5hbCk6CisKIDIwMTEtMDEtMDMgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0u
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nV2luLmNwcAkocmV2aXNpb24gNzQ5NzIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1dpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwMiw2ICsxMDIsNyBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlclNlZWQuaD4KIAogbmFt
ZXNwYWNlIFdURiB7CkBAIC0yMTMsMTMgKzIxNCwxMyBAQCBUaHJlYWRJZGVudGlmaWVyIGNyZWF0
ZVRocmVhZEludGVybmFsKFRoCiB7CiAgICAgdW5zaWduZWQgdGhyZWFkSWRlbnRpZmllciA9IDA7
CiAgICAgVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJRCA9IDA7Ci0gICAgVGhyZWFkRnVuY3Rpb25J
bnZvY2F0aW9uKiBpbnZvY2F0aW9uID0gbmV3IFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbihlbnRy
eVBvaW50LCBkYXRhKTsKKyAgICBPd25QdHI8VGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uPiBpbnZv
Y2F0aW9uID0gYWRvcHRQdHIobmV3IFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbihlbnRyeVBvaW50
LCBkYXRhKSk7CiAjaWYgT1MoV0lOQ0UpCiAgICAgLy8gVGhpcyBpcyBzYWZlIG9uIFdJTkNFLCBz
aW5jZSBDUlQgaXMgaW4gdGhlIGNvcmUgYW5kIGlubmF0ZWx5IG11bHRpdGhyZWFkZWQuCiAgICAg
Ly8gT24gZGVza3RvcCBXaW5kb3dzLCBuZWVkIHRvIHVzZSBfYmVnaW50aHJlYWRleCAobm90IGF2
YWlsYWJsZSBvbiBXaW5DRSkgaWYgdXNpbmcgYW55IENSVCBmdW5jdGlvbnMKLSAgICBIQU5ETEUg
dGhyZWFkSGFuZGxlID0gQ3JlYXRlVGhyZWFkKDAsIDAsIChMUFRIUkVBRF9TVEFSVF9ST1VUSU5F
KXd0ZlRocmVhZEVudHJ5UG9pbnQsIGludm9jYXRpb24sIDAsIChMUERXT1JEKSZ0aHJlYWRJZGVu
dGlmaWVyKTsKKyAgICBIQU5ETEUgdGhyZWFkSGFuZGxlID0gQ3JlYXRlVGhyZWFkKDAsIDAsIChM
UFRIUkVBRF9TVEFSVF9ST1VUSU5FKXd0ZlRocmVhZEVudHJ5UG9pbnQsIGludm9jYXRpb24uZ2V0
KCksIDAsIChMUERXT1JEKSZ0aHJlYWRJZGVudGlmaWVyKTsKICNlbHNlCi0gICAgSEFORExFIHRo
cmVhZEhhbmRsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8SEFORExFPihfYmVnaW50aHJlYWRleCgwLCAw
LCB3dGZUaHJlYWRFbnRyeVBvaW50LCBpbnZvY2F0aW9uLCAwLCAmdGhyZWFkSWRlbnRpZmllcikp
OworICAgIEhBTkRMRSB0aHJlYWRIYW5kbGUgPSByZWludGVycHJldF9jYXN0PEhBTkRMRT4oX2Jl
Z2ludGhyZWFkZXgoMCwgMCwgd3RmVGhyZWFkRW50cnlQb2ludCwgaW52b2NhdGlvbi5nZXQoKSwg
MCwgJnRocmVhZElkZW50aWZpZXIpKTsKICNlbmRpZgogICAgIGlmICghdGhyZWFkSGFuZGxlKSB7
CiAjaWYgT1MoV0lOQ0UpCkBAIC0yMzIsNiArMjMzLDkgQEAgVGhyZWFkSWRlbnRpZmllciBjcmVh
dGVUaHJlYWRJbnRlcm5hbChUaAogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKKyAgICAvLyBU
aGUgdGhyZWFkIHdpbGwgdGFrZSBvd25lcnNoaXAgb2YgaW52b2NhdGlvbi4KKyAgICBpbnZvY2F0
aW9uLmxlYWtQdHIoKTsKKwogICAgIHRocmVhZElEID0gc3RhdGljX2Nhc3Q8VGhyZWFkSWRlbnRp
Zmllcj4odGhyZWFkSWRlbnRpZmllcik7CiAgICAgc3RvcmVUaHJlYWRIYW5kbGVCeUlkZW50aWZp
ZXIodGhyZWFkSWRlbnRpZmllciwgdGhyZWFkSGFuZGxlKTsKIAo=
</data>
<flag name="review"
          id="69133"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>