<?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>65436</bug_id>
          
          <creation_ts>2011-07-31 14:58:28 -0700</creation_ts>
          <short_desc>Use threadsafeCopy() API when using Database Directory path variable</short_desc>
          <delta_ts>2019-05-02 16:23:13 -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>New Bugs</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="Srikumar B">srikumar.b</reporter>
          <assigned_to name="Srikumar B">srikumar.b</assigned_to>
          <cc>ap</cc>
    
    <cc>levin</cc>
    
    <cc>nagar28496</cc>
    
    <cc>srikumar.b</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>444459</commentid>
    <comment_count>0</comment_count>
    <who name="Srikumar B">srikumar.b</who>
    <bug_when>2011-07-31 14:58:28 -0700</bug_when>
    <thetext>Use threadsafeCopy() while using m_databaseDirectoryPath in DatabaseTracker class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444466</commentid>
    <comment_count>1</comment_count>
      <attachid>102468</attachid>
    <who name="Srikumar B">srikumar.b</who>
    <bug_when>2011-07-31 15:31:05 -0700</bug_when>
    <thetext>Created attachment 102468
patch file

Attaching the patch file with the changes to use threadsafeCopy() API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444815</commentid>
    <comment_count>2</comment_count>
    <who name="Srikumar B">srikumar.b</who>
    <bug_when>2011-08-01 13:05:54 -0700</bug_when>
    <thetext>tracker database path(m_databaseDirectoryPath) is being used in multiple places. 

trackerDatabasePath() and deleteOrigin() APIs currently use the DB path without using threadsafeCopy() but these APIs can be called from multiple threads as this tracker DB path is common for all threads which use Database</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444966</commentid>
    <comment_count>3</comment_count>
    <who name="Srikumar B">srikumar.b</who>
    <bug_when>2011-08-01 16:08:55 -0700</bug_when>
    <thetext>Kindly assign the bug to me if there are any comments in the review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444994</commentid>
    <comment_count>4</comment_count>
      <attachid>102468</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-08-01 16:54:20 -0700</bug_when>
    <thetext>Comment on attachment 102468
patch file

View in context: https://bugs.webkit.org/attachment.cgi?id=102468&amp;action=review

&gt; Source/WebCore/ChangeLog:8
&gt; +        Use threadsafeCopy() API when using m_databaseDirectoryPath string variable

when the databaseGuard lock hasn&apos;t been taken

&gt; Source/WebCore/storage/DatabaseTracker.cpp:105
&gt; +    return SQLiteFileSystem::appendDatabaseFileNameToPath(m_databaseDirectoryPath.threadsafeCopy(), &quot;Databases.db&quot;);

This one seems good.

&gt; Source/WebCore/storage/DatabaseTracker.cpp:820
&gt; +           SQLiteFileSystem::deleteEmptyDatabaseDirectory(m_databaseDirectoryPath.threadsafeCopy());

This seems unnecessary since the lock m_databaseGuard has been taken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445031</commentid>
    <comment_count>5</comment_count>
      <attachid>102598</attachid>
    <who name="Srikumar B">srikumar.b</who>
    <bug_when>2011-08-01 17:36:35 -0700</bug_when>
    <thetext>Created attachment 102598
revised patch with the comments from David Levin

David,
Thanks for the comments. I updated the patch with reference to your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445039</commentid>
    <comment_count>6</comment_count>
      <attachid>102598</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-01 17:50:07 -0700</bug_when>
    <thetext>Comment on attachment 102598
revised patch with the comments from David Levin

Clearing flags on attachment: 102598

Committed r92157: &lt;http://trac.webkit.org/changeset/92157&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445040</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-01 17:50:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102468</attachid>
            <date>2011-07-31 15:31:05 -0700</date>
            <delta_ts>2011-08-01 16:54:20 -0700</delta_ts>
            <desc>patch file</desc>
            <filename>65436.patch</filename>
            <type>text/plain</type>
            <size>2033</size>
            <attacher name="Srikumar B">srikumar.b</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyMDkwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDctMzEgIHNyaWt1bWFy
IGJvbmRhICA8c3Jpa3VtYXIuYkBnbWFpbC5jb20+CisKKyAgICAgICAgVXNlIHRocmVhZHNhZmVD
b3B5KCkgQVBJIHdoZW4gdXNpbmcgRGF0YWJhc2UgRGlyZWN0b3J5IHBhdGggdmFyaWFibGUgCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSB0aHJlYWRz
YWZlQ29weSgpIEFQSSB3aGVuIHVzaW5nIG1fZGF0YWJhc2VEaXJlY3RvcnlQYXRoIHN0cmluZyB2
YXJpYWJsZQorICAgICAgICBpbiBEYXRhYmFzZVRyYWNrZXIgY2xhc3MuIFRoaXMgaXMganVzdCBh
IHNhZmV0eSBmaXguCisKKyAgICAgICAgTm8gY2hhbmdlcyB0byBmdW5jdGlvbmFsaXR5IHNvIG5v
IG5ldyB0ZXN0cy4KKworICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlckRhdGFiYXNlUGF0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OmRlbGV0ZU9yaWdpbik6CisKIDIwMTEt
MDctMzEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9O
OiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKSBtZXRob2Qgb2YgUmFuZ2UgaW5jb3JyZWN0bHkgcmV0
dXJucyBudWxsIGZvciBjb2xsYXBzZWQgUmFuZ2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUcmFja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlVHJhY2tlci5jcHAJKHJldmlzaW9uIDkyMDkwKQorKysgU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNyAr
MTAyLDcgQEAgU3RyaW5nIERhdGFiYXNlVHJhY2tlcjo6ZGF0YWJhc2VEaXJlY3RvcgogCiBTdHJp
bmcgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyRGF0YWJhc2VQYXRoKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gU1FMaXRlRmlsZVN5c3RlbTo6YXBwZW5kRGF0YWJhc2VGaWxlTmFtZVRvUGF0aChtX2Rh
dGFiYXNlRGlyZWN0b3J5UGF0aCwgIkRhdGFiYXNlcy5kYiIpOworICAgIHJldHVybiBTUUxpdGVG
aWxlU3lzdGVtOjphcHBlbmREYXRhYmFzZUZpbGVOYW1lVG9QYXRoKG1fZGF0YWJhc2VEaXJlY3Rv
cnlQYXRoLnRocmVhZHNhZmVDb3B5KCksICJEYXRhYmFzZXMuZGIiKTsKIH0KIAogdm9pZCBEYXRh
YmFzZVRyYWNrZXI6Om9wZW5UcmFja2VyRGF0YWJhc2UoYm9vbCBjcmVhdGVJZkRvZXNOb3RFeGlz
dCkKQEAgLTgxNyw3ICs4MTcsNyBAQCBib29sIERhdGFiYXNlVHJhY2tlcjo6ZGVsZXRlT3JpZ2lu
KFNlY3VyCiAgICAgICAgICAgICBpZiAobV9kYXRhYmFzZS5pc09wZW4oKSkKICAgICAgICAgICAg
ICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CiAgICAgICAgICAgIFNRTGl0ZUZpbGVTeXN0ZW06OmRl
bGV0ZURhdGFiYXNlRmlsZSh0cmFja2VyRGF0YWJhc2VQYXRoKCkpOwotICAgICAgICAgICBTUUxp
dGVGaWxlU3lzdGVtOjpkZWxldGVFbXB0eURhdGFiYXNlRGlyZWN0b3J5KG1fZGF0YWJhc2VEaXJl
Y3RvcnlQYXRoKTsKKyAgICAgICAgICAgU1FMaXRlRmlsZVN5c3RlbTo6ZGVsZXRlRW1wdHlEYXRh
YmFzZURpcmVjdG9yeShtX2RhdGFiYXNlRGlyZWN0b3J5UGF0aC50aHJlYWRzYWZlQ29weSgpKTsK
ICAgICAgICAgfQogCiAgICAgICAgIGlmIChtX2NsaWVudCkgewo=
</data>
<flag name="review"
          id="97730"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102598</attachid>
            <date>2011-08-01 17:36:35 -0700</date>
            <delta_ts>2011-08-01 17:50:07 -0700</delta_ts>
            <desc>revised patch with the comments from David Levin</desc>
            <filename>65436.patch</filename>
            <type>text/plain</type>
            <size>1656</size>
            <attacher name="Srikumar B">srikumar.b</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyMDkwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDctMzEgIHNyaWt1bWFy
IGJvbmRhICA8c3Jpa3VtYXIuYkBnbWFpbC5jb20+CisKKyAgICAgICAgVXNlIHRocmVhZHNhZmVD
b3B5KCkgQVBJIHdoZW4gdXNpbmcgRGF0YWJhc2UgRGlyZWN0b3J5IHBhdGggdmFyaWFibGUgCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSB0aHJlYWRz
YWZlQ29weSgpIEFQSSB3aGlsZSB1c2luZyBtX2RhdGFiYXNlRGlyZWN0b3J5UGF0aCBzdHJpbmcg
dmFyaWFibGUKKyAgICAgICAgd2hlbiB0aGUgZGF0YWJhc2VHdWFyZCBsb2NrIGhhc24ndCBiZWVu
IHRha2VuIGluIERhdGFiYXNlVHJhY2tlciBjbGFzcy4gCisgICAgICAgIFRoaXMgaXMganVzdCBh
IHNhZmV0eSBmaXguCisKKyAgICAgICAgTm8gY2hhbmdlcyB0byBmdW5jdGlvbmFsaXR5IHNvIG5v
IG5ldyB0ZXN0cy4KKworICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlckRhdGFiYXNlUGF0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OmRlbGV0ZU9yaWdpbik6CisKIDIwMTEt
MDctMzEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9O
OiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKSBtZXRob2Qgb2YgUmFuZ2UgaW5jb3JyZWN0bHkgcmV0
dXJucyBudWxsIGZvciBjb2xsYXBzZWQgUmFuZ2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUcmFja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlVHJhY2tlci5jcHAJKHJldmlzaW9uIDkyMDkwKQorKysgU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNyAr
MTAyLDcgQEAgU3RyaW5nIERhdGFiYXNlVHJhY2tlcjo6ZGF0YWJhc2VEaXJlY3RvcgogCiBTdHJp
bmcgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyRGF0YWJhc2VQYXRoKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gU1FMaXRlRmlsZVN5c3RlbTo6YXBwZW5kRGF0YWJhc2VGaWxlTmFtZVRvUGF0aChtX2Rh
dGFiYXNlRGlyZWN0b3J5UGF0aCwgIkRhdGFiYXNlcy5kYiIpOworICAgIHJldHVybiBTUUxpdGVG
aWxlU3lzdGVtOjphcHBlbmREYXRhYmFzZUZpbGVOYW1lVG9QYXRoKG1fZGF0YWJhc2VEaXJlY3Rv
cnlQYXRoLnRocmVhZHNhZmVDb3B5KCksICJEYXRhYmFzZXMuZGIiKTsKIH0KIAogdm9pZCBEYXRh
YmFzZVRyYWNrZXI6Om9wZW5UcmFja2VyRGF0YWJhc2UoYm9vbCBjcmVhdGVJZkRvZXNOb3RFeGlz
dCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>