<?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>31149</bug_id>
          
          <creation_ts>2009-11-04 19:03:44 -0800</creation_ts>
          <short_desc>Calling databaseIdentifier on LocalStorage&apos;s background thread is not safe.</short_desc>
          <delta_ts>2009-11-05 00:58: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>New Bugs</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>1</everconfirmed>
          <reporter name="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Jeremy Orlow">jorlow</assigned_to>
          <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>jorlow</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>160688</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-11-04 19:03:44 -0800</bug_when>
    <thetext>Calling SecurityOrigin::databaseIdentifier on LocalStorage&apos;s background thread is not safe.  databaseIdentifier does a bunch of string concatenation which ref-counts StringImpls in some cases.  This was caught by valgrind thread sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645

There&apos;s no way to test for such racyness, unfortunately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160689</commentid>
    <comment_count>1</comment_count>
      <attachid>42537</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-11-04 19:05:58 -0800</bug_when>
    <thetext>Created attachment 42537
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160757</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-11-05 00:58:56 -0800</bug_when>
    <thetext>Committed r50557: &lt;http://trac.webkit.org/changeset/50557&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42537</attachid>
            <date>2009-11-04 19:05:58 -0800</date>
            <delta_ts>2009-11-05 00:41:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31149-20091104190553.patch</filename>
            <type>text/plain</type>
            <size>4524</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDUzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMTEtMDQgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2FsbGluZyBkYXRhYmFzZUlkZW50aWZpZXIgb24gTG9jYWxTdG9yYWdlJ3MgYmFja2dyb3VuZCB0
aHJlYWQgaXMgbm90IHNhZmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMTE0OQorCisgICAgICAgIENhbGxpbmcgU2VjdXJpdHlPcmlnaW46OmRhdGFi
YXNlSWRlbnRpZmllciBvbiBMb2NhbFN0b3JhZ2UncyBiYWNrZ3JvdW5kIHRocmVhZAorICAgICAg
ICBpcyBub3Qgc2FmZS4gIGRhdGFiYXNlSWRlbnRpZmllciBkb2VzIGEgYnVuY2ggb2Ygc3RyaW5n
IGNvbmNhdGVuYXRpb24gd2hpY2gKKyAgICAgICAgcmVmLWNvdW50cyBTdHJpbmdJbXBscyBpbiBz
b21lIGNhc2VzLiAgVGhpcyB3YXMgY2F1Z2h0IGJ5IHZhbGdyaW5kIHRocmVhZAorICAgICAgICBz
YW5pdGl6ZXI6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWls
P2lkPTI1NjQ1CisKKyAgICAgICAgVGhlcmUncyBubyB3YXkgdG8gdGVzdCBmb3Igc3VjaCByYWN5
bmVzcywgdW5mb3J0dW5hdGVseS4KKworICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5j
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhU3luYzo6U3RvcmFnZUFyZWFTeW5j
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhU3luYzo6cGVyZm9ybUltcG9ydCk6Cisg
ICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuaDoKKyAgICAgICAgKiBzdG9yYWdlL1N0
b3JhZ2VTeW5jTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlU3luY01hbmFn
ZXI6OmZ1bGxEYXRhYmFzZUZpbGVuYW1lKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VTeW5j
TWFuYWdlci5oOgorCiAyMDA5LTExLTA0ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJzb24uCkluZGV4OiBXZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZUFyZWFTeW5jLmNwcAkocmV2aXNpb24gNTA1MzYpCisrKyBXZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZUFyZWFTeW5jLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAi
SFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNR
TGl0ZVN0YXRlbWVudC5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhSW1wbC5oIgogI2luY2x1ZGUg
IlN0b3JhZ2VTeW5jTWFuYWdlci5oIgpAQCAtNTMsNiArNTQsNyBAQCBTdG9yYWdlQXJlYVN5bmM6
OlN0b3JhZ2VBcmVhU3luYyhQYXNzUmVmCiAgICAgLCBtX2ZpbmFsU3luY1NjaGVkdWxlZChmYWxz
ZSkKICAgICAsIG1fc3RvcmFnZUFyZWEoc3RvcmFnZUFyZWEpCiAgICAgLCBtX3N5bmNNYW5hZ2Vy
KHN0b3JhZ2VTeW5jTWFuYWdlcikKKyAgICAsIG1fZGF0YWJhc2VJZGVudGlmaWVyKHN0b3JhZ2VB
cmVhLT5zZWN1cml0eU9yaWdpbigpLT5kYXRhYmFzZUlkZW50aWZpZXIoKS5jcm9zc1RocmVhZFN0
cmluZygpKQogICAgICwgbV9jbGVhckl0ZW1zV2hpbGVTeW5jaW5nKGZhbHNlKQogICAgICwgbV9z
eW5jU2NoZWR1bGVkKGZhbHNlKQogICAgICwgbV9pbXBvcnRDb21wbGV0ZShmYWxzZSkKQEAgLTE2
NSw3ICsxNjcsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6cGVyZm9ybUltcG9ydCgpCiAgICAg
QVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKCFtX2RhdGFiYXNlLmlzT3Blbigp
KTsKIAotICAgIFN0cmluZyBkYXRhYmFzZUZpbGVuYW1lID0gbV9zeW5jTWFuYWdlci0+ZnVsbERh
dGFiYXNlRmlsZW5hbWUobV9zdG9yYWdlQXJlYS0+c2VjdXJpdHlPcmlnaW4oKSk7CisgICAgU3Ry
aW5nIGRhdGFiYXNlRmlsZW5hbWUgPSBtX3N5bmNNYW5hZ2VyLT5mdWxsRGF0YWJhc2VGaWxlbmFt
ZShtX2RhdGFiYXNlSWRlbnRpZmllcik7CiAKICAgICBpZiAoZGF0YWJhc2VGaWxlbmFtZS5pc0Vt
cHR5KCkpIHsKICAgICAgICAgTE9HX0VSUk9SKCJGaWxlbmFtZSBmb3IgbG9jYWwgc3RvcmFnZSBk
YXRhYmFzZSBpcyBlbXB0eSAtIGNhbm5vdCBvcGVuIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UiKTsK
SW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmgJKHJldmlzaW9uIDUwNTM2KQorKysgV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCSh3b3JraW5nIGNvcHkpCkBAIC03OCw2ICs3
OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzeW5jVGltZXJGaXJlZChU
aW1lcjxTdG9yYWdlQXJlYVN5bmM+Kik7CiAgICAgICAgIHZvaWQgc3luYyhib29sIGNsZWFySXRl
bXMsIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiBpdGVtcyk7CiAKKyAgICAgICAgY29u
c3QgU3RyaW5nIG1fZGF0YWJhc2VJZGVudGlmaWVyOworCiAgICAgICAgIE11dGV4IG1fc3luY0xv
Y2s7CiAgICAgICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1faXRlbXNQZW5kaW5nU3luYzsK
ICAgICAgICAgYm9vbCBtX2NsZWFySXRlbXNXaGlsZVN5bmNpbmc7CkluZGV4OiBXZWJDb3JlL3N0
b3JhZ2UvU3RvcmFnZVN5bmNNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZVN5bmNNYW5hZ2VyLmNwcAkocmV2aXNpb24gNTA1MzYpCisrKyBXZWJDb3JlL3N0
b3JhZ2UvU3RvcmFnZVN5bmNNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTUgKzYx
LDE0IEBAIFN0b3JhZ2VTeW5jTWFuYWdlcjo6flN0b3JhZ2VTeW5jTWFuYWdlcigKICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogfQogCi1TdHJpbmcgU3RvcmFnZVN5bmNNYW5hZ2VyOjpmdWxs
RGF0YWJhc2VGaWxlbmFtZShTZWN1cml0eU9yaWdpbiogb3JpZ2luKQorU3RyaW5nIFN0b3JhZ2VT
eW5jTWFuYWdlcjo6ZnVsbERhdGFiYXNlRmlsZW5hbWUoY29uc3QgU3RyaW5nJiBkYXRhYmFzZUlk
ZW50aWZpZXIpCiB7Ci0gICAgQVNTRVJUKG9yaWdpbik7CiAgICAgaWYgKCFtYWtlQWxsRGlyZWN0
b3JpZXMobV9wYXRoKSkgewogICAgICAgICBMT0dfRVJST1IoIlVuYWJsZWQgdG8gY3JlYXRlIExv
Y2FsU3RvcmFnZSBkYXRhYmFzZSBwYXRoICVzIiwgbV9wYXRoLnV0ZjgoKS5kYXRhKCkpOwogICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQogCi0gICAgcmV0dXJuIHBhdGhCeUFwcGVuZGlu
Z0NvbXBvbmVudChtX3BhdGgsIG9yaWdpbi0+ZGF0YWJhc2VJZGVudGlmaWVyKCkgKyAiLmxvY2Fs
c3RvcmFnZSIpOworICAgIHJldHVybiBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobV9wYXRoLCBk
YXRhYmFzZUlkZW50aWZpZXIgKyAiLmxvY2Fsc3RvcmFnZSIpOwogfQogCiB2b2lkIFN0b3JhZ2VT
eW5jTWFuYWdlcjo6Y2xvc2UoKQpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFu
YWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlU3luY01hbmFnZXIu
aAkocmV2aXNpb24gNTA1MzYpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN5bmNNYW5hZ2Vy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIC8vIFRoZSBmb2xsb3dpbmcgbWVtYmVycyBhcmUgc3ViamVjdCB0byB0aHJlYWQgc3luY2hy
b25pemF0aW9uIGlzc3VlcwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVG8gYmUgY2FsbGVkIGZy
b20gdGhlIGJhY2tncm91bmQgdGhyZWFkOgotICAgICAgICBTdHJpbmcgZnVsbERhdGFiYXNlRmls
ZW5hbWUoU2VjdXJpdHlPcmlnaW4qKTsKKyAgICAgICAgU3RyaW5nIGZ1bGxEYXRhYmFzZUZpbGVu
YW1lKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VJZGVudGlmaWVyKTsKIAogICAgIHByaXZhdGU6CiAg
ICAgICAgIFN0cmluZyBtX3BhdGg7
</data>
<flag name="review"
          id="24084"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>