<?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>19038</bug_id>
          
          <creation_ts>2008-05-13 16:35:05 -0700</creation_ts>
          <short_desc>Crash in JavaScriptDebugServer::returnEvent when inspecting an attached Inspector</short_desc>
          <delta_ts>2008-05-14 22:25:26 -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>Web Inspector (Deprecated)</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>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>mrowe</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>80304</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-05-13 16:35:05 -0700</bug_when>
    <thetext>I&apos;m seeing a crash in JavaScriptDebugServer::returnEvent when inspecting an Inspector that is attached as a debugger.

Steps to reproduce:
1. Go to any page
2. Open the Inspector and attach its debugger
3. Right-click in the Inspector and choose Inspect Element

m_currentCallFrame is 0.

&gt;	WebKit_debug.dll!WebCore::JavaScriptCallFrame::invalidate()  Line 42 + 0x11 bytes	C++
 	WebKit_debug.dll!WebCore::JavaScriptDebugServer::returnEvent(KJS::ExecState * exec=0x0012f104, int sourceID=120, int lineNumber=265, KJS::JSObject * __formal=0x05c06600)  Line 455	C++
 	WebKit_debug.dll!KJS::FunctionBodyNodeWithDebuggerHooks::execute(KJS::ExecState * exec=0x0012f104)  Line 4912 + 0x2e bytes	C++
 	WebKit_debug.dll!KJS::FunctionImp::callAsFunction(KJS::ExecState * exec=0x0012f3ac, KJS::JSObject * thisObj=0x05c06900, const KJS::List &amp; args={...})  Line 78 + 0x21 bytes	C++
 	WebKit_debug.dll!KJS::JSObject::call(KJS::ExecState * exec=0x0012f3ac, KJS::JSObject * thisObj=0x05c06900, const KJS::List &amp; args={...})  Line 99 + 0x1b bytes	C++
 	WebKit_debug.dll!KJS::functionProtoFuncApply(KJS::ExecState * exec=0x0012f3ac, KJS::JSObject * thisObj=0x05c06600, const KJS::List &amp; args={...})  Line 107 + 0x14 bytes	C++
 	WebKit_debug.dll!KJS::PrototypeFunction::callAsFunction(KJS::ExecState * exec=0x0012f3ac, KJS::JSObject * thisObj=0x05c06600, const KJS::List &amp; args={...})  Line 905 + 0x16 bytes	C++
 	WebKit_debug.dll!KJS::JSObject::call(KJS::ExecState * exec=0x0012f3ac, KJS::JSObject * thisObj=0x05c06600, const KJS::List &amp; args={...})  Line 99 + 0x1b bytes	C++
 	WebKit_debug.dll!KJS::FunctionCallDotNode::inlineEvaluate(KJS::ExecState * exec=0x0012f3ac)  Line 1495 + 0x14 bytes	C++
 	WebKit_debug.dll!KJS::FunctionCallDotNode::evaluate(KJS::ExecState * exec=0x0012f3ac)  Line 1501	C++
 	WebKit_debug.dll!KJS::ReturnNode::execute(KJS::ExecState * exec=0x0012f3ac)  Line 4354 + 0x21 bytes	C++
 	WebKit_debug.dll!KJS::BreakpointCheckStatement::execute(KJS::ExecState * exec=0x0012f3ac)  Line 420 + 0x21 bytes	C++
 	WebKit_debug.dll!KJS::statementListExecute(WTF::Vector&lt;WTF::RefPtr&lt;KJS::StatementNode&gt;,0&gt; &amp; statements={...}, KJS::ExecState * exec=0x0012f3ac)  Line 3946 + 0x29 bytes	C++
 	WebKit_debug.dll!KJS::BlockNode::execute(KJS::ExecState * exec=0x0012f3ac)  Line 3971 + 0x10 bytes	C++
 	WebKit_debug.dll!KJS::FunctionBodyNode::execute(KJS::ExecState * exec=0x0012f3ac)  Line 4891	C++
 	WebKit_debug.dll!KJS::FunctionBodyNodeWithDebuggerHooks::execute(KJS::ExecState * exec=0x0012f3ac)  Line 4907 + 0xc bytes	C++
 	WebKit_debug.dll!KJS::FunctionImp::callAsFunction(KJS::ExecState * exec=0x0795b3d0, KJS::JSObject * thisObj=0x072f6140, const KJS::List &amp; args={...})  Line 78 + 0x21 bytes	C++
 	WebKit_debug.dll!KJS::JSObject::call(KJS::ExecState * exec=0x0795b3d0, KJS::JSObject * thisObj=0x072f6140, const KJS::List &amp; args={...})  Line 99 + 0x1b bytes	C++
 	WebKit_debug.dll!WebCore::JSAbstractEventListener::handleEvent(WebCore::Event * ele=0x0804c240, bool isWindowEvent=false)  Line 100 + 0x14 bytes	C++
 	WebKit_debug.dll!WebCore::EventTarget::handleLocalEvents(WebCore::EventTargetNode * referenceNode=0x07c31de0, WebCore::Event * evt=0x0804c240, bool useCapture=false)  Line 314 + 0x2e bytes	C++
 	WebKit_debug.dll!WebCore::EventTargetNode::handleLocalEvents(WebCore::Event * evt=0x0804c240, bool useCapture=false)  Line 106	C++
 	WebKit_debug.dll!WebCore::EventTarget::dispatchGenericEvent(WebCore::EventTargetNode * referenceNode=0x07c31de0, WTF::PassRefPtr&lt;WebCore::Event&gt; e={...}, int &amp; __formal=0, bool tempEvent=true)  Line 212 + 0x1d bytes	C++
 	WebKit_debug.dll!WebCore::EventTargetNode::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt; e={...}, int &amp; ec=0, bool tempEvent=true)  Line 121 + 0x1e bytes	C++
 	WebKit_debug.dll!WebCore::EventTargetNode::dispatchHTMLEvent(const WebCore::AtomicString &amp; eventType={...}, bool canBubbleArg=false, bool cancelableArg=false)  Line 358	C++
 	WebKit_debug.dll!WebCore::HTMLScriptElement::notifyFinished(WebCore::CachedResource * o=0x078b2fe8)  Line 167	C++
 	WebKit_debug.dll!WebCore::CachedScript::checkNotify()  Line 95 + 0x13 bytes	C++
 	WebKit_debug.dll!WebCore::CachedScript::data(WTF::PassRefPtr&lt;WebCore::SharedBuffer&gt; data={...}, bool allDataReceived=true)  Line 86	C++
 	WebKit_debug.dll!WebCore::Loader::Host::didFinishLoading(WebCore::SubresourceLoader * loader=0x0804b620)  Line 269	C++
 	WebKit_debug.dll!WebCore::SubresourceLoader::didFinishLoading()  Line 193 + 0x21 bytes	C++
 	WebKit_debug.dll!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle * __formal=0x07b08198)  Line 389 + 0xf bytes	C++
 	WebKit_debug.dll!WebCore::didFinishLoading(_CFURLConnection * conn=0x07c753f8, const void * clientInfo=0x07b08198)  Line 117 + 0x1e bytes	C++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80306</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-05-13 16:36:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/5933443&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80316</commentid>
    <comment_count>2</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-13 18:36:23 -0700</bug_when>
    <thetext>The callEvent and returnEvent calls seem to unbalanced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80406</commentid>
    <comment_count>3</comment_count>
      <attachid>21137</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-05-14 14:31:33 -0700</bug_when>
    <thetext>Created attachment 21137
testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80437</commentid>
    <comment_count>4</comment_count>
      <attachid>21149</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-14 18:42:04 -0700</bug_when>
    <thetext>Created attachment 21149
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80441</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-14 18:59:58 -0700</bug_when>
    <thetext>Landed in r33473.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80454</commentid>
    <comment_count>6</comment_count>
      <attachid>21149</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-05-14 21:47:56 -0700</bug_when>
    <thetext>Comment on attachment 21149
Proposed patch

@@ -457,9 +530,8 @@ bool JavaScriptDebugServer::returnEvent(ExecState* exec, int sourceID, int lineN
 {
     if (m_paused)
         return true;
+    updateCurrentCallFrame(m_currentCallFrame, exec, sourceID, lineNumber, m_pauseOnExecState);
     pauseIfNeeded(exec, sourceID, lineNumber);
-    m_currentCallFrame-&gt;invalidate();
-    m_currentCallFrame = m_currentCallFrame-&gt;caller();
     return true;
 }
 
Doesn&apos;t this change reintroduce the bug that was fixed by r33453? &lt;http://trac.webkit.org/changeset/33453&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80455</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-05-14 21:48:40 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 21149 [edit])
&gt; @@ -457,9 +530,8 @@ bool JavaScriptDebugServer::returnEvent(ExecState* exec,
&gt; int sourceID, int lineN
&gt;  {
&gt;      if (m_paused)
&gt;          return true;
&gt; +    updateCurrentCallFrame(m_currentCallFrame, exec, sourceID, lineNumber,
&gt; m_pauseOnExecState);
&gt;      pauseIfNeeded(exec, sourceID, lineNumber);
&gt; -    m_currentCallFrame-&gt;invalidate();
&gt; -    m_currentCallFrame = m_currentCallFrame-&gt;caller();
&gt;      return true;
&gt;  }
&gt; 
&gt; Doesn&apos;t this change reintroduce the bug that was fixed by r33453?
&gt; &lt;http://trac.webkit.org/changeset/33453&gt;

(We really need a testcase for that bug, btw!)

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80463</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-14 22:25:26 -0700</bug_when>
    <thetext>I doesn&apos;t reintroduce that bug because things are updated more with atStatement.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>21137</attachid>
            <date>2008-05-14 14:31:33 -0700</date>
            <delta_ts>2008-05-14 14:31:33 -0700</delta_ts>
            <desc>testcase</desc>
            <filename>returnEvent-crash.html</filename>
            <type>text/html</type>
            <size>554</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KICAgIGZ1bmN0aW9uIHRlc3QyKCkgewogICAgICAgIHZhciB5ID0gNjsKICAgICAg
ICB5ICs9IDM7CiAgICAgICAgcmV0dXJuIHk7CiAgICB9CgogICAgZnVuY3Rpb24gdGVzdCgpIHsK
ICAgICAgICB2YXIgeCA9IDU7CiAgICAgICAgZXZhbCgidGVzdDIoKSIpOwogICAgICAgIHggKz0g
NjsKICAgICAgICByZXR1cm4geDsKICAgIH0KPC9zY3JpcHQ+CjxwPlRlc3QgZm9yIDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzOCI+QnVnIDE5MDM4
OiBDcmFzaCBpbiBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnJldHVybkV2ZW50IHdoZW4gaW5zcGVj
dGluZyBhbiBhdHRhY2hlZCBJbnNwZWN0b3I8L2E+LjwvcD4KPHA+VG8gdGVzdCwgb3BlbiBhbmQg
YXR0YWNoIHRoZSBJbnNwZWN0b3IncyBkZWJ1Z2dlciwgdGhlbiBjbGljayB0aGUgYnV0dG9uIGJl
bG93LiBJZiB5b3UgZG9uJ3QgY3Jhc2gsIHlvdSBoYXZlIHBhc3NlZCB0aGUgdGVzdC48L3A+Cjxi
dXR0b24gb25jbGljaz0idGVzdCgpIj5jbGljayBtZTwvYnV0dG9uPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21149</attachid>
            <date>2008-05-14 18:42:04 -0700</date>
            <delta_ts>2008-05-14 18:56:04 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001-Fixes-a-crash-in-JavaScriptDebugServer-returnEvent.patch</filename>
            <type>text/plain</type>
            <size>10713</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">RnJvbSA1N2ViZGUxYmMxZDNkZTk2M2RjMzUzZTY2YWJkYmEyMjhlMGVkYTVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW1vdGh5IEhhdGNoZXIgPHRpbW90aHlAYXBwbGUuY29tPgpE
YXRlOiBXZWQsIDE0IE1heSAyMDA4IDE4OjA2OjU5IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gRml4
ZXMgYSBjcmFzaCBpbiBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnJldHVybkV2ZW50IHdoZW4gZGVi
dWdnaW5nCiBjb2RlIHRoYXQgY29udGFpbnMgYW4gZXZhbC4gVGhpcyBjaGFuZ2UgbWFrZXMgc3Rl
cHBpbmcgaW50byBldmFsCiBjb2RlIHdvcmsgYXMgZXhwZWN0ZWQuCgpodHRwOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzOAoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgpUZXN0ZWQgd2l0aDogbWFudWFsLXRlc3RzL2luc3BlY3Rvci9yZXR1cm5FdmVudC1jcmFzaC5o
dG1sCgoqIG1hbnVhbC10ZXN0cy9pbnNwZWN0b3IvcmV0dXJuRXZlbnQtY3Jhc2guaHRtbDogQWRk
ZWQuCiogcGFnZS9KYXZhU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgooV2ViQ29yZTo6SmF2YVNjcmlw
dERlYnVnU2VydmVyOjpzb3VyY2VQYXJzZWQpOiBBZGRzICNpZmRlZmVkCmRlYnVnZ2luZyBjb2Rl
IHRvIHByZXZlbnQgdGhlIHNvdXJjZUlEIGFuZCBVUkwuCihXZWJDb3JlOjp1cGRhdGVDdXJyZW50
Q2FsbEZyYW1lKTogQWRkZWQuIEEgaGVscGVyIGZ1bmN0aW9uIHRoYXQKaXMgY2FsbGVkIGZyb20g
YWxsIDQgb2YgdGhlIGRlYnVnZ2VyIGhvb2tzIGJlbG93LiBUaGlzIGZ1bmN0aW9uIHdpbGwKdXBk
YXRlIGFuZC9vciBjcmVhdGUgSmF2YVNjcmlwdENhbGxGcmFtZXMgdG8gbWF0Y2ggdGhlIGV4ZWMg
c3RhdGUsCnNvdXJjZUlEIGFuZCBsaW5lTnVtYmVyIHBhc3NlZCBpbnRvIGl0LiBDb250YWlucyAj
aWZkZWZlZCBkZWJ1Z2dpbmcKY29kZSB0aGF0IHdhcyBoZWxwZnVsIHdoaWxlIGZpeGluZyB0aGlz
IGJ1Zy4KKFdlYkNvcmU6OkphdmFTY3JpcHREZWJ1Z1NlcnZlcjo6Y2FsbEV2ZW50KTogQ2FsbCB1
cGRhdGVDdXJyZW50Q2FsbEZyYW1lCmJlZm9yZSBwYXVzZUlmTmVlZGVkLgooV2ViQ29yZTo6SmF2
YVNjcmlwdERlYnVnU2VydmVyOjphdFN0YXRlbWVudCk6IERpdHRvLgooV2ViQ29yZTo6SmF2YVNj
cmlwdERlYnVnU2VydmVyOjpyZXR1cm5FdmVudCk6IERpdHRvLgooV2ViQ29yZTo6SmF2YVNjcmlw
dERlYnVnU2VydmVyOjpleGNlcHRpb24pOiBEaXR0by4KLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjcgKysrKysKIC4uLi9tYW51YWwt
dGVzdHMvaW5zcGVjdG9yL3JldHVybkV2ZW50LWNyYXNoLmh0bWwgIHwgICAxNyArKysKIFdlYkNv
cmUvcGFnZS9KYXZhU2NyaXB0RGVidWdTZXJ2ZXIuY3BwICAgICAgICAgICAgIHwgIDEwMyArKysr
KysrKysrKysrKysrLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCAxNyBk
ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL21hbnVhbC10ZXN0cy9pbnNw
ZWN0b3IvcmV0dXJuRXZlbnQtY3Jhc2guaHRtbAoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIyOGJkMC4uZWEyZWM3MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwz
MiBAQAogMjAwOC0wNS0xNCAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAK
KyAgICAgICAgRml4ZXMgYSBjcmFzaCBpbiBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnJldHVybkV2
ZW50IHdoZW4gZGVidWdnaW5nCisgICAgICAgIGNvZGUgdGhhdCBjb250YWlucyBhbiBldmFsLiBU
aGlzIGNoYW5nZSBtYWtlcyBzdGVwcGluZyBpbnRvIGV2YWwKKyAgICAgICAgY29kZSB3b3JrIGFz
IGV4cGVjdGVkLgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MDM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGVzdGVkIHdpdGg6IG1hbnVhbC10ZXN0cy9pbnNwZWN0b3IvcmV0dXJuRXZlbnQtY3Jhc2gu
aHRtbAorCisgICAgICAgICogbWFudWFsLXRlc3RzL2luc3BlY3Rvci9yZXR1cm5FdmVudC1jcmFz
aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0phdmFTY3JpcHREZWJ1Z1NlcnZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnNvdXJjZVBhcnNlZCk6
IEFkZHMgI2lmZGVmZWQKKyAgICAgICAgZGVidWdnaW5nIGNvZGUgdG8gcHJldmVudCB0aGUgc291
cmNlSUQgYW5kIFVSTC4KKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0ZUN1cnJlbnRDYWxsRnJhbWUp
OiBBZGRlZC4gQSBoZWxwZXIgZnVuY3Rpb24gdGhhdAorICAgICAgICBpcyBjYWxsZWQgZnJvbSBh
bGwgNCBvZiB0aGUgZGVidWdnZXIgaG9va3MgYmVsb3cuIFRoaXMgZnVuY3Rpb24gd2lsbAorICAg
ICAgICB1cGRhdGUgYW5kL29yIGNyZWF0ZSBKYXZhU2NyaXB0Q2FsbEZyYW1lcyB0byBtYXRjaCB0
aGUgZXhlYyBzdGF0ZSwKKyAgICAgICAgc291cmNlSUQgYW5kIGxpbmVOdW1iZXIgcGFzc2VkIGlu
dG8gaXQuIENvbnRhaW5zICNpZmRlZmVkIGRlYnVnZ2luZworICAgICAgICBjb2RlIHRoYXQgd2Fz
IGhlbHBmdWwgd2hpbGUgZml4aW5nIHRoaXMgYnVnLgorICAgICAgICAoV2ViQ29yZTo6SmF2YVNj
cmlwdERlYnVnU2VydmVyOjpjYWxsRXZlbnQpOiBDYWxsIHVwZGF0ZUN1cnJlbnRDYWxsRnJhbWUK
KyAgICAgICAgYmVmb3JlIHBhdXNlSWZOZWVkZWQuCisgICAgICAgIChXZWJDb3JlOjpKYXZhU2Ny
aXB0RGVidWdTZXJ2ZXI6OmF0U3RhdGVtZW50KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpK
YXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnJldHVybkV2ZW50KTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OmV4Y2VwdGlvbik6IERpdHRvLgorCisyMDA4LTA1
LTE0ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKwogICAgICAgICBGaXhl
cyB0aGUgYnVnIHdoZXJlIHN0ZXBwaW5nIG91dCBvZiBhIGZ1bmN0aW9uIHdvdWxkIHNob3cgdGhl
IHdyb25nCiAgICAgICAgIGNhbGwgc3RhY2sgKHdvdWxkIGxvb2sgbGlrZSBpdCBzdGVwcGVkIG91
dCB0d2ljZS4pCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3RzL2luc3BlY3Rvci9y
ZXR1cm5FdmVudC1jcmFzaC5odG1sIGIvV2ViQ29yZS9tYW51YWwtdGVzdHMvaW5zcGVjdG9yL3Jl
dHVybkV2ZW50LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NWRkMTExOQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2luc3BlY3Rv
ci9yZXR1cm5FdmVudC1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxzY3JpcHQ+CisgICAg
ZnVuY3Rpb24gdGVzdDIoKSB7CisgICAgICAgIHZhciB5ID0gNjsKKyAgICAgICAgeSArPSAzOwor
ICAgICAgICByZXR1cm4geTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAg
ICB2YXIgeCA9IDU7CisgICAgICAgIGV2YWwoInRlc3QyKCkiKTsKKyAgICAgICAgeCArPSA2Owor
ICAgICAgICByZXR1cm4geDsKKyAgICB9Cis8L3NjcmlwdD4KKzxwPlRlc3QgZm9yIDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzOCI+QnVnIDE5MDM4
OiBDcmFzaCBpbiBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnJldHVybkV2ZW50IHdoZW4gaW5zcGVj
dGluZyBhbiBhdHRhY2hlZCBJbnNwZWN0b3I8L2E+LjwvcD4KKzxwPlRvIHRlc3QsIG9wZW4gYW5k
IGF0dGFjaCB0aGUgSW5zcGVjdG9yJ3MgZGVidWdnZXIsIHRoZW4gY2xpY2sgdGhlIGJ1dHRvbiBi
ZWxvdy4gSWYgeW91IGRvbid0IGNyYXNoLCB5b3UgaGF2ZSBwYXNzZWQgdGhlIHRlc3QuPC9wPgor
PGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0KCkiPmNsaWNrIG1lPC9idXR0b24+CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvSmF2YVNjcmlwdERlYnVnU2VydmVyLmNwcCBiL1dlYkNvcmUvcGFnZS9KYXZh
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IGIxNThiZjUuLmZmYTU2NzIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9KYXZhU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFn
ZS9KYXZhU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0yNjksNiArMjY5LDEwIEBAIHN0YXRpYyBQ
YWdlKiB0b1BhZ2UoRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiB3aW5kb3ctPmltcGwoKS0+
ZnJhbWUoKS0+cGFnZSgpOwogfQogCisjaWZkZWYgREVCVUdfREVCVUdHRVJfQ0FMTEJBQ0tTCitz
dGF0aWMgdW5zaWduZWQgc19jYWxsRGVwdGggPSAwOworI2VuZGlmCisKIGJvb2wgSmF2YVNjcmlw
dERlYnVnU2VydmVyOjpzb3VyY2VQYXJzZWQoRXhlY1N0YXRlKiBleGVjLCBpbnQgc291cmNlSUQs
IGNvbnN0IFVTdHJpbmcmIHNvdXJjZVVSTCwgY29uc3QgVVN0cmluZyYgc291cmNlLCBpbnQgc3Rh
cnRpbmdMaW5lTnVtYmVyLCBpbnQgZXJyb3JMaW5lLCBjb25zdCBVU3RyaW5nJiBlcnJvck1lc3Nh
Z2UpCiB7CiAgICAgaWYgKG1fY2FsbGluZ0xpc3RlbmVycykKQEAgLTI4NCw2ICsyODgsMTMgQEAg
Ym9vbCBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnNvdXJjZVBhcnNlZChFeGVjU3RhdGUqIGV4ZWMs
IGludCBzb3VyY2VJRCwgY29uc3QgVVMKIAogICAgIGJvb2wgaXNFcnJvciA9IGVycm9yTGluZSAh
PSAtMTsKIAorI2lmZGVmIERFQlVHX0RFQlVHR0VSX0NBTExCQUNLUworICAgIHByaW50Zigic291
cmNlOiAiKTsKKyAgICBmb3IodW5zaWduZWQgaSA9IDA7IGkgPCBzX2NhbGxEZXB0aDsgKytpKQor
ICAgICAgICBwcmludGYoIiAiKTsKKyAgICBwcmludGYoIiVkOiAnJXMnIGV4ZWM6ICVwIChjYWxs
ZXI6ICVwKSBzb3VyY2U6ICVkXG4iLCBzX2NhbGxEZXB0aCwgc291cmNlVVJMLmFzY2lpKCksIGV4
ZWMsIGV4ZWMtPmNhbGxpbmdFeGVjU3RhdGUoKSwgc291cmNlSUQpOworI2VuZGlmCisKICAgICBp
ZiAoIW1fbGlzdGVuZXJzLmlzRW1wdHkoKSkgewogICAgICAgICBpZiAoaXNFcnJvcikKICAgICAg
ICAgICAgIGRpc3BhdGNoRmFpbGVkVG9QYXJzZVNvdXJjZShtX2xpc3RlbmVycywgc291cmNlLCBz
dGFydGluZ0xpbmVOdW1iZXIsIHNvdXJjZVVSTCwgZXJyb3JMaW5lLCBlcnJvck1lc3NhZ2UpOwpA
QCAtNDI2LDE3ICs0MzcsODIgQEAgdm9pZCBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OnBhdXNlSWZO
ZWVkZWQoRXhlY1N0YXRlKiBleGVjLCBpbnQgc291cmNlSUQsIGludCBsaW4KICAgICBtX3BhdXNl
ZCA9IGZhbHNlOwogfQogCi1ib29sIEphdmFTY3JpcHREZWJ1Z1NlcnZlcjo6Y2FsbEV2ZW50KEV4
ZWNTdGF0ZSogZXhlYywgaW50IHNvdXJjZUlELCBpbnQgbGluZU51bWJlciwgSlNPYmplY3QqLCBj
b25zdCBMaXN0JikKK3N0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVDdXJyZW50Q2FsbEZyYW1lKFJl
ZlB0cjxKYXZhU2NyaXB0Q2FsbEZyYW1lPiYgY3VycmVudENhbGxGcmFtZSwgRXhlY1N0YXRlKiBl
eGVjLCBpbnQgc291cmNlSUQsIGludCBsaW5lTnVtYmVyLCBFeGVjU3RhdGUqJiBwYXVzZUV4ZWNT
dGF0ZSkKIHsKLSAgICBpZiAobV9wYXVzZWQpCi0gICAgICAgIHJldHVybiB0cnVlOworI2lmZGVm
IERFQlVHX0RFQlVHR0VSX0NBTExCQUNLUworICAgIGNvbnN0IGNoYXIqIGFjdGlvbiA9IDA7Cisj
ZW5kaWYKIAotICAgIGlmIChtX2N1cnJlbnRDYWxsRnJhbWUgJiYgbV9jdXJyZW50Q2FsbEZyYW1l
LT5leGVjU3RhdGUoKSAhPSBleGVjLT5jYWxsaW5nRXhlY1N0YXRlKCkpIHsKLSAgICAgICAgbV9j
dXJyZW50Q2FsbEZyYW1lLT5pbnZhbGlkYXRlKCk7Ci0gICAgICAgIG1fY3VycmVudENhbGxGcmFt
ZSA9IDA7CisgICAgaWYgKGN1cnJlbnRDYWxsRnJhbWUpIHsKKyAgICAgICAgaWYgKGN1cnJlbnRD
YWxsRnJhbWUtPmV4ZWNTdGF0ZSgpID09IGV4ZWMpIHsKKyAgICAgICAgICAgIC8vIFNhbWUgY2Fs
bCBmcmFtZSwganVzdCB1cGRhdGUgdGhlIGN1cnJlbnQgbGluZS4KKyAgICAgICAgICAgIGN1cnJl
bnRDYWxsRnJhbWUtPnNldExpbmUobGluZU51bWJlcik7CisjaWZkZWYgREVCVUdfREVCVUdHRVJf
Q0FMTEJBQ0tTCisgICAgICAgICAgICBhY3Rpb24gPSAiICBzYW1lIjsKKyNlbmRpZgorICAgICAg
ICB9IGVsc2UgaWYgKGN1cnJlbnRDYWxsRnJhbWUtPmV4ZWNTdGF0ZSgpID09IGV4ZWMtPmNhbGxp
bmdFeGVjU3RhdGUoKSkgeworICAgICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGNhbGwgZnJhbWUs
IGFuZCBtYWtlIHRoZSBjYWxsZXIgdGhlIHByZXZpb3VzIGNhbGwgZnJhbWUuCisgICAgICAgICAg
ICBjdXJyZW50Q2FsbEZyYW1lID0gSmF2YVNjcmlwdENhbGxGcmFtZTo6Y3JlYXRlKGV4ZWMsIGN1
cnJlbnRDYWxsRnJhbWUsIHNvdXJjZUlELCBsaW5lTnVtYmVyKTsKKyNpZmRlZiBERUJVR19ERUJV
R0dFUl9DQUxMQkFDS1MKKyAgICAgICAgICAgIGFjdGlvbiA9ICIgIGNhbGwiOworICAgICAgICAg
ICAgKytzX2NhbGxEZXB0aDsKKyNlbmRpZgorICAgICAgICB9IGVsc2UgeworI2lmZGVmIERFQlVH
X0RFQlVHR0VSX0NBTExCQUNLUworICAgICAgICAgICAgYWN0aW9uID0gInJldHVybiI7CisjZW5k
aWYKKyAgICAgICAgICAgIC8vIFRoZSBjdXJyZW50IGNhbGwgZnJhbWUgaXNuJ3QgdGhlIHNhbWUg
YW5kIGl0IGlzbid0IHRoZSBjYWxsZXIgb2YgYSBuZXcgY2FsbCBmcmFtZSwKKyAgICAgICAgICAg
IC8vIHNvIGl0IG1pZ2h0IGJlIGEgcHJldmlvdXMgY2FsbCBmcmFtZSAocmV0dXJuaW5nIGZyb20g
YSBmdW5jdGlvbikuIE9yIGl0IGlzIGEgc3RhbGUgY2FsbAorICAgICAgICAgICAgLy8gZnJhbWUg
ZnJvbSB0aGUgcHJldmlvdXMgZXhlY3V0aW9uIG9mIGdsb2JhbCBjb2RlLiBXYWxrIHVwIHRoZSBj
YWxsZXIgY2hhaW4gdW50aWwgd2UgZmluZAorICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgZXhl
YyBzdGF0ZS4gSWYgdGhlIGN1cnJlbnQgZXhlYyBzdGF0ZSBpcyBmb3VuZCwgdGhlIGN1cnJlbnQg
Y2FsbCBmcmFtZSB3aWxsIGJlCisgICAgICAgICAgICAvLyBzZXQgdG8gbnVsbCAoYW5kIGEgbmV3
IG9uZSB3aWxsIGJlIGNyZWF0ZWQgYmVsb3cuKQorICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnRD
YWxsRnJhbWUgJiYgY3VycmVudENhbGxGcmFtZS0+ZXhlY1N0YXRlKCkgIT0gZXhlYykgeworICAg
ICAgICAgICAgICAgIGlmIChjdXJyZW50Q2FsbEZyYW1lLT5leGVjU3RhdGUoKSA9PSBwYXVzZUV4
ZWNTdGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY3VycmVudCBjYWxsIGZyYW1l
IG1hdGNoZXMgdGhlIHBhdXNlIGV4ZWMgc3RhdGUgKHVzZWQgZm9yIHN0ZXAgb3Zlci4pCisgICAg
ICAgICAgICAgICAgICAgIC8vIFNpbmNlIHdlIGFyZSByZXR1cm5pbmcgdXAgdGhlIGNhbGwgc3Rh
Y2ssIHVwZGF0ZSB0aGUgcGF1c2UgZXhlYyBzdGF0ZSB0byBtYXRjaC4KKyAgICAgICAgICAgICAg
ICAgICAgLy8gVGhpcyBtYWtlcyBzdGVwcGluZyBvdmVyIGEgcmV0dXJuIHN0YXRlbWVudCBhY3Qg
bGlrZSBhIHN0ZXAgb3V0LgorICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudENhbGxGcmFt
ZS0+Y2FsbGVyKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBwYXVzZUV4ZWNTdGF0ZSA9IGN1
cnJlbnRDYWxsRnJhbWUtPmNhbGxlcigpLT5leGVjU3RhdGUoKTsKKyAgICAgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2VFeGVjU3RhdGUgPSAwOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIEludmFsaWRhdGUgdGhlIGNhbGwg
ZnJhbWUgc2luY2UgaXQncyBFeGVjU3RhdGUgaXMgc3RhbGUgbm93LgorICAgICAgICAgICAgICAg
IGN1cnJlbnRDYWxsRnJhbWUtPmludmFsaWRhdGUoKTsKKyAgICAgICAgICAgICAgICBjdXJyZW50
Q2FsbEZyYW1lID0gY3VycmVudENhbGxGcmFtZS0+Y2FsbGVyKCk7CisKKyNpZmRlZiBERUJVR19E
RUJVR0dFUl9DQUxMQkFDS1MKKyAgICAgICAgICAgICAgICBpZiAoc19jYWxsRGVwdGgpCisgICAg
ICAgICAgICAgICAgICAgIC0tc19jYWxsRGVwdGg7CisjZW5kaWYKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgaWYgKGN1cnJlbnRDYWxsRnJhbWUpCisgICAgICAgICAgICAgICAgY3VycmVu
dENhbGxGcmFtZS0+c2V0TGluZShsaW5lTnVtYmVyKTsKKyAgICAgICAgfQogICAgIH0KIAotICAg
IG1fY3VycmVudENhbGxGcmFtZSA9IEphdmFTY3JpcHRDYWxsRnJhbWU6OmNyZWF0ZShleGVjLCBt
X2N1cnJlbnRDYWxsRnJhbWUsIHNvdXJjZUlELCBsaW5lTnVtYmVyKTsKKyAgICBpZiAoIWN1cnJl
bnRDYWxsRnJhbWUpIHsKKyAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGNhbGwgZnJhbWUgd2l0aCBu
byBjYWxsZXIsIHRoaXMgaXMgbGlrZWx5IGdsb2JhbCBjb2RlLgorICAgICAgICBjdXJyZW50Q2Fs
bEZyYW1lID0gSmF2YVNjcmlwdENhbGxGcmFtZTo6Y3JlYXRlKGV4ZWMsIDAsIHNvdXJjZUlELCBs
aW5lTnVtYmVyKTsKKyNpZmRlZiBERUJVR19ERUJVR0dFUl9DQUxMQkFDS1MKKyAgICAgICAgYWN0
aW9uID0gIiAgIG5ldyI7CisjZW5kaWYKKyAgICB9CisKKyNpZmRlZiBERUJVR19ERUJVR0dFUl9D
QUxMQkFDS1MKKyAgICBwcmludGYoIiVzOiAiLCBhY3Rpb24pOworICAgIGZvcih1bnNpZ25lZCBp
ID0gMDsgaSA8IHNfY2FsbERlcHRoOyArK2kpCisgICAgICAgIHByaW50ZigiICIpOworICAgIHBy
aW50ZigiJWQ6IGF0IGV4ZWM6ICVwIChjYWxsZXI6ICVwLCBwYXVzZTogJXApIHNvdXJjZTogJWQg
bGluZTogJWRcbiIsIHNfY2FsbERlcHRoLCBleGVjLCBleGVjLT5jYWxsaW5nRXhlY1N0YXRlKCks
IHBhdXNlRXhlY1N0YXRlLCBzb3VyY2VJRCwgbGluZU51bWJlcik7CisjZW5kaWYKK30KKworYm9v
bCBKYXZhU2NyaXB0RGVidWdTZXJ2ZXI6OmNhbGxFdmVudChFeGVjU3RhdGUqIGV4ZWMsIGludCBz
b3VyY2VJRCwgaW50IGxpbmVOdW1iZXIsIEpTT2JqZWN0KiwgY29uc3QgTGlzdCYpCit7CisgICAg
aWYgKG1fcGF1c2VkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB1cGRhdGVDdXJyZW50Q2Fs
bEZyYW1lKG1fY3VycmVudENhbGxGcmFtZSwgZXhlYywgc291cmNlSUQsIGxpbmVOdW1iZXIsIG1f
cGF1c2VPbkV4ZWNTdGF0ZSk7CiAgICAgcGF1c2VJZk5lZWRlZChleGVjLCBzb3VyY2VJRCwgbGlu
ZU51bWJlcik7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00NDUsMTAgKzUyMSw3IEBAIGJvb2wg
SmF2YVNjcmlwdERlYnVnU2VydmVyOjphdFN0YXRlbWVudChFeGVjU3RhdGUqIGV4ZWMsIGludCBz
b3VyY2VJRCwgaW50IGZpcnN0CiB7CiAgICAgaWYgKG1fcGF1c2VkKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBpZiAobV9jdXJyZW50Q2FsbEZyYW1lKQotICAgICAgICBtX2N1cnJlbnRDYWxs
RnJhbWUtPnNldExpbmUoZmlyc3RMaW5lKTsKLSAgICBlbHNlCi0gICAgICAgIG1fY3VycmVudENh
bGxGcmFtZSA9IEphdmFTY3JpcHRDYWxsRnJhbWU6OmNyZWF0ZShleGVjLCAwLCBzb3VyY2VJRCwg
Zmlyc3RMaW5lKTsKKyAgICB1cGRhdGVDdXJyZW50Q2FsbEZyYW1lKG1fY3VycmVudENhbGxGcmFt
ZSwgZXhlYywgc291cmNlSUQsIGZpcnN0TGluZSwgbV9wYXVzZU9uRXhlY1N0YXRlKTsKICAgICBw
YXVzZUlmTmVlZGVkKGV4ZWMsIHNvdXJjZUlELCBmaXJzdExpbmUpOwogICAgIHJldHVybiB0cnVl
OwogfQpAQCAtNDU3LDkgKzUzMCw4IEBAIGJvb2wgSmF2YVNjcmlwdERlYnVnU2VydmVyOjpyZXR1
cm5FdmVudChFeGVjU3RhdGUqIGV4ZWMsIGludCBzb3VyY2VJRCwgaW50IGxpbmVOCiB7CiAgICAg
aWYgKG1fcGF1c2VkKQogICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB1cGRhdGVDdXJyZW50Q2Fs
bEZyYW1lKG1fY3VycmVudENhbGxGcmFtZSwgZXhlYywgc291cmNlSUQsIGxpbmVOdW1iZXIsIG1f
cGF1c2VPbkV4ZWNTdGF0ZSk7CiAgICAgcGF1c2VJZk5lZWRlZChleGVjLCBzb3VyY2VJRCwgbGlu
ZU51bWJlcik7Ci0gICAgbV9jdXJyZW50Q2FsbEZyYW1lLT5pbnZhbGlkYXRlKCk7Ci0gICAgbV9j
dXJyZW50Q2FsbEZyYW1lID0gbV9jdXJyZW50Q2FsbEZyYW1lLT5jYWxsZXIoKTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIApAQCAtNDY3LDEwICs1MzksNyBAQCBib29sIEphdmFTY3JpcHREZWJ1Z1Nl
cnZlcjo6ZXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgaW50IHNvdXJjZUlELCBpbnQgbGluZU51
bQogewogICAgIGlmIChtX3BhdXNlZCkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKG1f
Y3VycmVudENhbGxGcmFtZSkKLSAgICAgICAgbV9jdXJyZW50Q2FsbEZyYW1lLT5zZXRMaW5lKGxp
bmVOdW1iZXIpOwotICAgIGVsc2UKLSAgICAgICAgbV9jdXJyZW50Q2FsbEZyYW1lID0gSmF2YVNj
cmlwdENhbGxGcmFtZTo6Y3JlYXRlKGV4ZWMsIDAsIHNvdXJjZUlELCBsaW5lTnVtYmVyKTsKKyAg
ICB1cGRhdGVDdXJyZW50Q2FsbEZyYW1lKG1fY3VycmVudENhbGxGcmFtZSwgZXhlYywgc291cmNl
SUQsIGxpbmVOdW1iZXIsIG1fcGF1c2VPbkV4ZWNTdGF0ZSk7CiAgICAgaWYgKG1fcGF1c2VPbkV4
Y2VwdGlvbnMpCiAgICAgICAgIG1fcGF1c2VPbk5leHRTdGF0ZW1lbnQgPSB0cnVlOwogICAgIHBh
dXNlSWZOZWVkZWQoZXhlYywgc291cmNlSUQsIGxpbmVOdW1iZXIpOwotLSAKMS41LjQuNAoK
</data>
<flag name="review"
          id="9239"
          type_id="1"
          status="+"
          setter="kmccullough"
    />
          </attachment>
      

    </bug>

</bugzilla>