<?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>33005</bug_id>
          
          <creation_ts>2009-12-28 18:45:43 -0800</creation_ts>
          <short_desc>Move the call to DatabaseTracker::removeOpenDatabase() from Database::~Database() to Database::close() while preserving the order of all other calls</short_desc>
          <delta_ts>2009-12-29 12:52:18 -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>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="Dumitru Daniliuc">dumi</reporter>
          <assigned_to name="Dumitru Daniliuc">dumi</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>michaeln</cc>
    
    <cc>pam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>175368</commentid>
    <comment_count>0</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2009-12-28 18:45:43 -0800</bug_when>
    <thetext>We need to call DatabaseTracker::removeOpenDatabase() in Database::close() instead of Database::~Database(), because once we get to Database::~Database(), we cannot addref the object, schedule tasks on it on another thread, and so on. At the same time, we need to preserve the order in which things are done (such as, calling DatabaseTracker::addOpenDatabase() before actually opening the DB file), because the Chromium implementation was designed with certain assumptions in mind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175377</commentid>
    <comment_count>1</comment_count>
      <attachid>45585</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2009-12-28 19:54:11 -0800</bug_when>
    <thetext>Created attachment 45585
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175378</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-28 19:55:22 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45585 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175383</commentid>
    <comment_count>3</comment_count>
      <attachid>45585</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-12-28 20:18:57 -0800</bug_when>
    <thetext>Comment on attachment 45585
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175685</commentid>
    <comment_count>4</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2009-12-29 12:52:18 -0800</bug_when>
    <thetext>Landed as r52631.

Thanks for the quick review, Maciej!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45585</attachid>
            <date>2009-12-28 19:54:11 -0800</date>
            <delta_ts>2009-12-28 20:18:57 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5849</size>
            <attacher name="Dumitru Daniliuc">dumi</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MjYwNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMDktMTItMjggIER1bWl0cnUgRGFuaWxpdWMgIDxkdW1pQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAxLiBDaGFuZ2VzIHRoZSBvcmRlciBpbiB3aGljaCBzb21lIGZ1bmN0aW9ucyBhcmUgY2FsbGVk
IHRvIG1hdGNoCisgICAgICAgIHRoZSBwcmUtcjUyNTM2IG9yZGVyLiBOYW1lbHksIHdoZW4gYSBu
ZXcgRGF0YWJhc2Ugb2JqZWN0IGlzCisgICAgICAgIGNyZWF0ZWQsIERhdGFiYXNlVHJhY2tlcjo6
YWRkT3BlbkRhdGFiYXNlKCkgaXMgY2FsbGVkIGluIHRoZQorICAgICAgICBjb25zdHJ1Y3Rvciwg
YmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UgcmVsYXRlZCB0byB0aGF0IGRhdGFiYXNlCisgICAg
ICAgIChsaWtlIHRyeWluZyB0byBnZXQgYSBmaWxlIGhhbmRsZSB0byB0aGUgZGF0YWJhc2UKKyAg
ICAgICAgZmlsZSkuIENocm9taXVtJ3MgaW1wbGVtZW50YXRpb24gZGVwZW5kcyBvbiB0aGlzIG9y
ZGVyaW5nLgorICAgICAgICAyLiBDaGFuZ2VzIERhdGFiYXNlOjpwZXJmb3JtT3BlbkFuZFZlcmlm
eSgpIHRvIGNsb3NlIHRoZSBvcGVuCisgICAgICAgIGhhbmRsZSB0byB0aGUgZGF0YWJhc2UgZmls
ZSBpbW1lZGlhdGVseSBpZiB0aGUgZGF0YWJhc2UgdmVyc2lvbgorICAgICAgICBkb2VzIG5vdCBt
YXRjaCB0aGUgZXhwZWN0ZWQgb25lLiBUaGUgY3VycmVudCBiZWhhdmlvciBpcyB0byBhZGQKKyAg
ICAgICAgdGhlIERhdGFiYXNlIG9iamVjdCB0byBhIERhdGFiYXNlVGhyZWFkIGNvbGxlY3Rpb24g
YW5kIGxldCB0aGUKKyAgICAgICAgZGF0YWJhc2UgdGhyZWFkIGNsb3NlIHRoZSBoYW5kbGUgd2hl
biBpdCdzIGRlc3Ryb3llZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzMwMDUKKworICAgICAgICBBbGwgTGF5b3V0VGVzdHMvc3RvcmFnZSB0ZXN0
cyBwYXNzIGluIGNsZWFuIFdlYktpdCBhbmQgQ2hyb21pdW0KKyAgICAgICAgY2xpZW50cy4KKwor
ICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJh
c2U6Om9wZW5EYXRhYmFzZSk6IE5vdGlmeSBEYXRhYmFzZVRyYWNrZXIgYW5kCisgICAgICAgIERv
Y3VtZW50IHRoYXQgYSBEYXRhYmFzZSBvYmplY3QgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkICh3
aGVuIGEKKyAgICAgICAgZGF0YWJhc2UgZmlsZSBjYW5ub3QgYmUgb3BlbmVkLCBvciBpdHMgdmVy
c2lvbiBkb2Vzbid0IG1hdGNoIHRoZQorICAgICAgICBleHBlY3RlZCBvbmUpLgorICAgICAgICAo
V2ViQ29yZTo6RGF0YWJhc2U6OkRhdGFiYXNlKTogTm90aWZ5IERhdGFiYXNlVHJhY2tlciBhbmQg
RG9jdW1lbnQKKyAgICAgICAgdGhhdCBhIG5ldyBEYXRhYmFzZSBvYmplY3Qgd2FzIGNyZWF0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZTo6cGVyZm9ybU9wZW5BbmRWZXJpZnkpOiBJZiBh
IGRhdGFiYXNlIHZlcnNpb24KKyAgICAgICAgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIG9u
ZSwgaW1tZWRpYXRlbHkgY2xvc2UgdGhlIG9wZW4gZmlsZQorICAgICAgICBoYW5kbGUgdG8gdGhl
IGRhdGFiYXNlIGZpbGUuCisKIDIwMDktMTItMjggIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1
c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgWGFuIExvcGV6LgpJbmRleDogV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuY3BwCShyZXZpc2lvbiA1MjYwMikKKysr
IFdlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMSwxMyAr
MTMxLDEyIEBAIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERhdGFiYXNlOjpvcGVuRGF0YWIKICAgICBS
ZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlID0gYWRvcHRSZWYobmV3IERhdGFiYXNlKGRvY3VtZW50
LCBuYW1lLCBleHBlY3RlZFZlcnNpb24sIGRpc3BsYXlOYW1lLCBlc3RpbWF0ZWRTaXplKSk7CiAK
ICAgICBpZiAoIWRhdGFiYXNlLT5vcGVuQW5kVmVyaWZ5VmVyc2lvbihlKSkgewotICAgICAgIExP
RyhTdG9yYWdlQVBJLCAiRmFpbGVkIHRvIG9wZW4gYW5kIHZlcmlmeSB2ZXJzaW9uIChleHBlY3Rl
ZCAlcykgb2YgZGF0YWJhc2UgJXMiLCBleHBlY3RlZFZlcnNpb24uYXNjaWkoKS5kYXRhKCksIGRh
dGFiYXNlLT5kYXRhYmFzZURlYnVnTmFtZSgpLmFzY2lpKCkuZGF0YSgpKTsKLSAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgTE9HKFN0b3JhZ2VBUEksICJGYWlsZWQgdG8gb3BlbiBhbmQgdmVyaWZ5
IHZlcnNpb24gKGV4cGVjdGVkICVzKSBvZiBkYXRhYmFzZSAlcyIsIGV4cGVjdGVkVmVyc2lvbi5h
c2NpaSgpLmRhdGEoKSwgZGF0YWJhc2UtPmRhdGFiYXNlRGVidWdOYW1lKCkuYXNjaWkoKS5kYXRh
KCkpOworICAgICAgICBkb2N1bWVudC0+cmVtb3ZlT3BlbkRhdGFiYXNlKGRhdGFiYXNlLmdldCgp
KTsKKyAgICAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkucmVtb3ZlT3BlbkRhdGFiYXNl
KGRhdGFiYXNlLmdldCgpKTsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgRGF0YWJh
c2VUcmFja2VyOjp0cmFja2VyKCkuYWRkT3BlbkRhdGFiYXNlKGRhdGFiYXNlLmdldCgpKTsKLSAg
ICBkb2N1bWVudC0+YWRkT3BlbkRhdGFiYXNlKGRhdGFiYXNlLmdldCgpKTsKLQogICAgIERhdGFi
YXNlVHJhY2tlcjo6dHJhY2tlcigpLnNldERhdGFiYXNlRGV0YWlscyhkb2N1bWVudC0+c2VjdXJp
dHlPcmlnaW4oKSwgbmFtZSwgZGlzcGxheU5hbWUsIGVzdGltYXRlZFNpemUpOwogCiAgICAgZG9j
dW1lbnQtPnNldEhhc09wZW5EYXRhYmFzZXMoKTsKQEAgLTE4OSw2ICsxODgsOSBAQCBEYXRhYmFz
ZTo6RGF0YWJhc2UoRG9jdW1lbnQqIGRvY3VtZW50LCBjCiAgICAgQVNTRVJUKG1fZG9jdW1lbnQt
PmRhdGFiYXNlVGhyZWFkKCkpOwogCiAgICAgbV9maWxlbmFtZSA9IERhdGFiYXNlVHJhY2tlcjo6
dHJhY2tlcigpLmZ1bGxQYXRoRm9yRGF0YWJhc2UobV9tYWluVGhyZWFkU2VjdXJpdHlPcmlnaW4u
Z2V0KCksIG1fbmFtZSk7CisKKyAgICBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5hZGRPcGVu
RGF0YWJhc2UodGhpcyk7CisgICAgbV9kb2N1bWVudC0+YWRkT3BlbkRhdGFiYXNlKHRoaXMpOwog
fQogCiBzdGF0aWMgdm9pZCBkZXJlZkRvY3VtZW50KHZvaWQqIGRvY3VtZW50KQpAQCAtNDgwLDYg
KzQ4Miw4IEBAIGJvb2wgRGF0YWJhc2U6OnBlcmZvcm1PcGVuQW5kVmVyaWZ5KEV4Y2UKICAgICAg
ICAgICAgICAgICBpZiAoIW1fc3FsaXRlRGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBU
QUJMRSAiICsgZGF0YWJhc2VJbmZvVGFibGVOYW1lKCkgKyAiIChrZXkgVEVYVCBOT1QgTlVMTCBP
TiBDT05GTElDVCBGQUlMIFVOSVFVRSBPTiBDT05GTElDVCBSRVBMQUNFLHZhbHVlIFRFWFQgTk9U
IE5VTEwgT04gQ09ORkxJQ1QgRkFJTCk7IikpIHsKICAgICAgICAgICAgICAgICAgICAgTE9HX0VS
Uk9SKCJVbmFibGUgdG8gY3JlYXRlIHRhYmxlICVzIGluIGRhdGFiYXNlICVzIiwgZGF0YWJhc2VJ
bmZvVGFibGVOYW1lKCkuYXNjaWkoKS5kYXRhKCksIGRhdGFiYXNlRGVidWdOYW1lKCkuYXNjaWko
KS5kYXRhKCkpOwogICAgICAgICAgICAgICAgICAgICBlID0gSU5WQUxJRF9TVEFURV9FUlI7Cisg
ICAgICAgICAgICAgICAgICAgIC8vIENsb3NlIHRoZSBoYW5kbGUgdG8gdGhlIGRhdGFiYXNlIGZp
bGUuCisgICAgICAgICAgICAgICAgICAgIG1fc3FsaXRlRGF0YWJhc2UuY2xvc2UoKTsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KQEAgLTQ4Nyw2ICs0OTEsOCBAQCBib29sIERhdGFiYXNlOjpwZXJmb3JtT3BlbkFuZFZl
cmlmeShFeGNlCiAgICAgICAgICAgICBpZiAoIWdldFZlcnNpb25Gcm9tRGF0YWJhc2UoY3VycmVu
dFZlcnNpb24pKSB7CiAgICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZ2V0IGN1
cnJlbnQgdmVyc2lvbiBmcm9tIGRhdGFiYXNlICVzIiwgZGF0YWJhc2VEZWJ1Z05hbWUoKS5hc2Np
aSgpLmRhdGEoKSk7CiAgICAgICAgICAgICAgICAgZSA9IElOVkFMSURfU1RBVEVfRVJSOworICAg
ICAgICAgICAgICAgIC8vIENsb3NlIHRoZSBoYW5kbGUgdG8gdGhlIGRhdGFiYXNlIGZpbGUuCisg
ICAgICAgICAgICAgICAgbV9zcWxpdGVEYXRhYmFzZS5jbG9zZSgpOwogICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjdXJyZW50VmVy
c2lvbi5sZW5ndGgoKSkgewpAQCAtNDk2LDYgKzUwMiw4IEBAIGJvb2wgRGF0YWJhc2U6OnBlcmZv
cm1PcGVuQW5kVmVyaWZ5KEV4Y2UKICAgICAgICAgICAgICAgICBpZiAoIXNldFZlcnNpb25JbkRh
dGFiYXNlKG1fZXhwZWN0ZWRWZXJzaW9uKSkgewogICAgICAgICAgICAgICAgICAgICBMT0dfRVJS
T1IoIkZhaWxlZCB0byBzZXQgdmVyc2lvbiAlcyBpbiBkYXRhYmFzZSAlcyIsIG1fZXhwZWN0ZWRW
ZXJzaW9uLmFzY2lpKCkuZGF0YSgpLCBkYXRhYmFzZURlYnVnTmFtZSgpLmFzY2lpKCkuZGF0YSgp
KTsKICAgICAgICAgICAgICAgICAgICAgZSA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICAg
ICAgICAgICAgICAvLyBDbG9zZSB0aGUgaGFuZGxlIHRvIHRoZSBkYXRhYmFzZSBmaWxlLgorICAg
ICAgICAgICAgICAgICAgICBtX3NxbGl0ZURhdGFiYXNlLmNsb3NlKCk7CiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
Y3VycmVudFZlcnNpb24gPSBtX2V4cGVjdGVkVmVyc2lvbjsKQEAgLTUxNiw5ICs1MjQsMTMgQEAg
Ym9vbCBEYXRhYmFzZTo6cGVyZm9ybU9wZW5BbmRWZXJpZnkoRXhjZQogICAgICAgICBMT0coU3Rv
cmFnZUFQSSwgInBhZ2UgZXhwZWN0cyB2ZXJzaW9uICVzIGZyb20gZGF0YWJhc2UgJXMsIHdoaWNo
IGFjdHVhbGx5IGhhcyB2ZXJzaW9uIG5hbWUgJXMgLSBvcGVuRGF0YWJhc2UoKSBjYWxsIHdpbGwg
ZmFpbCIsIG1fZXhwZWN0ZWRWZXJzaW9uLmFzY2lpKCkuZGF0YSgpLAogICAgICAgICAgICAgZGF0
YWJhc2VEZWJ1Z05hbWUoKS5hc2NpaSgpLmRhdGEoKSwgY3VycmVudFZlcnNpb24uYXNjaWkoKS5k
YXRhKCkpOwogICAgICAgICBlID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIC8vIENsb3Nl
IHRoZSBoYW5kbGUgdG8gdGhlIGRhdGFiYXNlIGZpbGUuCisgICAgICAgIG1fc3FsaXRlRGF0YWJh
c2UuY2xvc2UoKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIC8vIEFsbCBj
aGVja3MgcGFzc2VkIGFuZCB3ZSBzdGlsbCBoYXZlIGEgaGFuZGxlIHRvIHRoaXMgZGF0YWJhc2Ug
ZmlsZS4KKyAgICAvLyBNYWtlIHN1cmUgRGF0YWJhc2VUaHJlYWQgY2xvc2VzIGl0IHdoZW4gRGF0
YWJhc2VUaHJlYWQgZ29lcyBhd2F5LgogICAgIG1fb3BlbmVkID0gdHJ1ZTsKICAgICBpZiAobV9k
b2N1bWVudC0+ZGF0YWJhc2VUaHJlYWQoKSkKICAgICAgICAgbV9kb2N1bWVudC0+ZGF0YWJhc2VU
aHJlYWQoKS0+cmVjb3JkRGF0YWJhc2VPcGVuKHRoaXMpOwo=
</data>
<flag name="review"
          id="27649"
          type_id="1"
          status="+"
          setter="mjs"
    />
    <flag name="commit-queue"
          id="27650"
          type_id="3"
          status="-"
          setter="dumi"
    />
          </attachment>
      

    </bug>

</bugzilla>