<?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>83353</bug_id>
          
          <creation_ts>2012-04-06 00:52:54 -0700</creation_ts>
          <short_desc>[Chromium] Web Inspector: getEventListeners(window) crashes on NTP</short_desc>
          <delta_ts>2012-04-06 05:07:46 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>597241</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-06 00:52:54 -0700</bug_when>
    <thetext>1. Open DevTools on the new tab page
2. Type getEventListeners(window) in the console

Result: inspected page crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597246</commentid>
    <comment_count>1</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-06 01:12:48 -0700</bug_when>
    <thetext>#
# Fatal error in ../../v8/src/objects-inl.h, line 1484
# CHECK(index &lt; GetInternalFieldCount() &amp;&amp; index &gt;= 0) failed
#


==== Stack trace ============================================

Security context: 0xd2f79e1f631 &lt;String[15]: chrome://newtab&gt;
    1: getEventListeners [0x9090fb04121 &lt;undefined&gt;:690] (this=0x39c191f29b41 &lt;a CommandLineAPIImpl&gt;#0#,node=0x9090fb6bff1 &lt;JS Global Object&gt;#1#)
    3: getEventListeners(aka bound) [0x9090fb04121 &lt;undefined&gt;:37] (this=0x39c191f414d1 &lt;a CommandLineAPI&gt;#2#)
    4: arguments adaptor frame: 1-&gt;0
    5: /* anonymous */ [0x9090fb04121 &lt;undefined&gt;:2] (this=0x9090fb6bff1 &lt;JS Global Object&gt;#1#)
    6: eval [native v8natives.js:170] (this=0x9090fb6bff1 &lt;JS Global Object&gt;#1#,a=0x39c191f477f1 &lt;String[103]\: with ((window &amp;&amp; window.console &amp;&amp; window.console._commandLineAPI) || {}) {\ngetEventListeners(window)\n}&gt;)
    7: _evaluateOn [0x9090fb04121 &lt;undefined&gt;:343] (this=0x39c191f27b31 &lt;JS Object&gt;#3#,evalFunction=0x9090fb68bc9 &lt;JS Function eval&gt;#4#,object=0x9090fb6bff1 &lt;JS Global Object&gt;#1#,expression=0x39c191f477f1 &lt;String[103]\: with ((window &amp;&amp; window.console &amp;&amp; window.console._commandLineAPI) || {}) {\ngetEventListeners(window)\n}&gt;,isEvalOnCallFrame=0x9090fb04181 &lt;false&gt;,injectCommandLineAPI=0x9090fb04161 &lt;true&gt;)
    8: _evaluateAndWrap [0x9090fb04121 &lt;undefined&gt;:316] (this=0x39c191f27b31 &lt;JS Object&gt;#3#,evalFunction=0x9090fb68bc9 &lt;JS Function eval&gt;#4#,object=0x9090fb6bff1 &lt;JS Global Object&gt;#1#,expression=0x39c191f40b99 &lt;String[25]: getEventListeners(window)&gt;,objectGroup=0x39c191f29d09 &lt;String[7]: console&gt;,isEvalOnCallFrame=0x9090fb04181 &lt;false&gt;,injectCommandLineAPI=0x9090fb04161 &lt;true&gt;,returnByValue=0x9090fb04181 &lt;false&gt;)
    9: evaluate [0x9090fb04121 &lt;undefined&gt;:267] (this=0x39c191f27b31 &lt;JS Object&gt;#3#,expression=0x39c191f40b99 &lt;String[25]: getEventListeners(window)&gt;,objectGroup=0x39c191f29d09 &lt;String[7]: console&gt;,injectCommandLineAPI=0x9090fb04161 &lt;true&gt;,returnByValue=0x9090fb04181 &lt;false&gt;)

==== Details ================================================

[1]: getEventListeners [0x9090fb04121 &lt;undefined&gt;:690] (this=0x39c191f29b41 &lt;a CommandLineAPIImpl&gt;#0#,node=0x9090fb6bff1 &lt;JS Global Object&gt;#1#) {
  // expression stack (top to bottom)
  [02] : 0x32bf1960fe19 &lt;JS Function getEventListeners&gt;#5#
  [01] : 0x9090fb6bff1 &lt;JS Global Object&gt;#1#
  [00] : 0x39c191f1fbd9 &lt;an InjectedScriptHost&gt;#6#
--------- s o u r c e   c o d e ---------
function (node)?    {?        return InjectedScriptHost.getEventListeners(node);?    }
-----------------------------------------
}

[3]: getEventListeners(aka bound) [0x9090fb04121 &lt;undefined&gt;:37] (this=0x39c191f414d1 &lt;a CommandLineAPI&gt;#2#) {
  // stack-allocated locals
  var arguments = 0x39c191f47f11 &lt;an Arguments&gt;#7#
  // expression stack (top to bottom)
  [03] : 0x39c191f47f89 &lt;JS Array[1]&gt;#8#
  [02] : 0x39c191f29b41 &lt;a CommandLineAPIImpl&gt;#0#
  [01] : 0x39c191f29841 &lt;JS Function&gt;#9#
--------- s o u r c e   c o d e ---------
function bound()?    {?        return func.apply(thisObject, args.concat(Array.prototype.slice.call(arguments, 0)));?    }
-----------------------------------------
}

[4]: arguments adaptor frame: 1-&gt;0 {
  // actual arguments
  [00] : 0x9090fb6bff1 &lt;JS Global Object&gt;#1#  // not passed to callee
}

[5]: /* anonymous */ [0x9090fb04121 &lt;undefined&gt;:2] (this=0x9090fb6bff1 &lt;JS Global Object&gt;#1#) {
  // stack-allocated locals
  var .result = 0x9090fb04121 &lt;undefined&gt;
  // expression stack (top to bottom)
  [03] : 0x9090fb6bff1 &lt;JS Global Object&gt;#1#
  [02] : 0x39c191f414d1 &lt;a CommandLineAPI&gt;#2#
  [01] : 0x39c191f43eb1 &lt;JS Function bound&gt;#10#
--------- s o u r c e   c o d e ---------
with ((window &amp;&amp; window.console &amp;&amp; window.console._commandLineAPI) || {}) {?getEventListeners(window)?}
-----------------------------------------
}

[6]: eval [native v8natives.js:170] (this=0x9090fb6bff1 &lt;JS Global Object&gt;#1#,a=0x39c191f477f1 &lt;String[103]\: with ((window &amp;&amp; window.console &amp;&amp; window.console._commandLineAPI) || {}) {\ngetEventListeners(window)\n}&gt;) {
  // stack-allocated locals
  var b = 0x9090fb6bff1 &lt;JS Global Object&gt;#1#
  var d = 0x39c191f47e79 &lt;JS Function&gt;#11#
  var c = 0x9090fb04181 &lt;false&gt;
  // expression stack (top to bottom)
  [03] : 0x9090fb6bff1 &lt;JS Global Object&gt;#1#
--------- s o u r c e   c o d e ---------
function eval(a){?if(!(typeof(a)===&apos;string&apos;))return a;??var b=%GlobalReceiver(global);?var c=(global===b);???????if(c){?throw new $EvalError(&apos;The &quot;this&quot; value passed to eval must &apos;+?&apos;be the global object from which eval originated&apos;);?}??var d=%CompileString(a);?if(!(%_IsFunction(d)))return d;??return %_CallFunct...

-----------------------------------------
}

[7]: _evaluateOn [0x9090fb04121 &lt;undefined&gt;:343] (this=0x39c191f27b31 &lt;JS Object&gt;#3#,evalFunction=0x9090fb68bc9 &lt;JS Function eval&gt;#4#,object=0x9090fb6bff1 &lt;JS Global Object&gt;#1#,expression=0x39c191f477f1 &lt;String[103]\: with ((window &amp;&amp; window.console &amp;&amp; window.console._commandLineAPI) || {}) {\ngetEventListeners(window)\n}&gt;,isEvalOnCallFrame=0x9090fb04181 &lt;false&gt;,injectCommandLineAPI=0x9090fb04161 &lt;true&gt;) {
  // expression stack (top to bottom)
  [06] : 0x39c191f477f1 &lt;String[103]\: with ((window &amp;&amp; window.console &amp;&amp; window.console._commandLineAPI) || {}) {\ngetEventListeners(window)\n}&gt;
  [05] : 0x9090fb6bff1 &lt;JS Global Object&gt;#1#
--------- s o u r c e   c o d e ---------
function (evalFunction, object, expression, isEvalOnCallFrame, injectCommandLineAPI)?    {?        // Only install command line api object for the time of evaluation.?        // Surround the expression in with statements to inject our command line API so that?        // the window object properties still tak...

-----------------------------------------
}

[8]: _evaluateAndWrap [0x9090fb04121 &lt;undefined&gt;:316] (this=0x39c191f27b31 &lt;JS Object&gt;#3#,evalFunction=0x9090fb68bc9 &lt;JS Function eval&gt;#4#,object=0x9090fb6bff1 &lt;JS Global Object&gt;#1#,expression=0x39c191f40b99 &lt;String[25]: getEventListeners(window)&gt;,objectGroup=0x39c191f29d09 &lt;String[7]: console&gt;,isEvalOnCallFrame=0x9090fb04181 &lt;false&gt;,injectCommandLineAPI=0x9090fb04161 &lt;true&gt;,returnByValue=0x9090fb04181 &lt;false&gt;) {
  // expression stack (top to bottom)
  [12] : 0x9090fb04161 &lt;true&gt;
  [11] : 0x9090fb04181 &lt;false&gt;
  [10] : 0x39c191f477f1 &lt;String[103]\: with ((window &amp;&amp; window.console &amp;&amp; window.console._commandLineAPI) || {}) {\ngetEventListeners(window)\n}&gt;
  [09] : 0x9090fb6bff1 &lt;JS Global Object&gt;#1#
  [08] : 0x9090fb68bc9 &lt;JS Function eval&gt;#4#
  [07] : 0x39c191f27b31 &lt;JS Object&gt;#3#
  [06] : 0x39c191f27b31 &lt;JS Object&gt;#3#
  [05] : 0x39c191f41489 &lt;an Object&gt;#12#
--------- s o u r c e   c o d e ---------
function (evalFunction, object, expression, objectGroup, isEvalOnCallFrame, injectCommandLineAPI, returnByValue)?    {?        try {?            return { wasThrown: false,?                     result: this._wrapObject(this._evaluateOn(evalFunction, object, expression, isEvalOnCallFrame, injectCommandLineAPI)...

-----------------------------------------
}

[9]: evaluate [0x9090fb04121 &lt;undefined&gt;:267] (this=0x39c191f27b31 &lt;JS Object&gt;#3#,expression=0x39c191f40b99 &lt;String[25]: getEventListeners(window)&gt;,objectGroup=0x39c191f29d09 &lt;String[7]: console&gt;,injectCommandLineAPI=0x9090fb04161 &lt;true&gt;,returnByValue=0x9090fb04181 &lt;false&gt;) {
  // expression stack (top to bottom)
  [07] : 0x9090fb04181 &lt;false&gt;
  [06] : 0x9090fb04161 &lt;true&gt;
  [05] : 0x9090fb04181 &lt;false&gt;
  [04] : 0x39c191f29d09 &lt;String[7]: console&gt;
  [03] : 0x39c191f40b99 &lt;String[25]: getEventListeners(window)&gt;
  [02] : 0x9090fb6bff1 &lt;JS Global Object&gt;#1#
  [01] : 0x9090fb68bc9 &lt;JS Function eval&gt;#4#
  [00] : 0x39c191f27b31 &lt;JS Object&gt;#3#
--------- s o u r c e   c o d e ---------
function (expression, objectGroup, injectCommandLineAPI, returnByValue)?    {?        return this._evaluateAndWrap(inspectedWindow.eval, inspectedWindow, expression, objectGroup, false, injectCommandLineAPI, returnByValue);?    }
-----------------------------------------
}

==== Key         ============================================

 #0# 0x39c191f29b41: 0x39c191f29b41 &lt;a CommandLineAPIImpl&gt;
 #1# 0x9090fb6bff1: 0x9090fb6bff1 &lt;JS Global Object&gt;
 #2# 0x39c191f414d1: 0x39c191f414d1 &lt;a CommandLineAPI&gt;
                $x: 0x39c191f41871 &lt;JS Function bound&gt;#13#
            dirxml: 0x39c191f41cf1 &lt;JS Function bound&gt;#14#
 getEventListeners: 0x39c191f43eb1 &lt;JS Function bound&gt;#10#
           profile: 0x39c191f42519 &lt;JS Function bound&gt;#15#
              keys: 0x39c191f41f79 &lt;JS Function bound&gt;#16#
           inspect: 0x39c191f43299 &lt;JS Function bound&gt;#17#
        profileEnd: 0x39c191f42831 &lt;JS Function bound&gt;#18#
     monitorEvents: 0x39c191f42b79 &lt;JS Function bound&gt;#19#
              copy: 0x39c191f43671 &lt;JS Function bound&gt;#20#
             clear: 0x39c191f43a79 &lt;JS Function bound&gt;#21#
   unmonitorEvents: 0x39c191f42ef1 &lt;JS Function bound&gt;#22#
                $$: 0x39c191f41679 &lt;JS Function bound&gt;#23#
            values: 0x39c191f42231 &lt;JS Function bound&gt;#24#
               dir: 0x39c191f41a99 &lt;JS Function bound&gt;#25#
 #3# 0x39c191f27b31: 0x39c191f27b31 &lt;JS Object&gt;
_lastBoundObjectId: 2
_commandLineAPIImpl: 0x39c191f29b41 &lt;a CommandLineAPIImpl&gt;#0#
_idToWrappedObject: 0x39c191f27c61 &lt;an Object&gt;#26#
     _objectGroups: 0x39c191f27e91 &lt;an Object&gt;#27#
_idToObjectGroupName: 0x39c191f27d61 &lt;an Object&gt;#28#
 #4# 0x9090fb68bc9: 0x9090fb68bc9 &lt;JS Function eval&gt;
 #5# 0x32bf1960fe19: 0x32bf1960fe19 &lt;JS Function getEventListeners&gt;
 #6# 0x39c191f1fbd9: 0x39c191f1fbd9 &lt;an InjectedScriptHost&gt;
 #7# 0x39c191f47f11: 0x39c191f47f11 &lt;an Arguments&gt;
            callee: 0x39c191f43eb1 &lt;JS Function bound&gt;#10#
            length: 1
 #8# 0x39c191f47f89: 0x39c191f47f89 &lt;JS Array[1]&gt;
                 0: 0x9090fb6bff1 &lt;JS Global Object&gt;#1#
 #9# 0x39c191f29841: 0x39c191f29841 &lt;JS Function&gt;
 #10# 0x39c191f43eb1: 0x39c191f43eb1 &lt;JS Function bound&gt;
          toString: 0x32bf19619991 &lt;JS Function&gt;#29#
 #11# 0x39c191f47e79: 0x39c191f47e79 &lt;JS Function&gt;
 #12# 0x39c191f41489: 0x39c191f41489 &lt;an Object&gt;
            result: 0x9090fb04121 &lt;undefined&gt;
         wasThrown: 0x9090fb04181 &lt;false&gt;
 #13# 0x39c191f41871: 0x39c191f41871 &lt;JS Function bound&gt;
          toString: 0x32bf19619631 &lt;JS Function&gt;#30#
 #14# 0x39c191f41cf1: 0x39c191f41cf1 &lt;JS Function bound&gt;
          toString: 0x32bf196196c1 &lt;JS Function&gt;#31#
 #15# 0x39c191f42519: 0x39c191f42519 &lt;JS Function bound&gt;
          toString: 0x32bf19619799 &lt;JS Function&gt;#32#
 #16# 0x39c191f41f79: 0x39c191f41f79 &lt;JS Function bound&gt;
          toString: 0x32bf19619709 &lt;JS Function&gt;#33#
 #17# 0x39c191f43299: 0x39c191f43299 &lt;JS Function bound&gt;
          toString: 0x32bf196198b9 &lt;JS Function&gt;#34#
 #18# 0x39c191f42831: 0x39c191f42831 &lt;JS Function bound&gt;
          toString: 0x32bf196197e1 &lt;JS Function&gt;#35#
 #19# 0x39c191f42b79: 0x39c191f42b79 &lt;JS Function bound&gt;
          toString: 0x32bf19619829 &lt;JS Function&gt;#36#
 #20# 0x39c191f43671: 0x39c191f43671 &lt;JS Function bound&gt;
          toString: 0x32bf19619901 &lt;JS Function&gt;#37#
 #21# 0x39c191f43a79: 0x39c191f43a79 &lt;JS Function bound&gt;
          toString: 0x32bf19619949 &lt;JS Function&gt;#38#
 #22# 0x39c191f42ef1: 0x39c191f42ef1 &lt;JS Function bound&gt;
          toString: 0x32bf19619871 &lt;JS Function&gt;#39#
 #23# 0x39c191f41679: 0x39c191f41679 &lt;JS Function bound&gt;
          toString: 0x32bf196195e9 &lt;JS Function&gt;#40#
 #24# 0x39c191f42231: 0x39c191f42231 &lt;JS Function bound&gt;
          toString: 0x32bf19619751 &lt;JS Function&gt;#41#
 #25# 0x39c191f41a99: 0x39c191f41a99 &lt;JS Function bound&gt;
          toString: 0x32bf19619679 &lt;JS Function&gt;#42#
 #26# 0x39c191f27c61: 0x39c191f27c61 &lt;an Object&gt;
 #27# 0x39c191f27e91: 0x39c191f27e91 &lt;an Object&gt;
           console: 0x39c191f35e51 &lt;JS Array[1]&gt;#43#
 #28# 0x39c191f27d61: 0x39c191f27d61 &lt;an Object&gt;
 #29# 0x32bf19619991: 0x32bf19619991 &lt;JS Function&gt;
 #30# 0x32bf19619631: 0x32bf19619631 &lt;JS Function&gt;
 #31# 0x32bf196196c1: 0x32bf196196c1 &lt;JS Function&gt;
 #32# 0x32bf19619799: 0x32bf19619799 &lt;JS Function&gt;
 #33# 0x32bf19619709: 0x32bf19619709 &lt;JS Function&gt;
 #34# 0x32bf196198b9: 0x32bf196198b9 &lt;JS Function&gt;
 #35# 0x32bf196197e1: 0x32bf196197e1 &lt;JS Function&gt;
 #36# 0x32bf19619829: 0x32bf19619829 &lt;JS Function&gt;
 #37# 0x32bf19619901: 0x32bf19619901 &lt;JS Function&gt;
 #38# 0x32bf19619949: 0x32bf19619949 &lt;JS Function&gt;
 #39# 0x32bf19619871: 0x32bf19619871 &lt;JS Function&gt;
 #40# 0x32bf196195e9: 0x32bf196195e9 &lt;JS Function&gt;
 #41# 0x32bf19619751: 0x32bf19619751 &lt;JS Function&gt;
 #42# 0x32bf19619679: 0x32bf19619679 &lt;JS Function&gt;
 #43# 0x39c191f35e51: 0x39c191f35e51 &lt;JS Array[1]&gt;
                 0: 1
=====================</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597248</commentid>
    <comment_count>2</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-06 01:15:50 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; #
&gt; # Fatal error in ../../v8/src/objects-inl.h, line 1484
&gt; # CHECK(index &lt; GetInternalFieldCount() &amp;&amp; index &gt;= 0) failed
&gt; #
It is on Chromium r130915.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597255</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-06 01:45:56 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; It is on Chromium r130915.
Also reproducible on tip-of-tree Chromium (r131113).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597291</commentid>
    <comment_count>4</comment_count>
      <attachid>136002</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-04-06 04:50:12 -0700</bug_when>
    <thetext>Created attachment 136002
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597294</commentid>
    <comment_count>5</comment_count>
      <attachid>136002</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-06 04:59:38 -0700</bug_when>
    <thetext>Comment on attachment 136002
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=136002&amp;action=review

&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp:222
&gt; +    if (!value-&gt;IsObject() || !V8Node::HasInstance(value-&gt;ToObject()))

HasInstance receives value, no need to cast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597296</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-04-06 05:07:46 -0700</bug_when>
    <thetext>Committed r113426: &lt;http://trac.webkit.org/changeset/113426&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136002</attachid>
            <date>2012-04-06 04:50:12 -0700</date>
            <delta_ts>2012-04-06 04:59:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83353-20120406155010.patch</filename>
            <type>text/plain</type>
            <size>3409</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNlZjYyN2M0YTE5ZDUz
NWQ3YWYzN2M5OTQ2YTgzYjY5MmZiZjFiNy4uZGU3ODQyNDgyNmYxNWU5NDE4MGI5YmExZDhlYmU0
NmUzNWUwZDE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA0LTA2ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBX
ZWIgSW5zcGVjdG9yOiBnZXRFdmVudExpc3RlbmVycyh3aW5kb3cpIGNyYXNoZXMgb24gTlRQCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzM1MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4SW5qZWN0ZWRTY3JpcHRIb3N0OjpnZXRFdmVudExpc3RlbmVyc0NhbGxiYWNrKToKKwog
MjAxMi0wNC0wNSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtSRUdSRVNTSU9OXSBSZWZyZXNoZWQgYXV0b2ZpbGwgcG9wdXAgcmVuZGVycyBnYXJi
YWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmpl
Y3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAppbmRleCBkMTFiMmY0MTRmMWYxOWE4
NWZhYTA4NjEzNWY3NDAyM2EzMDdiNDRkLi5jNzc4ZjljMGY2OGI4NzJlYWFhMWIxMWM3NTJkMWFh
N2Q1MjdjMGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKQEAgLTIxOSw3ICsy
MTksNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhJbmplY3RlZFNjcmlwdEhvc3Q6OmdldEV2
ZW50TGlzdGVuZXJzQ2FsbGJhY2soY29uc3Qgdjg6OgogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5k
bGVTY29wZTsKIAogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlID0gYXJnc1swXTsKLSAg
ICBpZiAoIXZhbHVlLT5Jc09iamVjdCgpKQorICAgIGlmICghdmFsdWUtPklzT2JqZWN0KCkgfHwg
IVY4Tm9kZTo6SGFzSW5zdGFuY2UodmFsdWUtPlRvT2JqZWN0KCkpKQogICAgICAgICByZXR1cm4g
djg6OlVuZGVmaW5lZCgpOwogICAgIE5vZGUqIG5vZGUgPSBWOE5vZGU6OnRvTmF0aXZlKHZhbHVl
LT5Ub09iamVjdCgpKTsKICAgICBpZiAoIW5vZGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjVkOTVkY2U0Y2UwMmQwMzlh
NzRmZTQyZDIxNWQ2ZTI0ZjAzOGJlNC4uYjdmMDc2MWU2YmYzZTE2ZDFjYTcxNjFlM2M0MmZlNWJi
YjhjZjI0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA0LTA2ICBBbmRyZXkgS29zeWFr
b3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBXZWIgSW5zcGVj
dG9yOiBnZXRFdmVudExpc3RlbmVycyh3aW5kb3cpIGNyYXNoZXMgb24gTlRQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzM1MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUv
Y29tbWFuZC1saW5lLWFwaS1nZXRFdmVudExpc3RlbmVycy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1nZXRFdmVudExpc3RlbmVycy5o
dG1sOgorCiAyMDEyLTA0LTA2ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktZ2V0RXZlbnRMaXN0ZW5l
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1s
aW5lLWFwaS1nZXRFdmVudExpc3RlbmVycy1leHBlY3RlZC50eHQKaW5kZXggZjI5OWNkMDg1ZWY4
ODdjNGMwMTdlYzdlMzYwNjEyZTc4NzY0MWM0ZC4uMGQ3NDhlYzBhZDY1ZjU1ODdlYWFhYmQwZWI2
MDVkOTgwN2E1M2UwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
Y29tbWFuZC1saW5lLWFwaS1nZXRFdmVudExpc3RlbmVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1nZXRFdmVudExpc3Rl
bmVycy1leHBlY3RlZC50eHQKQEAgLTUxLDQgKzUxLDYgQEAgdW5kZWZpbmVkCiB1bmRlZmluZWQK
IC0gdW5kZWZpbmVkIC0KIHVuZGVmaW5lZAorLSB3aW5kb3cgLQordW5kZWZpbmVkCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktZ2V0
RXZlbnRMaXN0ZW5lcnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1h
bmQtbGluZS1hcGktZ2V0RXZlbnRMaXN0ZW5lcnMuaHRtbAppbmRleCA5NjM4OGNhOWFkOThjYWIz
M2MxZDY0MjM3YTQ1N2Y3MzA4OGUzNTRkLi45OTQxOTcxY2UwYmEzNTUyMDQ1ZmQxYzAwYTQ2ZTI4
MTdhMWIxOGNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21t
YW5kLWxpbmUtYXBpLWdldEV2ZW50TGlzdGVuZXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvY29tbWFuZC1saW5lLWFwaS1nZXRFdmVudExpc3RlbmVycy5odG1sCkBA
IC04Niw2ICs4Niw4IEBAIGZ1bmN0aW9uIHJ1blRlc3RzSW5QYWdlKGdldEV2ZW50TGlzdGVuZXJz
KQogICAgIG91dHB1dCh0eXBlb2YgZ2V0RXZlbnRMaXN0ZW5lcnMobnVsbCkpOwogICAgIG91dHB1
dCgiLSB1bmRlZmluZWQgLSIpOwogICAgIG91dHB1dCh0eXBlb2YgZ2V0RXZlbnRMaXN0ZW5lcnMo
dW5kZWZpbmVkKSk7CisgICAgb3V0cHV0KCItIHdpbmRvdyAtIik7CisgICAgb3V0cHV0KHR5cGVv
ZiBnZXRFdmVudExpc3RlbmVycyh3aW5kb3cpKTsKIH0KIAogPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="140661"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>