<?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>25788</bug_id>
          
          <creation_ts>2009-05-14 04:57:35 -0700</creation_ts>
          <short_desc>Reloading a page while a database transaction is in progress leaves the database locked.</short_desc>
          <delta_ts>2009-05-19 14:26:30 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>25711</dup_id>
          
          <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="Ben Murdoch">benm</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>121267</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2009-05-14 04:57:35 -0700</bug_when>
    <thetext>If the user navigates away from a page whilst a database transaction is in progress, the database lock is never released and subsequent accesses to that database fail.

This is what I think is happening:
- The transaction starts.
- Whilst the transaction is still executing, the user reloads the page.
- In the document::stopAllDatabases method, the database is stopped and the database thread asked to die.
- The page reloads.
- The transaction eventually finishes executing and schedules it&apos;s next step in the database thread. However the database thread was asked to die, and so is about to complete, which means the next transaction step is never executed and so the transaction is never committed or rolled back. So, the lock on the database file is never released.

I have a patch to fix and a layout test to verify in the works, should be ready soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121319</commentid>
    <comment_count>1</comment_count>
      <attachid>30343</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2009-05-14 09:27:11 -0700</bug_when>
    <thetext>Created attachment 30343
Proposed fix.

This patch fixes the bug by setting a busy handler for database transactions and running the error steps synchronously should the database the transaction was running on be stopped whilst it is running. The busy handler is needed to make transactions on the new page wait for the old transaction to complete and roll back before running.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121973</commentid>
    <comment_count>2</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2009-05-19 14:24:50 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of 25711 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30343</attachid>
            <date>2009-05-14 09:27:11 -0700</date>
            <delta_ts>2009-05-19 14:26:30 -0700</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>lock-patch-140509.txt</filename>
            <type>text/plain</type>
            <size>11393</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MzcwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDUtMTQgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgorCisgICAgICAgIElmIGEgZGF0YWJhc2UgdHJhbnNhY3Rpb24gaXMgaW50ZXJydXB0ZWQgYnkg
YSBuYXZpZ2F0aW9uIGFjdGlvbiwgdGhlIGxvY2sgb24gdGhhdCBkYXRhYmFzZSBpcyBuZXZlciBy
ZWxpbnF1aXNoZWQgYW5kIHN1YnNlcXVlbnQgYWNjZXNzZXMgdG8gdGhhdCBkYXRhYmFzZSBmYWls
LgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI1Nzg4CisgICAgICAgIAorICAgICAgICBUZXN0OiBzdG9yYWdlL2RhdGFiYXNlLWxvY2st
YWZ0ZXItcmVsb2FkLmh0bWwKKworICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6OnBlcmZvcm1PcGVuQW5kVmVyaWZ5KToKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGFiYXNlOjpidXN5SGFuZGxlcik6CisgICAgICAgICogc3RvcmFnZS9EYXRh
YmFzZS5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1FMVHJhbnNhY3Rpb246Om9wZW5UcmFuc2FjdGlvbkFuZFByZWZsaWdodCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbjo6cnVuQ3VycmVudFN0YXRlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbjo6aGFuZGxlQ3VycmVudFN0YXRlbWVudEVy
cm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRyYW5zYWN0aW9uOjpoYW5kbGVUcmFuc2FjdGlv
bkVycm9yKToKKwogMjAwOS0wNS0xNCAgWXVyeSBTZW1pa2hhdHNreSA8eXVyeXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IFdlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlLmNwcAkocmV2aXNpb24gNDM3MDIpCisrKyBXZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw5IEBACiAjaW5jbHVkZSAiU1FMaXRlU3Rh
dGVtZW50LmgiCiAjaW5jbHVkZSAiU1FMUmVzdWx0U2V0LmgiCiAjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KKyNpZiAhUExBVEZPUk0oV0lOX09TKQorI2luY2x1ZGUgPHRpbWUuaD4gLy8gZm9y
IG5hbm9zbGVlcCBpbiBEYXRhYmFzZTo6YnVzeUhhbmRsZXIKKyNlbmRpZgogI2VuZGlmCiAKICNp
ZiBVU0UoSlNDKQpAQCAtNDI4LDYgKzQzMSw3IEBAIGJvb2wgRGF0YWJhc2U6OnBlcmZvcm1PcGVu
QW5kVmVyaWZ5KEV4Y2UKIAogICAgIEFTU0VSVChtX2RhdGFiYXNlQXV0aG9yaXplcik7CiAgICAg
bV9zcWxpdGVEYXRhYmFzZS5zZXRBdXRob3JpemVyKG1fZGF0YWJhc2VBdXRob3JpemVyKTsKKyAg
ICBtX3NxbGl0ZURhdGFiYXNlLnNldEJ1c3lIYW5kbGVyKCZEYXRhYmFzZTo6YnVzeUhhbmRsZXIp
OwogCiAgICAgaWYgKCFtX3NxbGl0ZURhdGFiYXNlLnRhYmxlRXhpc3RzKGRhdGFiYXNlSW5mb1Rh
YmxlTmFtZSgpKSkgewogICAgICAgICBpZiAoIW1fc3FsaXRlRGF0YWJhc2UuZXhlY3V0ZUNvbW1h
bmQoIkNSRUFURSBUQUJMRSAiICsgZGF0YWJhc2VJbmZvVGFibGVOYW1lKCkgKyAiIChrZXkgVEVY
VCBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMIFVOSVFVRSBPTiBDT05GTElDVCBSRVBMQUNFLHZh
bHVlIFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCk7IikpIHsKQEAgLTYxNSw2ICs2MTks
MjQgQEAgU3RyaW5nIERhdGFiYXNlOjpzdHJpbmdJZGVudGlmaWVyKCkgY29ucwogICAgIHJldHVy
biBtX25hbWUuY29weSgpOwogfQogCitpbnQgRGF0YWJhc2U6OmJ1c3lIYW5kbGVyKHZvaWQqIHAs
IGludCBuKSB7CisgICAgaW50IG1pbGxpcyA9IDEwMDsKKyAgICB3aGlsZSAobi0tKSB7CisgICAg
ICAgIG1pbGxpcyArPSAxLjIqbWlsbGlzOworICAgIH0KKworICAgIC8vIENvZGUgZm9yIHNsZWVw
aW5nIGlzIHRha2VuIGZyb20gd3RmL1RDU3BpbkxvY2suaAorI2lmIFBMQVRGT1JNKFdJTl9PUykK
KyAgICBTbGVlcChtaWxsaXMpOworI2Vsc2UKKyAgICBzdHJ1Y3QgdGltZXNwZWMgdG07CisgICAg
dG0udHZfc2VjID0gbWlsbGlzIC8gMTAwMDsKKyAgICB0bS50dl9uc2VjID0gKG1pbGxpcyAlIDEw
MDApICogMTAwMDAwMDsKKyAgICBuYW5vc2xlZXAoJnRtLCBOVUxMKTsKKyNlbmRpZgorICAgIHJl
dHVybiBtaWxsaXMgPj0gTUFYX1NRTElURV9CVVNZX1dBSVRfVElNRSA/IDAgOiAxOworfQorCiAj
ZW5kaWYKIAogfQpJbmRleDogV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmgJKHJldmlzaW9uIDQzNzAyKQorKysgV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDEwIEBACiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKKworLy8gSWYgd2Ugc2xlZXAgZm9yIG1vcmUg
dGhlIDMwIHNlY29uZHMgd2hpbGUgYmxvY2tlZCBvbiBTUUxJVEVfQlVTWSwgZ2l2ZSB1cC4KKyNk
ZWZpbmUgTUFYX1NRTElURV9CVVNZX1dBSVRfVElNRSAzMDAwMAorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIERhdGFiYXNlQXV0aG9yaXplcjsKQEAgLTExNSw2ICsxMTksOCBAQCBwdWJs
aWM6CiAKICAgICBWZWN0b3I8U3RyaW5nPiBwZXJmb3JtR2V0VGFibGVOYW1lcygpOwogCisgICAg
c3RhdGljIGludCBidXN5SGFuZGxlcih2b2lkKiBwLCBpbnQgbik7CisKIHByaXZhdGU6CiAgICAg
RGF0YWJhc2UoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgZXhwZWN0ZWRWZXJzaW9uKTsKIApJbmRleDogV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24u
Y3BwCShyZXZpc2lvbiA0MzcwMikKKysrIFdlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMCw3ICsyMjAsNyBAQCB2b2lkIFNRTFRyYW5zYWN0aW9u
OjpvcGVuVHJhbnNhY3Rpb25BbmRQCiAgICAgbV9kYXRhYmFzZS0+bV9kYXRhYmFzZUF1dGhvcml6
ZXItPmVuYWJsZSgpOyAgICAKICAgICAKICAgICAvLyBUcmFuc2FjdGlvbiBTdGVwcyAxKzIgLSBP
cGVuIGEgdHJhbnNhY3Rpb24gdG8gdGhlIGRhdGFiYXNlLCBqdW1waW5nIHRvIHRoZSBlcnJvciBj
YWxsYmFjayBpZiB0aGF0IGZhaWxzCi0gICAgaWYgKCFtX3NxbGl0ZVRyYW5zYWN0aW9uLT5pblBy
b2dyZXNzKCkpIHsKKyAgICBpZiAoIW1fc3FsaXRlVHJhbnNhY3Rpb24tPmluUHJvZ3Jlc3MoKSAm
JiAhbV9kYXRhYmFzZS0+c3RvcHBlZCgpKSB7CiAgICAgICAgIEFTU0VSVCghbV9kYXRhYmFzZS0+
bV9zcWxpdGVEYXRhYmFzZS50cmFuc2FjdGlvbkluUHJvZ3Jlc3MoKSk7CiAgICAgICAgIG1fc3Fs
aXRlVHJhbnNhY3Rpb24uY2xlYXIoKTsKICAgICAgICAgbV90cmFuc2FjdGlvbkVycm9yID0gU1FM
RXJyb3I6OmNyZWF0ZSgwLCAidW5hYmxlIHRvIG9wZW4gYSB0cmFuc2FjdGlvbiB0byB0aGUgZGF0
YWJhc2UiKTsKQEAgLTMyMyw2ICszMjMsMTQgQEAgYm9vbCBTUUxUcmFuc2FjdGlvbjo6cnVuQ3Vy
cmVudFN0YXRlbWVudAogICAgIG1fZGF0YWJhc2UtPm1fZGF0YWJhc2VBdXRob3JpemVyLT5yZXNl
dCgpOwogICAgIAogICAgIGlmIChtX2N1cnJlbnRTdGF0ZW1lbnQtPmV4ZWN1dGUobV9kYXRhYmFz
ZS5nZXQoKSkpIHsKKyAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGFiYXNlIGhhcyBiZWVuIHN0
b3BwZWQuIFRoaXMgbWF5IGhhcHBlbiB3aGVuIHRoZSB1c2VyIG5hdmlnYXRlcyBhd2F5IGZyb20g
dGhlIHBhZ2UuCisgICAgICAgIC8vIFJ1biB0aGUgZXJyb3Igc3RlcHMgc3luY2hyb25vdXNseSB0
byBlbnN1cmUgdGhhdCB0aGlzIHRyYW5zYWN0aW9uIHRpZGllcyBpdHNlbGYgdXAuIElmIHRoZSBk
YXRhYmFzZSB0aHJlYWQKKyAgICAgICAgLy8gaGFzIGJlZW4gYXNrZWQgdG8gZGllLCB0aGVuIHdl
IHdpbGwgYmUgdW5hYmxlIHRvIHNjaGVkdWxlIGFzeW5jaHJvbm91cyBjbGVhbiB1cCBzdGVwcy4K
KyAgICAgICAgaWYobV9kYXRhYmFzZS0+c3RvcHBlZCgpKSB7CisgICAgICAgICAgICBoYW5kbGVD
dXJyZW50U3RhdGVtZW50RXJyb3IoKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgfQorCiAgICAgICAgIGlmIChtX2RhdGFiYXNlLT5tX2RhdGFiYXNlQXV0aG9yaXplci0+bGFz
dEFjdGlvbkNoYW5nZWREYXRhYmFzZSgpKSB7CiAgICAgICAgICAgICAvLyBGbGFnIHRoaXMgdHJh
bnNhY3Rpb24gYXMgaGF2aW5nIGNoYW5nZWQgdGhlIGRhdGFiYXNlIGZvciBsYXRlciBkZWxlZ2F0
ZSBub3RpZmljYXRpb24KICAgICAgICAgICAgIG1fbW9kaWZpZWREYXRhYmFzZSA9IHRydWU7CkBA
IC0zNTcsOCArMzY1LDggQEAgYm9vbCBTUUxUcmFuc2FjdGlvbjo6cnVuQ3VycmVudFN0YXRlbWVu
dAogdm9pZCBTUUxUcmFuc2FjdGlvbjo6aGFuZGxlQ3VycmVudFN0YXRlbWVudEVycm9yKCkKIHsK
ICAgICAvLyBUcmFuc2FjdGlvbiBTdGVwcyA2LmVycm9yIC0gQ2FsbCB0aGUgc3RhdGVtZW50J3Mg
ZXJyb3IgY2FsbGJhY2ssIGJ1dCBpZiB0aGVyZSB3YXMgbm8gZXJyb3IgY2FsbGJhY2ssCi0gICAg
Ly8ganVtcCB0byB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sKLSAgICBpZiAobV9jdXJy
ZW50U3RhdGVtZW50LT5oYXNTdGF0ZW1lbnRFcnJvckNhbGxiYWNrKCkpIHsKKyAgICAvLyBvciB0
aGUgZGF0YWJhc2UgaGFzIGJlZW4gc3RvcHBlZCBqdW1wIHRvIHRoZSB0cmFuc2FjdGlvbiBlcnJv
ciBjYWxsYmFjaworICAgIGlmIChtX2N1cnJlbnRTdGF0ZW1lbnQtPmhhc1N0YXRlbWVudEVycm9y
Q2FsbGJhY2soKSAmJiAhbV9kYXRhYmFzZS0+c3RvcHBlZCgpKSB7CiAgICAgICAgIG1fbmV4dFN0
ZXAgPSAmU1FMVHJhbnNhY3Rpb246OmRlbGl2ZXJTdGF0ZW1lbnRDYWxsYmFjazsKICAgICAgICAg
TE9HKFN0b3JhZ2VBUEksICJTY2hlZHVsaW5nIGRlbGl2ZXJTdGF0ZW1lbnRDYWxsYmFjayBmb3Ig
dHJhbnNhY3Rpb24gJXBcbiIsIHRoaXMpOwogICAgICAgICBtX2RhdGFiYXNlLT5zY2hlZHVsZVRy
YW5zYWN0aW9uQ2FsbGJhY2sodGhpcyk7CkBAIC00ODAsNyArNDg4LDcgQEAgdm9pZCBTUUxUcmFu
c2FjdGlvbjo6Y2xlYW51cEFmdGVyU3VjY2VzcwogCiB2b2lkIFNRTFRyYW5zYWN0aW9uOjpoYW5k
bGVUcmFuc2FjdGlvbkVycm9yKGJvb2wgaW5DYWxsYmFjaykKIHsKLSAgICBpZiAobV9lcnJvckNh
bGxiYWNrKSB7CisgICAgaWYgKG1fZXJyb3JDYWxsYmFjayAmJiAhbV9kYXRhYmFzZS0+c3RvcHBl
ZCgpKSB7CiAgICAgICAgIGlmIChpbkNhbGxiYWNrKQogICAgICAgICAgICAgZGVsaXZlclRyYW5z
YWN0aW9uRXJyb3JDYWxsYmFjaygpOwogICAgICAgICBlbHNlIHsKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDQzNzA3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMDktMDUtMTQgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29tPgorCisg
ICAgICAgIElmIGEgZGF0YWJhc2UgdHJhbnNhY3Rpb24gaXMgaW50ZXJydXB0ZWQgYnkgYSBuYXZp
Z2F0aW9uIGFjdGlvbiwgdGhlIGxvY2sgb24gdGhhdCBkYXRhYmFzZSBpcyBuZXZlciByZWxpbnF1
aXNoZWQgYW5kIHN1YnNlcXVlbnQgYWNjZXNzZXMgdG8gdGhhdCBkYXRhYmFzZSBmYWlsLgorICAg
ICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1
Nzg4CisKKyAgICAgICAgKiBzdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJl
bG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1s
b2NrLWFmdGVyLXJlbG9hZC0yLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA1LTE0ICBBZGFtIFJvYmVu
ICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSB0aW1pbmctb3V0IHRlc3QgdG8g
dGhlIFdpbmRvd3MgU2tpcHBlZCBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFi
YXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxv
YWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0luc2VydGluZyBz
b21lIGRhdGEKK1Rlc3QgcGFydCAyIENvbXBsZXRlCisKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KQWRkZWQ6IGVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRl
c3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVs
b2FkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PgordmFyIGRhdGFiYXNlOwordmFyIHRpbWVvdXQ7CisKK2Z1bmN0aW9uIGxvZyhtZXNz
YWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1M
ICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAg
IGxvZygiVGVzdCBwYXJ0IDEgQ29tcGxldGUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9
CisKK2Z1bmN0aW9uIGVycm9yRnVuY3Rpb24odHgsIGVycm9yKQoreworCWNsZWFyVGltZW91dCh0
aW1lb3V0KTsKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9yLm1lc3NhZ2UpOworICAg
IGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gYWRkRGF0YShkYikKK3sKKyAgICBkYi50cmFu
c2FjdGlvbihmdW5jdGlvbih0eCkgeyAKKyAgICAgICAgbG9nKCJJbnNlcnRpbmcgc29tZSBkYXRh
Iik7CisgICAgICAgIC8vIEluc2VydCBhIGxhcmdlIGFtb3VudCBvZiBkYXRhIHRoYXQgd2lsbCB0
YWtlIGEgbGl0dGxlIHdoaWxlIHRvIHJ1bi4gU2NoZWR1bGUgYSB0aW1vdXQgdG8gcnVuIHRoYXQg
d2lsbCBsb2FkIGEgbmV3IHBhZ2UKKyAgICAgICAgLy8gd2hpbHN0IHRoZSB0cmFuc2FjdGlvbiBp
cyBzdGlsbCBpbiBwcm9ncmVzcywgaW50ZXJydXB0aW5nIHRoZSB0cmFuc2FjdGlvbi4gVGhpcyBz
aG91bGQgbm90IGxlYXZlIHRoZSBkYXRhYmFzZSBsb2NrZWQgYW5kIG9uCisgICAgICAgIC8vIHRo
ZSBuZXh0IHBhZ2Ugd2Ugc2hvdWxkIGJlIGFibGUgdG8gaW5zZXJ0IHNvbWUgbW9yZSBkYXRhLgor
ICAgICAgICB0aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsgbG9jYXRpb24uaHJlZiA9
ICIuL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwiOyB9LDEwKTsK
KyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHRlc3REYXRhKSBW
QUxVRVMgKHJhbmRvbUJsb2IoNTEyMDAwMCkpIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsg
fSwgZXJyb3JGdW5jdGlvbik7CisgICAgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rpb24oKSB7IAor
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQor
eworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0RGF0YWJhc2VRdW90YSg1MTMwMDAwKTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcERhdGFiYXNlQ2FsbGJhY2tzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICB0cnkgeworICAgICAgICBkYXRhYmFzZSA9IG9w
ZW5EYXRhYmFzZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJhc2Ug
bG9ja2luZyIsIDUxMzAwMDApOworICAgIH0gY2F0Y2ggKGUpIHsKKwkgICAgbG9nKCJFcnJvciAt
IGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7CisJICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cisg
ICAgCisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgbG9n
KCJBZGRpbmcgYSB0YWJsZSIpOworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUg
RGF0YVRlc3QgKHRlc3REYXRhKSIsIFtdLCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIGVycm9y
RnVuY3Rpb24pOyAKKyAgICB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgCisgICAgICAg
IGFkZERhdGEoZGF0YWJhc2UpOyAKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisK
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8
L2JvZHk+CisKKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3N0b3Jh
Z2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBlb2wt
c3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9k
YXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3RvcmFnZS9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNvdXJjZXMvZGF0YWJhc2UtbG9j
ay1hZnRlci1yZWxvYWQtMi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYwIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK3ZhciBkYXRhYmFzZTsKKworZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAg
bG9nKCJUZXN0IHBhcnQgMiBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30K
KworZnVuY3Rpb24gZXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAgbG9nKCJUZXN0IGZh
aWxlZCAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0
aW9uIGFkZERhdGEoZGIpCit7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgCisg
ICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOworCisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTICg/KSIsIFsiQSJdLCBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIGVycm9yRnVuY3Rpb24pOworICAgIH0sIGZ1bmN0aW9u
KCl7fSwgZnVuY3Rpb24oKSB7IAorICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSk7Cit9CisK
K2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERhdGFiYXNlQ2FsbGJhY2tz
KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICB0
cnkgeworICAgIAlkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIx
LjAiLCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9ja2luZyIsIDUxMzAwMDApOworICAgICAgICBhZGRE
YXRhKGRhdGFiYXNlKTsKKyAgICB9IGNhdGNoKGUpIHsKKwkgICAgbG9nKCJFcnJvciAtIGNvdWxk
IG5vdCBvcGVuIGRhdGFiYXNlIik7CisJICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CisKKzwv
c2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJj
b25zb2xlIj4KKzwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBMYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9h
ZC0yLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogZW9sLXN0eWxlCiAgICsgbmF0aXZlCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>