<?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>44217</bug_id>
          
          <creation_ts>2010-08-18 16:53:43 -0700</creation_ts>
          <short_desc>Assertion failure when going back inside frame during onload</short_desc>
          <delta_ts>2010-08-19 20:57:42 -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>History</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>http://persistent.info/webkit/test-cases/back-button-crash/history-back-within-subframe-url.html</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="Mihai Parparita">mihaip</reporter>
          <assigned_to name="Mihai Parparita">mihaip</assigned_to>
          <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>266460</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-08-18 16:53:43 -0700</bug_when>
    <thetext>While working on bug 44183, I ran into another assert with navigation inside iframes. http://persistent.info/webkit/test-cases/back-button-crash/history-back-within-subframe-url.html  triggers this assertion:

ASSERTION FAILED: !m_previousItem
(/Users/mihaip/Developer/source/chromium1/src/third_party/WebKit/WebCore/loader/HistoryController.cpp:567 void WebCore::HistoryController::recursiveGoToItem(WebCore::HistoryItem*, WebCore::HistoryItem*, WebCore::FrameLoadType))

Stack trace:

WebCore::HistoryController::recursiveGoToItem (this=0x10702d5c8, item=0x10615bc00, fromItem=0x106193c40, type=WebCore::FrameLoadTypeIndexedBackForward) at /WebCore/loader/HistoryController.cpp:567
WebCore::HistoryController::goToItem (this=0x10702d5c8, targetItem=0x10615bc00, type=WebCore::FrameLoadTypeIndexedBackForward) at /WebCore/loader/HistoryController.cpp:238
WebCore::RedirectScheduler::scheduleHistoryNavigation (this=0x10702d7f0, steps=-1) at /WebCore/loader/RedirectScheduler.cpp:349
WebCore::History::back (this=0x10618dee0) at /WebCore/page/History.cpp:66
WebCore::jsHistoryPrototypeFunctionBack (exec=0x11c80c0c0) at /WebKitBuild/Debug/DerivedSources/WebCore/JSHistory.cpp:145
?? ()
JSC::JITCode::execute (this=0x1061ab958, registerFile=0x10615e1e8, callFrame=0x11c80c040, globalData=0x106878600, exception=0x106879f48) at JITCode.h:77

This happens when calling parent.onFrameLoaded() once the inner frame navigates, which in turn calls history.back(). The triggering conditions are:
- The history.back() call is in the parent, not in the iframe
- The call happens immediately, not in a 0 interval timeout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266468</commentid>
    <comment_count>1</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-08-18 17:10:53 -0700</bug_when>
    <thetext>+Brady since this only happens in Safari/DRT, not in Chromium/TestShell, presumably because HISTORY_ALWAYS_ASYNC is set to 1 in the latter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266499</commentid>
    <comment_count>2</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-08-18 18:41:50 -0700</bug_when>
    <thetext>As best as I can tell, this is the ordering of what&apos;s happening when history.back() is synchronous:

FrameLoader::checkCompleted()
 checkCallImplicitClose()
    Document::implicitClose
      dispatchWindowLoadEvent
        (skipping over JS bindings/JIT): History::back
           RedirectScheduler::scheduleHistoryNavigation
            HistoryController::goToItem
              HistoryController::recursiveGoToItem
                check that m_previousItem is cleared             &lt;--
  checkLoadComplete()
    recursiveCheckLoadComplete()
      calls checkLoadCompleteForThisFrame()
        frameLoadCompleted()
          history()-&gt;updateForFrameLoadCompleted()
            clears m_previousItem

The check indicated by the &lt;-- happens before the actual clearing.

One possible fix is for the &quot;goToItem should be called synchronously&quot; check in scheduleHistoryNavigation to not just look at the documentSequenceNumber of the root of the HistoryItem, but also to recursively compare all of the children frames&apos; itemSequenceNumbers, so that we only do the call synchronously if we really are doing just a &quot;state object traversal or a fragment traversal&quot; (as the comment says).

However, I&apos;m not sure what the intention is with the synchronous history.back(). I spent some time reading bug 33538, but it was also interesting to see that all the fast/history/stateobjects layout tests still pass even with asynchronous history.back(). Was there a reason why the original test case in the bug was never landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267056</commentid>
    <comment_count>3</comment_count>
      <attachid>64910</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-08-19 16:47:37 -0700</bug_when>
    <thetext>Created attachment 64910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267063</commentid>
    <comment_count>4</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-08-19 16:51:45 -0700</bug_when>
    <thetext>The attached patch fixes this assert by (I believe) staying close to the sprit of the &quot;navigation should be synchronous&quot; check in RedirectScheduler::scheduleHistoryNavigation by also having it check the document sequence numbers. The test cases no longer crashes.

Brady, do you have time to review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267127</commentid>
    <comment_count>5</comment_count>
      <attachid>64910</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-19 20:57:37 -0700</bug_when>
    <thetext>Comment on attachment 64910
Patch

Clearing flags on attachment: 64910

Committed r65724: &lt;http://trac.webkit.org/changeset/65724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267128</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-19 20:57:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64910</attachid>
            <date>2010-08-19 16:47:37 -0700</date>
            <delta_ts>2010-08-19 20:57:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44217-20100819164736.patch</filename>
            <type>text/plain</type>
            <size>9529</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjMjRmOTljYWU5YTUwNjdmNjhjM2I3MDVkNzAxYzBiMjJhODM3NTVmLi5iZjEyOWM5
YjAyYTlkZmI5MTc0YzBkYWU0Mzk1MmRmOGEzNTlmN2E0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMDgtMTkgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXNzZXJ0aW9uIGZh
aWx1cmUgd2hlbiBnb2luZyBiYWNrIGluc2lkZSBmcmFtZSBkdXJpbmcgb25sb2FkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDIxNworCisgICAgICAg
IEFkZHMgYSB0ZXN0IHRoYXQgZG9lcyBhIGhpc3RvcnkuYmFjaygpIHdpdGhpbiB0aGUgbWFpbiBm
cmFtZSBkdXJpbmcKKyAgICAgICAgb25sb2FkIG9mIGEgY2hpbGQgZnJhbWUuIElmIEhJU1RPUllf
QUxXQVlTX0FTWU5DIHdhcyBzZXQgdG8gMCwgdGhpcworICAgICAgICB3b3VsZCBjcmFzaCB0aGUg
RFJUIHdpdGggYW4gYXNzZXJ0aW9uIGZhaWx1cmUsIHNpbmNlIHdlIGhhZG4ndCBjYWxsZWQKKyAg
ICAgICAgdXBkYXRlRm9yRnJhbWVMb2FkQ29tcGxldGVkIGluIHRoZSBtYWluIGZyYW1lIHlldC4K
KworICAgICAgICAocmVuYW1lcyBoaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lIHRvIGhpc3Rv
cnktYmFjay13aXRoaW4tc3ViZnJhbWUtaGFzaAorICAgICAgICB0byBkaWZmZXJlbnRpYXRlIGJl
dHdlZW4gdGhlIHR3byBvdGhlcndpc2Ugc2ltaWxhciB0ZXN0cykKKworICAgICAgICAqIGZhc3Qv
aGlzdG9yeS9oaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLWhhc2gtZXhwZWN0ZWQudHh0OiBS
ZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13aXRoaW4t
c3ViZnJhbWUtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9oaXN0b3J5LWJh
Y2std2l0aGluLXN1YmZyYW1lLWhhc2guaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9oaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLmh0bWwuCisgICAgICAgICog
ZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13aXRoaW4tc3ViZnJhbWUtdXJsLWV4cGVjdGVkLnR4
dDogQWRkZWQKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNrLXdpdGhpbi1zdWJm
cmFtZS11cmwuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9o
aXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLWhhc2gtMi5odG1sOiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9oaXN0b3J5LWJhY2std2l0aGluLXN1YmZy
YW1lLTIuaHRtbC4KKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcmVzb3VyY2VzL2hpc3RvcnktYmFj
ay13aXRoaW4tc3ViZnJhbWUtdXJsLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9oaXN0
b3J5L3Jlc291cmNlcy9oaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLXVybC0zLmh0bWw6IEFk
ZGVkLgorCiAyMDEwLTA4LTE3ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13aXRoaW4tc3ViZnJhbWUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13aXRoaW4t
c3ViZnJhbWUtaGFzaC1leHBlY3RlZC50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCmNvcHkgZnJv
bSBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNrLXdpdGhpbi1zdWJmcmFtZS1l
eHBlY3RlZC50eHQKY29weSB0byBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNr
LXdpdGhpbi1zdWJmcmFtZS1oYXNoLWV4cGVjdGVkLnR4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13aXRoaW4tc3ViZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9oaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLWhhc2guaHRt
bApzaW1pbGFyaXR5IGluZGV4IDczJQpyZW5hbWUgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvaGlzdG9yeS1iYWNrLXdpdGhpbi1zdWJmcmFtZS5odG1sCnJlbmFtZSB0byBMYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNrLXdpdGhpbi1zdWJmcmFtZS1oYXNoLmh0bWwKaW5k
ZXggZWY4N2M5YTc1NTg3ZTE1NzI1ZDJlMTRiOTZlYjg0MDI3ZmRiYzlmZi4uYjEyN2U3MDg3MGFh
NDZjNjRiMDcxN2EyOGFlZjY1NjdkODE4ZjZjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L2hpc3RvcnktYmFjay13aXRoaW4tc3ViZnJhbWUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNrLXdpdGhpbi1zdWJmcmFtZS1oYXNoLmh0bWwK
QEAgLTcsNiArNyw2IEBAIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICB9CiB9CiA8L3NjcmlwdD4K
LTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvaGlzdG9yeS1iYWNrLXdpdGhpbi1zdWJmcmFtZS0yLmh0
bWwiPjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9oaXN0b3J5LWJhY2std2l0aGlu
LXN1YmZyYW1lLWhhc2gtMi5odG1sIj48L2lmcmFtZT4KIDxkaXYgaWQ9InJlc3VsdCI+RkFJTDwv
ZGl2PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hpc3Rv
cnktYmFjay13aXRoaW4tc3ViZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9o
aXN0b3J5L2hpc3RvcnktYmFjay13aXRoaW4tc3ViZnJhbWUtdXJsLWV4cGVjdGVkLnR4dApzaW1p
bGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hp
c3RvcnktYmFjay13aXRoaW4tc3ViZnJhbWUtZXhwZWN0ZWQudHh0CnJlbmFtZSB0byBMYXlvdXRU
ZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNrLXdpdGhpbi1zdWJmcmFtZS11cmwtZXhwZWN0
ZWQudHh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNr
LXdpdGhpbi1zdWJmcmFtZS11cmwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9oaXN0
b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLXVybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwODI2NGU4N2U2
NjkxZWQ4MWQ2NmQ5OGU2YjQ5YjA4OWZiNjZlZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNrLXdpdGhpbi1zdWJmcmFtZS11cmwuaHRtbApA
QCAtMCwwICsxLDI0IEBACis8Ym9keT4KKzxzY3JpcHQ+CitvbmxvYWQgPSBmdW5jdGlvbigpIHsK
KyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgeworICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICB9Cit9CisKK3dlbnRCYWNrID0gZmFsc2U7CisKK2Z1bmN0aW9uIG9u
RnJhbWVMb2FkZWQoKQoreworICAgIHdlbnRCYWNrID0gdHJ1ZTsKKyAgICBoaXN0b3J5LmJhY2so
KTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJUZXh0ID0gJ1BB
U1MnOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsgICAgICAKK30KKzwvc2NyaXB0PgorPGlmcmFt
ZSBzcmM9InJlc291cmNlcy9oaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLXVybC0yLmh0bWwi
PjwvaWZyYW1lPgorPGRpdiBpZD0icmVzdWx0Ij5GQUlMPC9kaXY+Cis8L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2VzL2hpc3RvcnktYmFjay13aXRo
aW4tc3ViZnJhbWUtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9o
aXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLWhhc2gtMi5odG1sCnNpbWlsYXJpdHkgaW5kZXgg
MTAwJQpyZW5hbWUgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2VzL2hpc3Rv
cnktYmFjay13aXRoaW4tc3ViZnJhbWUtMi5odG1sCnJlbmFtZSB0byBMYXlvdXRUZXN0cy9mYXN0
L2hpc3RvcnkvcmVzb3VyY2VzL2hpc3RvcnktYmFjay13aXRoaW4tc3ViZnJhbWUtaGFzaC0yLmh0
bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9yZXNvdXJjZXMvaGlzdG9y
eS1iYWNrLXdpdGhpbi1zdWJmcmFtZS11cmwtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3Jlc291cmNlcy9oaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLXVybC0yLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmYzZTFhMTc4MjczOGFiMGM0ZmI0YmZkYzM0MGNmNjBmZmIwY2ZhOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9yZXNvdXJjZXMvaGlzdG9yeS1i
YWNrLXdpdGhpbi1zdWJmcmFtZS11cmwtMi5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxib2R5IG9u
bG9hZD0iaW5pdCgpIj4KKzxzY3JpcHQ+CitmdW5jdGlvbiBpbml0KCkKK3sKKyAgICBpZiAoIXBh
cmVudC53ZW50QmFjaykKKyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHt3aW5kb3cubG9j
YXRpb24uaHJlZiA9ICdoaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLXVybC0zLmh0bWwnO30s
IDApOworfQorPC9zY3JpcHQ+CitmcmFtZSAyCis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9o
aXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLXVybC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2hpc3RvcnkvcmVzb3VyY2VzL2hpc3RvcnktYmFjay13aXRoaW4tc3ViZnJhbWUtdXJsLTMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40Njc4YmUyNTBjZDYwYjhlY2Q0ZWIyNWViMTA3NjllNTM1NjRkZGQ1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9oaXN0
b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLXVybC0zLmh0bWwKQEAgLTAsMCArMSwzIEBACis8Ym9k
eSBvbmxvYWQ9InBhcmVudC5vbkZyYW1lTG9hZGVkKCkiPgorZnJhbWUgMworPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjlkOTQ3NGI3YWVhMWUyODFmNmFjYTU0NWUwZTI2ZWEz
MDQ2ZGMxZi4uZTQxZWIwMjkyOGY5MTkxOWYxYjA2ZGM1ZDlkNGE4YjRiOTc2YTQ3NiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNCBAQAorMjAxMC0wOC0xOSAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBc3Nl
cnRpb24gZmFpbHVyZSB3aGVuIGdvaW5nIGJhY2sgaW5zaWRlIGZyYW1lIGR1cmluZyBvbmxvYWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MjE3CisK
KyAgICAgICAgRml4IGFzc2VydGlvbiBmYWlsdXJlIHdoZW4gZG9pbmcgYSBoaXN0b3J5LmJhY2so
KSB3aXRoaW4gdGhlIG1haW4gZnJhbWUKKyAgICAgICAgZHVyaW5nIG9ubG9hZCBvZiBhIGNoaWxk
IGZyYW1lLiBUaGlzIHdvdWxkIGhhcHBlbiB3aGVuCisgICAgICAgIEhJU1RPUllfQUxXQVlTX0FT
WU5DIHdhcyBzZXQgdG8gMCwgYmVjYXVzZSB3ZSB3b3VsZCBvbmx5IGNvbXBhcmUgdGhlCisgICAg
ICAgIGN1cnJlbnQgZnJhbWUgZG9jdW1lbnQgc2VxdWVuY2UgbnVtYmVycyB3aGVuIGRldGVybWlu
aW5nIGlmIHdlJ3JlIGluIHRoZQorICAgICAgICBzYW1lIGRvY3VtZW50LCBpbnN0ZWFkIG9mIGFs
c28gcmVjdXJzaW5nIG92ZXIgY2hpbGQgZnJhbWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvaGlz
dG9yeS9oaXN0b3J5LWJhY2std2l0aGluLXN1YmZyYW1lLWhhc2guaHRtbAorCisgICAgICAgICog
aGlzdG9yeS9IaXN0b3J5SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6
aGFzU2FtZURvY3VtZW50cyk6CisgICAgICAgICogaGlzdG9yeS9IaXN0b3J5SXRlbS5oOgorICAg
ICAgICAqIGxvYWRlci9SZWRpcmVjdFNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZWRpcmVjdFNjaGVkdWxlcjo6c2NoZWR1bGVIaXN0b3J5TmF2aWdhdGlvbik6CisKIDIwMTAtMDgt
MTggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2NTYwMy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaGlz
dG9yeS9IaXN0b3J5SXRlbS5jcHAgYi9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwCmlu
ZGV4IDNlZTQyM2IxNTg3ZDE1NjAxNGMzYTQ3Mjc2MjI0OTMzNWEwYjljNjYuLjM0MDlmODFkZDRh
OWU5ODg1NGQzZGExNGE1Y2FmODYyM2M1MzlhNTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9y
eS9IaXN0b3J5SXRlbS5jcHAKKysrIGIvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcApA
QCAtNDgwLDYgKzQ4MCwyMiBAQCB2b2lkIEhpc3RvcnlJdGVtOjpjbGVhckNoaWxkcmVuKCkKICAg
ICBtX2NoaWxkcmVuLmNsZWFyKCk7CiB9CiAKK2Jvb2wgSGlzdG9yeUl0ZW06Omhhc1NhbWVEb2N1
bWVudHMoSGlzdG9yeUl0ZW0qIG90aGVySXRlbSkKK3sKKyAgICBpZiAoZG9jdW1lbnRTZXF1ZW5j
ZU51bWJlcigpICE9IG90aGVySXRlbS0+ZG9jdW1lbnRTZXF1ZW5jZU51bWJlcigpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgIGlmIChjaGlsZHJlbigpLnNpemUoKSAhPSBv
dGhlckl0ZW0tPmNoaWxkcmVuKCkuc2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGlsZHJlbigpLnNpemUoKTsgaSsrKSB7Cisg
ICAgICAgIGlmICghY2hpbGRyZW4oKVtpXS0+aGFzU2FtZURvY3VtZW50cyhvdGhlckl0ZW0tPmNo
aWxkcmVuKClbaV0uZ2V0KCkpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAg
ICAKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogU3RyaW5nIEhpc3RvcnlJdGVtOjpmb3JtQ29udGVu
dFR5cGUoKSBjb25zdAogewogICAgIHJldHVybiBtX2Zvcm1Db250ZW50VHlwZTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5oIGIvV2ViQ29yZS9oaXN0b3J5L0hpc3Rv
cnlJdGVtLmgKaW5kZXggZWY3M2M1ZTk4OWZkY2FmODBjMTQ2ZGVhZDhkZTVkNTk4MDhjMWNmOC4u
ZGZkYmM0MzNjNzliNGY1OTFkZDk0ZGYyMDBlNDIwY2RiN2ZiNThmOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJ
dGVtLmgKQEAgLTE1OSw2ICsxNTksOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgSGlzdG9yeUl0ZW1W
ZWN0b3ImIGNoaWxkcmVuKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNDaGlsZHJlbigpIGNvbnN0Owog
ICAgIHZvaWQgY2xlYXJDaGlsZHJlbigpOworICAgIAorICAgIGJvb2wgaGFzU2FtZURvY3VtZW50
cyhIaXN0b3J5SXRlbSogb3RoZXJJdGVtKTsKIAogICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBiZSBj
YWxsZWQgZGlyZWN0bHkgZm9yIEhpc3RvcnlJdGVtcyB0aGF0IGFyZSBhbHJlYWR5IGluY2x1ZGVk
CiAgICAgLy8gaW4gR2xvYmFsSGlzdG9yeS4gVGhlIFdlYktpdCBhcGkgZm9yIHRoaXMgaXMgdG8g
dXNlIC1bV2ViSGlzdG9yeSBzZXRMYXN0VmlzaXRlZFRpbWVJbnRlcnZhbDpmb3JJdGVtOl0gaW5z
dGVhZC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1JlZGlyZWN0U2NoZWR1bGVyLmNwcCBi
L1dlYkNvcmUvbG9hZGVyL1JlZGlyZWN0U2NoZWR1bGVyLmNwcAppbmRleCBkOTY5ZjMwY2NmMmIy
NjY0OTEzZDI5Yzc2ZTI3YmVmZTc3MTA2NGRkLi4yNmQ3Nzg3NDE2NWJiZDEwMzdjYzVkOGJmNTJh
MzI0NzBmZTQzODFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZWRpcmVjdFNjaGVkdWxl
ci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvUmVkaXJlY3RTY2hlZHVsZXIuY3BwCkBAIC0zNDIs
MTAgKzM0MiwxMCBAQCB2b2lkIFJlZGlyZWN0U2NoZWR1bGVyOjpzY2hlZHVsZUhpc3RvcnlOYXZp
Z2F0aW9uKGludCBzdGVwcykKICAgICB9CiAgICAgCiAjaWYgIUVOQUJMRShISVNUT1JZX0FMV0FZ
U19BU1lOQykKLSAgICAvLyBJZiB0aGUgc3BlY2lmaWVkIGVudHJ5IGFuZCB0aGUgY3VycmVudCBl
bnRyeSBoYXZlIHRoZSBzYW1lIGRvY3VtZW50LCB0aGlzIGlzIGVpdGhlciBhIHN0YXRlIG9iamVj
dCB0cmF2ZXJzYWwgb3IgYSBmcmFnbWVudCAKLSAgICAvLyB0cmF2ZXJzYWwgKG9yIGJvdGgpIGFu
ZCBzaG91bGQgYmUgcGVyZm9ybWVkIHN5bmNocm9ub3VzbHkuCisgICAgLy8gSWYgdGhlIHNwZWNp
ZmllZCBlbnRyeSBhbmQgdGhlIGN1cnJlbnQgZW50cnkgaGF2ZSB0aGUgc2FtZSBkb2N1bWVudCAo
b3IgZG9jdW1lbnRzLCBpbiB0aGVyZSBhcmUgZnJhbWVzKSwgdGhpcyBpcyBlaXRoZXIgYSAKKyAg
ICAvLyBzdGF0ZSBvYmplY3QgdHJhdmVyc2FsIG9yIGEgZnJhZ21lbnQgdHJhdmVyc2FsIChvciBi
b3RoKSBhbmQgc2hvdWxkIGJlIHBlcmZvcm1lZCBzeW5jaHJvbm91c2x5LgogICAgIEhpc3RvcnlJ
dGVtKiBjdXJyZW50RW50cnkgPSBtX2ZyYW1lLT5sb2FkZXIoKS0+aGlzdG9yeSgpLT5jdXJyZW50
SXRlbSgpOwotICAgIGlmIChjdXJyZW50RW50cnkgIT0gc3BlY2lmaWVkRW50cnkgJiYgY3VycmVu
dEVudHJ5LT5kb2N1bWVudFNlcXVlbmNlTnVtYmVyKCkgPT0gc3BlY2lmaWVkRW50cnktPmRvY3Vt
ZW50U2VxdWVuY2VOdW1iZXIoKSkgeworICAgIGlmIChjdXJyZW50RW50cnkgIT0gc3BlY2lmaWVk
RW50cnkgJiYgY3VycmVudEVudHJ5LT5oYXNTYW1lRG9jdW1lbnRzKHNwZWNpZmllZEVudHJ5KSkg
ewogICAgICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+aGlzdG9yeSgpLT5nb1RvSXRlbShzcGVjaWZp
ZWRFbnRyeSwgRnJhbWVMb2FkVHlwZUluZGV4ZWRCYWNrRm9yd2FyZCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>