<?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>51112</bug_id>
          
          <creation_ts>2010-12-15 08:45:12 -0800</creation_ts>
          <short_desc>IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.</short_desc>
          <delta_ts>2010-12-20 06:42:46 -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>WebCore Misc.</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>0</everconfirmed>
          <reporter name="Andrei Popescu">andreip</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hans</cc>
    
    <cc>jorlow</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>322617</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-12-15 08:45:12 -0800</bug_when>
    <thetext>IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit. This happens because IDBTransactionBackedImpl invokes IDBTransactionCoordinator::didFinishTransaction(), which will release its reference to the IDBTransactionBackedImpl instance. If that was the last reference, the IDBTransactionBackedImpl instance is deleted and we crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322624</commentid>
    <comment_count>1</comment_count>
      <attachid>76652</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-12-15 09:01:16 -0800</bug_when>
    <thetext>Created attachment 76652
Make IDBTransactionBackendImpl objects take a self reference during commit and abort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322862</commentid>
    <comment_count>2</comment_count>
      <attachid>76652</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-15 15:24:51 -0800</bug_when>
    <thetext>Comment on attachment 76652
Make IDBTransactionBackendImpl objects take a self reference during commit and abort.

How do existing tests cover this?  Do they crash?  If so, which tests are you making not crash?  Please explain in your ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323084</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-12-16 02:20:25 -0800</bug_when>
    <thetext>Besides Eric&apos;s comments, it looks good.  In theory, it might be possible to repro this in DRT by creating a transaction, leaving the scope where it was created, doing a gc(), and then praying.  It wouldn&apos;t surprise me if we couldn&apos;t come up with a reliable repro, but please give it a shot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323096</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-12-16 03:43:57 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Besides Eric&apos;s comments, it looks good.  In theory, it might be possible to repro this in DRT by creating a transaction, leaving the scope where it was created, doing a gc(), and then praying.  It wouldn&apos;t surprise me if we couldn&apos;t come up with a reliable repro, but please give it a shot.

Okay, lemme try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323883</commentid>
    <comment_count>5</comment_count>
      <attachid>76894</attachid>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-12-17 11:16:21 -0800</bug_when>
    <thetext>Created attachment 76894
test added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323884</commentid>
    <comment_count>6</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-12-17 11:18:24 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Besides Eric&apos;s comments, it looks good.  In theory, it might be possible to repro this in DRT by creating a transaction, leaving the scope where it was created, doing a gc(), and then praying.  It wouldn&apos;t surprise me if we couldn&apos;t come up with a reliable repro, but please give it a shot.

Ok, added a test. I can see in in Visual Studio the deletion happening before accessing member variables of the deleted instance but the test does not always crash for me as the memory isn&apos;t always reclaimed. However, if the memory is reclaimed, this test will trigger the crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323888</commentid>
    <comment_count>7</comment_count>
      <attachid>76894</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-12-17 11:22:41 -0800</bug_when>
    <thetext>Comment on attachment 76894
test added

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323890</commentid>
    <comment_count>8</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-12-17 11:24:35 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #3)
&gt; &gt; Besides Eric&apos;s comments, it looks good.  In theory, it might be possible to repro this in DRT by creating a transaction, leaving the scope where it was created, doing a gc(), and then praying.  It wouldn&apos;t surprise me if we couldn&apos;t come up with a reliable repro, but please give it a shot.
&gt; 
&gt; Ok, added a test. I can see in in Visual Studio the deletion happening before accessing member variables of the deleted instance but the test does not always crash for me as the memory isn&apos;t always reclaimed. However, if the memory is reclaimed, this test will trigger the crash.

I&apos;m pretty sure there&apos;s nothing much more you can do here.  It&apos;s definitely better than nothing and tools like Valgrind should catch the errors.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324348</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-20 06:00:27 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 76894:

fast/preloader/script.html bug 50879 (author: abarth@webkit.org)
fast/loader/recursive-before-unload-crash.html bug 50880 (authors: beidson@apple.com and eric@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324364</commentid>
    <comment_count>10</comment_count>
      <attachid>76894</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-20 06:32:35 -0800</bug_when>
    <thetext>Comment on attachment 76894
test added

Rejecting attachment 76894 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-attachment&apos;, &apos;--non-interactive&apos;, 76894]&quot; exit_code: 2
Last 500 characters of output:
/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 2010-12-20  Yury Semikhatsky  &lt;yurys@chromium.org&gt;

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 132.

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 2

Full output: http://queues.webkit.org/results/7320063</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324373</commentid>
    <comment_count>11</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-12-20 06:42:46 -0800</bug_when>
    <thetext>Committed r74343</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76652</attachid>
            <date>2010-12-15 09:01:16 -0800</date>
            <delta_ts>2010-12-17 11:16:21 -0800</delta_ts>
            <desc>Make IDBTransactionBackendImpl objects take a self reference during commit and abort.</desc>
            <filename>crash.patch</filename>
            <type>text/plain</type>
            <size>2123</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">Y29tbWl0IGQ4MGM4OTAyZjE5ZDYyZjBlYjcwOWU0YmQ5YjNmZWQ1MTM5YzNhZGQKQXV0aG9yOiBB
bmRyZWkgUG9wZXNjdSA8YW5kcmVpcEBnb29nbGUuY29tPgpEYXRlOiAgIFdlZCBEZWMgMTUgMTY6
NTc6MjAgMjAxMCArMDAwMAoKICAgIEtlZXAgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbCBpbnN0
YW5jZXMgYWxpdmUgZHVyaW5nIGNvbW1pdCBhbmQgYWJvcnQKCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFhYzMwMDkuLmU2YTk1YTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTAtMTItMTUgIEFuZHJlaSBQb3Blc2N1ICA8YW5kcmVpcEBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtl
ZXAgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbCBpbnN0YW5jZXMgYWxpdmUgZHVyaW5nIGNvbW1p
dCBhbmQgYWJvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUxMTIKKworICAgICAgICBNYWtlcyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsIG9iamVj
dHMgdGFrZSBhIHNlbGYgcmVmZXJlbmNlIHdoaWxlCisgICAgICAgIGV4ZWN1dGluZyBjb21taXQg
YW5kIGFib3J0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgZXhpc3RpbmcgdGVzdHMgc2hvdWxk
IGNvdmVyIHRoaXMgc2l0dWF0aW9uLgorCisgICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlv
bkJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2Vu
ZEltcGw6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZElt
cGw6OmNvbW1pdCk6CisKIDIwMTAtMTItMTUgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5j
aGEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAgYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAKaW5kZXggMzM2NzI0YS4uMDAx
MjIzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZElt
cGwuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNw
cApAQCAtMTA2LDYgKzEwNiwxMSBAQCB2b2lkIElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OmFi
b3J0KCkKICAgICBpZiAobV9zdGF0ZSA9PSBGaW5pc2hlZCkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgLy8gVGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0IG1heSBiZSByZWxlYXNlZCB3
aGlsZSBwZXJmb3JtaW5nIHRoZQorICAgIC8vIGFib3J0IHN0ZXBzIGJlbG93LiBXZSB0aGVyZWZv
cmUgdGFrZSBhIHNlbGYgcmVmZXJlbmNlIHRvIGtlZXAgb3Vyc2VsdmVzCisgICAgLy8gYWxpdmUg
d2hpbGUgZXhlY3V0aW5nIHRoaXMgbWV0aG9kLgorICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbXBsPiBzZWxmKHRoaXMpOworCiAgICAgbV9zdGF0ZSA9IEZpbmlzaGVkOwogICAgIG1f
dGFza1RpbWVyLnN0b3AoKTsKICAgICBtX3Rhc2tFdmVudFRpbWVyLnN0b3AoKTsKQEAgLTE1NSw2
ICsxNjAsMTAgQEAgdm9pZCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpzdGFydCgpCiAKIHZv
aWQgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6Y29tbWl0KCkKIHsKKyAgICAvLyBUaGUgbGFz
dCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3QgbWF5IGJlIHJlbGVhc2VkIHdoaWxlIHBlcmZvcm1p
bmcgdGhlCisgICAgLy8gY29tbWl0IHN0ZXBzIGJlbG93LiBXZSB0aGVyZWZvcmUgdGFrZSBhIHNl
bGYgcmVmZXJlbmNlIHRvIGtlZXAgb3Vyc2VsdmVzCisgICAgLy8gYWxpdmUgd2hpbGUgZXhlY3V0
aW5nIHRoaXMgbWV0aG9kLgorICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsPiBz
ZWxmKHRoaXMpOwogICAgIEFTU0VSVChtX3N0YXRlID09IFJ1bm5pbmcpOwogCiAgICAgbV9zdGF0
ZSA9IEZpbmlzaGVkOwo=
</data>
<flag name="review"
          id="67637"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76894</attachid>
            <date>2010-12-17 11:16:21 -0800</date>
            <delta_ts>2010-12-20 06:32:35 -0800</delta_ts>
            <desc>test added</desc>
            <filename>crash.patch</filename>
            <type>text/plain</type>
            <size>5310</size>
            <attacher name="Andrei Popescu">andreip</attacher>
            
              <data encoding="base64">Y29tbWl0IGQ0NzZmMmNhMzQ0OGM1NzNmY2IyM2JkYThlZjA0NTllY2FlOGZlYTQKQXV0aG9yOiBB
bmRyZWkgUG9wZXNjdSA8YW5kcmVpcEBnb29nbGUuY29tPgpEYXRlOiAgIEZyaSBEZWMgMTcgMTk6
MTQ6MDQgMjAxMCArMDAwMAoKICAgIEZpeCBjcmFzaAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NzE4NTRlLi44NzliYTZk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTItMTcgIEFuZHJlaSBQb3Blc2N1ICA8YW5k
cmVpcEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIElEQlRyYW5zYWN0aW9uQmFja2VkSW1wbCBpbnN0YW5jZXMgY2FuIGJlIGFjY2lk
ZW50YWxseSBkZWxldGVkIGR1cmluZyBjYWxscyB0byBhYm9ydC9jb21taXQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTExMgorCisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1v
bi1hYm9ydC5odG1sOiBBZGRlZC4KKwogMjAxMC0xMi0xNSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1
cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUgQ2hyb21pdW0g
dGVzdCBleHBlY3RhdGlvbnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgzYjIyOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNo
LW9uLWFib3J0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMxIEBACitUZXN0IEluZGV4ZWREQiB0
cmFuc2FjdGlvbiBkb2VzIG5vdCBjcmFzaCBvbiBhYm9ydC4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93IGlzIHRydWUKK1BB
U1Mgd2Via2l0SW5kZXhlZERCID09IG51bGwgaXMgZmFsc2UKK3dlYmtpdEluZGV4ZWREQi5vcGVu
KCduYW1lJykKK1BBU1MgJ29uc3VjY2VzcycgaW4gcmVzdWx0IGlzIHRydWUKK1BBU1MgJ29uZXJy
b3InIGluIHJlc3VsdCBpcyB0cnVlCitQQVNTICdyZWFkeVN0YXRlJyBpbiByZXN1bHQgaXMgdHJ1
ZQorQW4gZXZlbnQgc2hvdWxkIGZpcmUgc2hvcnRseS4uLgorCitvcGVuU3VjY2VzcygpOgorU3Vj
Y2VzcyBldmVudCBmaXJlZDoKK1BBU1MgJ3Jlc3VsdCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAn
Y29kZScgaW4gZXZlbnQgaXMgZmFsc2UKK1BBU1MgJ21lc3NhZ2UnIGluIGV2ZW50IGlzIGZhbHNl
CitQQVNTICdzb3VyY2UnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgZXZlbnQuc291cmNlICE9IG51
bGwgaXMgdHJ1ZQorUEFTUyAnb25zdWNjZXNzJyBpbiBldmVudC50YXJnZXQgaXMgdHJ1ZQorUEFT
UyAnb25lcnJvcicgaW4gZXZlbnQudGFyZ2V0IGlzIHRydWUKK1BBU1MgJ3JlYWR5U3RhdGUnIGlu
IGV2ZW50LnRhcmdldCBpcyB0cnVlCitQQVNTIGV2ZW50LnRhcmdldC5yZWFkeVN0YXRlIGlzIGV2
ZW50LnRhcmdldC5ET05FCisKK2RiID0gZXZlbnQucmVzdWx0CitkYi50cmFuc2FjdGlvbihbXSkK
K3dpbmRvdy5nYygpCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjFiMTNjODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1sCkBAIC0wLDAgKzEsNDQg
QEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiB0cmFuc2FjdGlvbiBk
b2VzIG5vdCBjcmFzaCBvbiBhYm9ydC4iKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICBzaG91bGRCZVRydWUoIid3ZWJraXRJbmRleGVkREInIGluIHdpbmRv
dyIpOworICAgIHNob3VsZEJlRmFsc2UoIndlYmtpdEluZGV4ZWREQiA9PSBudWxsIik7CisKKyAg
ICByZXN1bHQgPSBldmFsQW5kTG9nKCJ3ZWJraXRJbmRleGVkREIub3BlbignbmFtZScpIik7Cisg
ICAgdmVyaWZ5UmVzdWx0KHJlc3VsdCk7CisgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IG9wZW5TdWNj
ZXNzOworICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9DQor
DQorZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0KK3sNCisgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6
Iik7DQorICAgIHZlcmlmeVN1Y2Nlc3NFdmVudChldmVudCk7DQorICAgIGRiID0gZXZhbEFuZExv
ZygiZGIgPSBldmVudC5yZXN1bHQiKTsNCisgICAgZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24o
W10pIik7DQorICAgIGV2YWxBbmRMb2coIndpbmRvdy5nYygpIik7DQorICAgIGRvbmUoKTsNCit9
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCit0ZXN0KCk7CisKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBhYWMzMDA5Li5hZjYyNTMxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEw
LTEyLTE3ICBBbmRyZWkgUG9wZXNjdSAgPGFuZHJlaXBAZ29vZ2xlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJREJUcmFuc2FjdGlvbkJhY2tl
ZEltcGwgaW5zdGFuY2VzIGNhbiBiZSBhY2NpZGVudGFsbHkgZGVsZXRlZCBkdXJpbmcgY2FsbHMg
dG8gYWJvcnQvY29tbWl0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTExMTIKKworICAgICAgICBNYWtlcyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBs
IG9iamVjdHMgdGFrZSBhIHNlbGYgcmVmZXJlbmNlIHdoaWxlIGV4ZWN1dGluZyBjb21taXQgYW5k
IGFib3J0LgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNy
YXNoLW9uLWFib3J0Lmh0bWwKKworICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBs
OjphYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpj
b21taXQpOgorCiAyMDEwLTEyLTE1ICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwIGIvV2ViQ29yZS9zdG9y
YWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCmluZGV4IDMzNjcyNGEuLjAwMTIyMzEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNw
cAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAKQEAg
LTEwNiw2ICsxMDYsMTEgQEAgdm9pZCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjphYm9ydCgp
CiAgICAgaWYgKG1fc3RhdGUgPT0gRmluaXNoZWQpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8v
IFRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdCBtYXkgYmUgcmVsZWFzZWQgd2hpbGUg
cGVyZm9ybWluZyB0aGUKKyAgICAvLyBhYm9ydCBzdGVwcyBiZWxvdy4gV2UgdGhlcmVmb3JlIHRh
a2UgYSBzZWxmIHJlZmVyZW5jZSB0byBrZWVwIG91cnNlbHZlcworICAgIC8vIGFsaXZlIHdoaWxl
IGV4ZWN1dGluZyB0aGlzIG1ldGhvZC4KKyAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbD4gc2VsZih0aGlzKTsKKwogICAgIG1fc3RhdGUgPSBGaW5pc2hlZDsKICAgICBtX3Rhc2tU
aW1lci5zdG9wKCk7CiAgICAgbV90YXNrRXZlbnRUaW1lci5zdG9wKCk7CkBAIC0xNTUsNiArMTYw
LDEwIEBAIHZvaWQgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6c3RhcnQoKQogCiB2b2lkIElE
QlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OmNvbW1pdCgpCiB7CisgICAgLy8gVGhlIGxhc3QgcmVm
ZXJlbmNlIHRvIHRoaXMgb2JqZWN0IG1heSBiZSByZWxlYXNlZCB3aGlsZSBwZXJmb3JtaW5nIHRo
ZQorICAgIC8vIGNvbW1pdCBzdGVwcyBiZWxvdy4gV2UgdGhlcmVmb3JlIHRha2UgYSBzZWxmIHJl
ZmVyZW5jZSB0byBrZWVwIG91cnNlbHZlcworICAgIC8vIGFsaXZlIHdoaWxlIGV4ZWN1dGluZyB0
aGlzIG1ldGhvZC4KKyAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4gc2VsZih0
aGlzKTsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBSdW5uaW5nKTsKIAogICAgIG1fc3RhdGUgPSBG
aW5pc2hlZDsK
</data>
<flag name="review"
          id="67911"
          type_id="1"
          status="+"
          setter="jorlow"
    />
    <flag name="commit-queue"
          id="68029"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>