<?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>28920</bug_id>
          
          <creation_ts>2009-09-02 13:51:31 -0700</creation_ts>
          <short_desc>curl DNS lookup occurs on multiple threads but storage is not threadsafe</short_desc>
          <delta_ts>2009-09-02 14:08:52 -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>WebKit wx</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>0</everconfirmed>
          <reporter name="Kevin Watters">kevinwatters</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kevino</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>144295</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Watters">kevinwatters</who>
    <bug_when>2009-09-02 13:51:31 -0700</bug_when>
    <thetext>libcurl expects the user of the library to provide synchronization of shared data via the curl_share_setopt function.

I&apos;m seeing sporadic crashes in libcurl DNS code in wxWebKit on Windows, where libcurl uses a background thread to do DNS lookups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144297</commentid>
    <comment_count>1</comment_count>
      <attachid>38941</attachid>
    <who name="Kevin Watters">kevinwatters</who>
    <bug_when>2009-09-02 13:53:07 -0700</bug_when>
    <thetext>Created attachment 38941
Use Mutexes and curl_share_setopt to protect libcurl shared data</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144304</commentid>
    <comment_count>2</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2009-09-02 14:08:52 -0700</bug_when>
    <thetext>Landed in r47993, thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38941</attachid>
            <date>2009-09-02 13:53:07 -0700</date>
            <delta_ts>2009-09-02 13:54:07 -0700</delta_ts>
            <desc>Use Mutexes and curl_share_setopt to protect libcurl shared data</desc>
            <filename>curl_threading.patch</filename>
            <type>text/plain</type>
            <size>2862</size>
            <attacher name="Kevin Watters">kevinwatters</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Nzk5MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMDktMDIgIEtldmluIFdhdHRlcnMgIDxrZXZpbndhdHRlcnNA
Z21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFByb3RlY3QgbGliY3VybCBzaGFyZWQgZGF0YSB3aXRoIE11dGV4IG9iamVjdHMgdmlhIGN1
cmxfc2V0X3NoYXJlX29wdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI4OTIwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3Vy
Y2VIYW5kbGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNoYXJlZFJlc291cmNlTXV0
ZXgpOgorICAgICAgICAoV2ViQ29yZTo6Y3VybF9sb2NrX2NhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OmN1cmxfdW5sb2NrX2NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
SGFuZGxlTWFuYWdlcjo6UmVzb3VyY2VIYW5kbGVNYW5hZ2VyKToKKwogMjAwOS0wOS0wMiAgRGly
ayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
U2VpZGVsLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5k
bGVNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwCShyZXZpc2lvbiA0Nzk5MCkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAKIAogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8
c3RkaW8uaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC03Niw2ICs3NywzOSBAQAogICAgIHJldHVy
biBDU3RyaW5nKCk7CiB9CiAKK3N0YXRpYyBNdXRleCogc2hhcmVkUmVzb3VyY2VNdXRleChjdXJs
X2xvY2tfZGF0YSBkYXRhKSB7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChNdXRleCwgY29va2ll
TXV0ZXgsICgpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE11dGV4LCBkbnNNdXRleCwgKCkp
OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoTXV0ZXgsIHNoYXJlTXV0ZXgsICgpKTsKKworICAg
IHN3aXRjaCAoZGF0YSkgeworICAgICAgICBjYXNlIENVUkxfTE9DS19EQVRBX0NPT0tJRToKKyAg
ICAgICAgICAgIHJldHVybiAmY29va2llTXV0ZXg7CisgICAgICAgIGNhc2UgQ1VSTF9MT0NLX0RB
VEFfRE5TOgorICAgICAgICAgICAgcmV0dXJuICZkbnNNdXRleDsKKyAgICAgICAgY2FzZSBDVVJM
X0xPQ0tfREFUQV9TSEFSRToKKyAgICAgICAgICAgIHJldHVybiAmc2hhcmVNdXRleDsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAg
ICAgcmV0dXJuIE5VTEw7CisgICAgfQorfQorCisvLyBsaWJjdXJsIGRvZXMgbm90IGltcGxlbWVu
dCBpdHMgb3duIHRocmVhZCBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlcy4KKy8vIHRoZXNlIHR3
byBmdW5jdGlvbnMgcHJvdmlkZSBtdXRleGVzIGZvciBjb29raWVzLCBhbmQgZm9yIHRoZSBnbG9i
YWwgRE5TCisvLyBjYWNoZS4KK3N0YXRpYyB2b2lkIGN1cmxfbG9ja19jYWxsYmFjayhDVVJMKiBo
YW5kbGUsIGN1cmxfbG9ja19kYXRhIGRhdGEsIGN1cmxfbG9ja19hY2Nlc3MgYWNjZXNzLCB2b2lk
KiB1c2VyUHRyKQoreworICAgIGlmIChNdXRleCogbXV0ZXggPSBzaGFyZWRSZXNvdXJjZU11dGV4
KGRhdGEpKQorICAgICAgICBtdXRleC0+bG9jaygpOworfQorCitzdGF0aWMgdm9pZCBjdXJsX3Vu
bG9ja19jYWxsYmFjayhDVVJMKiBoYW5kbGUsIGN1cmxfbG9ja19kYXRhIGRhdGEsIHZvaWQqIHVz
ZXJQdHIpCit7CisgICAgaWYgKE11dGV4KiBtdXRleCA9IHNoYXJlZFJlc291cmNlTXV0ZXgoZGF0
YSkpCisgICAgICAgIG11dGV4LT51bmxvY2soKTsKK30KKwogUmVzb3VyY2VIYW5kbGVNYW5hZ2Vy
OjpSZXNvdXJjZUhhbmRsZU1hbmFnZXIoKQogICAgIDogbV9kb3dubG9hZFRpbWVyKHRoaXMsICZS
ZXNvdXJjZUhhbmRsZU1hbmFnZXI6OmRvd25sb2FkVGltZXJDYWxsYmFjaykKICAgICAsIG1fY29v
a2llSmFyRmlsZU5hbWUoMCkKQEAgLTg3LDYgKzEyMSw4IEBACiAgICAgbV9jdXJsU2hhcmVIYW5k
bGUgPSBjdXJsX3NoYXJlX2luaXQoKTsKICAgICBjdXJsX3NoYXJlX3NldG9wdChtX2N1cmxTaGFy
ZUhhbmRsZSwgQ1VSTFNIT1BUX1NIQVJFLCBDVVJMX0xPQ0tfREFUQV9DT09LSUUpOwogICAgIGN1
cmxfc2hhcmVfc2V0b3B0KG1fY3VybFNoYXJlSGFuZGxlLCBDVVJMU0hPUFRfU0hBUkUsIENVUkxf
TE9DS19EQVRBX0ROUyk7CisgICAgY3VybF9zaGFyZV9zZXRvcHQobV9jdXJsU2hhcmVIYW5kbGUs
IENVUkxTSE9QVF9MT0NLRlVOQywgY3VybF9sb2NrX2NhbGxiYWNrKTsKKyAgICBjdXJsX3NoYXJl
X3NldG9wdChtX2N1cmxTaGFyZUhhbmRsZSwgQ1VSTFNIT1BUX1VOTE9DS0ZVTkMsIGN1cmxfdW5s
b2NrX2NhbGxiYWNrKTsKIH0KIAogUmVzb3VyY2VIYW5kbGVNYW5hZ2VyOjp+UmVzb3VyY2VIYW5k
bGVNYW5hZ2VyKCkK
</data>
<flag name="review"
          id="19948"
          type_id="1"
          status="+"
          setter="kevino"
    />
    <flag name="commit-queue"
          id="19949"
          type_id="3"
          status="-"
          setter="kevino"
    />
          </attachment>
      

    </bug>

</bugzilla>