<?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>37661</bug_id>
          
          <creation_ts>2010-04-15 10:09:42 -0700</creation_ts>
          <short_desc>[v8] Bail out if fetching of Object.prototype fails</short_desc>
          <delta_ts>2010-04-21 10:21:51 -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>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="anton muhin">antonm</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ager</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>212900</commentid>
    <comment_count>0</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-15 10:09:42 -0700</bug_when>
    <thetext>[v8] Bail out if fetching of Object.prototype fails</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212904</commentid>
    <comment_count>1</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-15 10:16:11 -0700</bug_when>
    <thetext>Most probably that&apos;s due to empty handle of the value to set---receiver and keys are checked many times on the path so we would die earlier.

I don&apos;t know exact reason why fetching Object.prototype fails.  Most probably some exception is thrown (if it were due to IsDeadCheck, we shouldn&apos;t get past first line of v8::SetHiddenPrototype).

If we have some logging mechanism, we could try to see if it&apos;s indeed the case: we could add TryCatch and store exception somewhere on the stack to have a chance to read it from minidump.

For now adding some more bailout checks, let&apos;s see if it could help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212906</commentid>
    <comment_count>2</comment_count>
      <attachid>53446</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-15 10:17:12 -0700</bug_when>
    <thetext>Created attachment 53446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213660</commentid>
    <comment_count>3</comment_count>
      <attachid>53446</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-17 13:33:37 -0700</bug_when>
    <thetext>Comment on attachment 53446
Patch

The ChangeLog doesn&apos;t explain why we&apos;re making this change.  You bug comments give some hint, but they don&apos;t explain what problem we&apos;re trying to solve.  Is there a crash?  Can we make a test case for it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213996</commentid>
    <comment_count>4</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-19 05:34:44 -0700</bug_when>
    <thetext>Sorry, I should have been more explicit.

It&apos;s a crash in Chromium.  Sample stack trace:

0x025ec87a	 [chrome.dll	 - handles.cc:217]	v8::internal::SetProperty(v8::internal::Handle&lt;v8::internal::JSObject&gt;,v8::internal::Handle&lt;v8::internal::String&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,PropertyAttributes)
0x0265d733	 [chrome.dll	 - runtime.cc:3799]	v8::internal::Runtime::SetObjectProperty(v8::internal::Handle&lt;v8::internal::Object&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,PropertyAttributes)
0x025e9bb5	 [chrome.dll	 - objects.cc:1416]	v8::internal::JSObject::SetPropertyPostInterceptor(v8::internal::String *,v8::internal::Object *,PropertyAttributes)
0x025ec9fa	 [chrome.dll	 - handles.cc:226]	v8::internal::SetProperty(v8::internal::Handle&lt;v8::internal::Object&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,PropertyAttributes)
0x025c7cd2	 [chrome.dll	 - api.cc:2393]	v8::Object::SetHiddenValue(v8::Handle&lt;v8::String&gt;,v8::Handle&lt;v8::Value&gt;)
0x025cb321	 [chrome.dll	 - api.cc:2083]	v8::Object::Get(v8::Handle&lt;v8::Value&gt;)
0x025ccbff	 [chrome.dll	 - api.cc:3069]	v8::Context::Global()
0x01d8a5f0	 [chrome.dll	 - v8domwindowshell.cpp:518]	WebCore::V8DOMWindowShell::installHiddenObjectPrototype(v8::Handle&lt;v8::Context&gt;)
0x01d89ffe	 [chrome.dll	 - v8domwindowshell.cpp:289]	WebCore::V8DOMWindowShell::initContextIfNeeded()
0x01d8c66e	 [chrome.dll	 - v8proxy.cpp:279]	WebCore::V8Proxy::evaluateInIsolatedWorld(int,WTF::Vector&lt;WebCore::ScriptSourceCode,0&gt; const &amp;,int)
0x01e89d98	 [chrome.dll	 - webframeimpl.cpp:736]	WebKit::WebFrameImpl::executeScriptInIsolatedWorld(int,WebKit::WebScriptSource const *,unsigned int,int)
0x01ffd199	 [chrome.dll	 - user_script_slave.cc:219]	UserScriptSlave::InjectScripts(WebKit::WebFrame *,UserScript::RunLocation)
0x01fee20c	 [chrome.dll	 - render_view.cc:2658]	RenderView::didFinishDocumentLoad(WebKit::WebFrame *)
0x01e943db	 [chrome.dll	 - frameloaderclientimpl.cpp:391]	WebKit::FrameLoaderClientImpl::dispatchDidFinishDocumentLoad()
0x01c6c37e	 [chrome.dll	 - frameloader.cpp:1076]	WebCore::FrameLoader::finishedParsing()
0x01cc243a	 [chrome.dll	 - document.cpp:4203]	WebCore::Document::finishedParsing()
0x01e401a8	 [chrome.dll	 - htmlparser.cpp:1666]	WebCore::HTMLParser::finished()
0x01dc66a7	 [chrome.dll	 - htmltokenizer.cpp:1870]	WebCore::HTMLTokenizer::end()
0x01dc654f	 [chrome.dll	 - htmltokenizer.cpp:1811]	WebCore::HTMLTokenizer::write(WebCore::SegmentedString const &amp;,bool)
0x01dc661d	 [chrome.dll	 - htmltokenizer.cpp:1848]	WebCore::HTMLTokenizer::timerFired(WebCore::Timer&lt;WebCore::HTMLTokenizer&gt; *)
0x01e07a0f	 [chrome.dll	 - timer.h:98]	WebCore::Timer&lt;WebCore::Scrollbar&gt;::fired()
0x01d2334b	 [chrome.dll	 - threadtimers.cpp:112]	WebCore::ThreadTimers::sharedTimerFiredInternal()
0x01d232be	 [chrome.dll	 - threadtimers.cpp:90]	WebCore::ThreadTimers::sharedTimerFired()
0x01fc2b6f	 [chrome.dll	 - message_loop.cc:329]	MessageLoop::RunTask(Task *)
0x01fc2bac	 [chrome.dll	 - message_loop.cc:337]	MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const &amp;)
0x01fc2d42	 [chrome.dll	 - message_loop.cc:444]	MessageLoop::DoWork()
0x01fd321f	 [chrome.dll	 - message_pump_default.cc:50]	base::MessagePumpDefault::Run(base::MessagePump::Delegate *)
0x01fc2a1a	 [chrome.dll	 - message_loop.cc:205]	MessageLoop::RunInternal()
0x01fc299f	 [chrome.dll	 - message_loop.cc:177]	MessageLoop::RunHandler()
0x01fc294d	 [chrome.dll	 - message_loop.cc:155]	MessageLoop::Run()
0x01fdd2fe	 [chrome.dll	 - renderer_main.cc:289]	RendererMain(MainFunctionParams const &amp;)
0x01c33bb9	 [chrome.dll	 - chrome_dll_main.cc:716]	ChromeMain
0x004033ec	 [chrome.exe	 - client_util.cc:195]	MainDllLoader::Launch(HINSTANCE__ *,sandbox::SandboxInterfaceInfo *)
0x00403a72	 [chrome.exe	 - chrome_exe_main.cc:46]	wWinMain
0x00445dce	 [chrome.exe	 - crt0.c:263]	__tmainCRTStartup
0x7c816fd6	 [kernel32.dll	 + 0x00016fd6]	BaseProcessStart

The analysis still apply: it&apos;s almost for sure empty handle of value being set.

Alas, I don&apos;t have an easy repro case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214237</commentid>
    <comment_count>5</comment_count>
      <attachid>53446</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-19 14:08:16 -0700</bug_when>
    <thetext>Comment on attachment 53446
Patch

Ok. Please add more details to the change log before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214677</commentid>
    <comment_count>6</comment_count>
      <attachid>53822</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-20 08:24:53 -0700</bug_when>
    <thetext>Created attachment 53822
Better ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214679</commentid>
    <comment_count>7</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-20 08:27:51 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=53822) [details]
&gt; Better ChangeLog

Adam, is this wording enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214853</commentid>
    <comment_count>8</comment_count>
      <attachid>53822</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-20 12:22:05 -0700</bug_when>
    <thetext>Comment on attachment 53822
Better ChangeLog

It&apos;s still pretty weak.  I don&apos;t want to hold up your patch longer, but someone looking at this change in the future won&apos;t understand why we made the change without referring to this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215247</commentid>
    <comment_count>9</comment_count>
      <attachid>53822</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-21 04:40:55 -0700</bug_when>
    <thetext>Comment on attachment 53822
Better ChangeLog

Thanks a lot, Adam</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215388</commentid>
    <comment_count>10</comment_count>
      <attachid>53822</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-21 10:21:46 -0700</bug_when>
    <thetext>Comment on attachment 53822
Better ChangeLog

Clearing flags on attachment: 53822

Committed r57991: &lt;http://trac.webkit.org/changeset/57991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215389</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-21 10:21:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53446</attachid>
            <date>2010-04-15 10:17:12 -0700</date>
            <delta_ts>2010-04-20 08:24:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37661-20100415211709.patch</filename>
            <type>text/plain</type>
            <size>3406</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MmYxMTg0ZC4uNzY0MDRiMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNC0xNSAgYW50b24gbXVoaW4g
IDxhbnRvbm1AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbdjhdIEJhaWwgb3V0IGlmIGZldGNoaW5nIG9mIE9iamVjdC5wcm90b3R5
cGUgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM3NjYxCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93U2hlbGw6OmluaXRDb250ZXh0SWZOZWVkZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3dTaGVsbDo6aW5zdGFsbEhpZGRlbk9iamVjdFBy
b3RvdHlwZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5oOgorCiAy
MDEwLTA0LTE1ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdp
bmRvd1NoZWxsLmNwcAppbmRleCAzMmI2YmMxLi4zNjEzOTFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhET01XaW5kb3dTaGVsbC5jcHAKQEAgLTI4NiwxMCArMjg2LDE1IEBAIHZvaWQgVjhET01X
aW5kb3dTaGVsbDo6aW5pdENvbnRleHRJZk5lZWRlZCgpCiAjZW5kaWYKICAgICB9CiAKLSAgICBp
bnN0YWxsSGlkZGVuT2JqZWN0UHJvdG90eXBlKHY4Q29udGV4dCk7CisgICAgaWYgKCFpbnN0YWxs
SGlkZGVuT2JqZWN0UHJvdG90eXBlKHY4Q29udGV4dCkpIHsKKyAgICAgICAgZGlzcG9zZUNvbnRl
eHRIYW5kbGVzKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBpZiAoIWluc3RhbGxE
T01XaW5kb3codjhDb250ZXh0LCBtX2ZyYW1lLT5kb21XaW5kb3coKSkpCisgICAgaWYgKCFpbnN0
YWxsRE9NV2luZG93KHY4Q29udGV4dCwgbV9mcmFtZS0+ZG9tV2luZG93KCkpKSB7CiAgICAgICAg
IGRpc3Bvc2VDb250ZXh0SGFuZGxlcygpOworICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAg
dXBkYXRlRG9jdW1lbnQoKTsKIApAQCAtNTAzLDE5ICs1MDgsMjcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4RE9NV2luZG93U2hlbGw6OmdldEhpZGRlbk9iamVjdFByb3RvdHlwZSh2ODo6SGFu
ZGxlPHY4OjoKICAgICByZXR1cm4gY29udGV4dC0+R2xvYmFsKCktPkdldEhpZGRlblZhbHVlKFY4
SGlkZGVuUHJvcGVydHlOYW1lOjpvYmplY3RQcm90b3R5cGUoKSk7CiB9CiAKLXZvaWQgVjhET01X
aW5kb3dTaGVsbDo6aW5zdGFsbEhpZGRlbk9iamVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpD
b250ZXh0PiBjb250ZXh0KQorYm9vbCBWOERPTVdpbmRvd1NoZWxsOjppbnN0YWxsSGlkZGVuT2Jq
ZWN0UHJvdG90eXBlKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQpCiB7CiAgICAgdjg6
OkhhbmRsZTx2ODo6U3RyaW5nPiBvYmplY3RTdHJpbmcgPSB2ODo6U3RyaW5nOjpOZXcoIk9iamVj
dCIpOwogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gcHJvdG90eXBlU3RyaW5nID0gdjg6OlN0
cmluZzo6TmV3KCJwcm90b3R5cGUiKTsKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGhpZGRl
bk9iamVjdFByb3RvdHlwZVN0cmluZyA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpvYmplY3RQcm90
b3R5cGUoKTsKICAgICAvLyBCYWlsIG91dCBpZiBhbGxvY2F0aW9uIGZhaWxlZC4KICAgICBpZiAo
b2JqZWN0U3RyaW5nLklzRW1wdHkoKSB8fCBwcm90b3R5cGVTdHJpbmcuSXNFbXB0eSgpIHx8IGhp
ZGRlbk9iamVjdFByb3RvdHlwZVN0cmluZy5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBvYmplY3Qg
PSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGNvbnRleHQtPkdsb2JhbCgpLT5HZXQob2Jq
ZWN0U3RyaW5nKSk7CisgICAgLy8gQmFpbCBvdXQgaWYgZmV0Y2hpbmcgZmFpbGVkLgorICAgIGlm
IChvYmplY3QuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IG9iamVjdFByb3RvdHlwZSA9IG9iamVjdC0+R2V0KHByb3RvdHlwZVN0cmlu
Zyk7CisgICAgLy8gQmFpbCBvdXQgaWYgZmV0Y2hpbmcgZmFpbGVkLgorICAgIGlmIChvYmplY3RQ
cm90b3R5cGUuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjb250ZXh0
LT5HbG9iYWwoKS0+U2V0SGlkZGVuVmFsdWUoaGlkZGVuT2JqZWN0UHJvdG90eXBlU3RyaW5nLCBv
YmplY3RQcm90b3R5cGUpOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHY4OjpMb2NhbDx2ODo6
T2JqZWN0PiBWOERPTVdpbmRvd1NoZWxsOjpjcmVhdGVXcmFwcGVyRnJvbUNhY2hlU2xvd0Nhc2Uo
V3JhcHBlclR5cGVJbmZvKiB0eXBlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdpbmRvd1NoZWxsLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwu
aAppbmRleCBmOGZkZTJhLi5mNGVhZmYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4RE9NV2luZG93U2hlbGwuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93
U2hlbGwuaApAQCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGdldEhpZGRlbk9iamVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpDb250
ZXh0Pik7CiAgICAgLy8gV0FSTklORzogQ2FsbCB8aW5zdGFsbEhpZGRlbk9iamVjdFByb3RvdHlw
ZXwgb25seSBvbiBmcmVzaCBjb250ZXh0cyEKLSAgICBzdGF0aWMgdm9pZCBpbnN0YWxsSGlkZGVu
T2JqZWN0UHJvdG90eXBlKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+KTsKKyAgICBzdGF0aWMgYm9v
bCBpbnN0YWxsSGlkZGVuT2JqZWN0UHJvdG90eXBlKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+KTsK
IAogICAgIC8vIFRvIGNyZWF0ZSBKUyBXcmFwcGVyIG9iamVjdHMsIHdlIGNyZWF0ZSBhIGNhY2hl
IG9mIGEgJ2JvaWxlciBwbGF0ZScKICAgICAvLyBvYmplY3QsIGFuZCB0aGVuIHNpbXBseSBDbG9u
ZSB0aGF0IG9iamVjdCBlYWNoIHRpbWUgd2UgbmVlZCBhIG5ldyBvbmUuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53822</attachid>
            <date>2010-04-20 08:24:53 -0700</date>
            <delta_ts>2010-04-21 10:21:46 -0700</delta_ts>
            <desc>Better ChangeLog</desc>
            <filename>bug-37661-20100420192451.patch</filename>
            <type>text/plain</type>
            <size>3683</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MmYxMTg0ZC4uMjU0MDBkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNC0xNSAgYW50b24gbXVoaW4g
IDxhbnRvbm1AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbdjhdIEJhaWwgb3V0IGlmIGZldGNoaW5nIG9mIE9iamVjdC5wcm90b3R5
cGUgZmFpbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNzY2MQorCisgICAgICAgIElmIGZvciBhbnkgcmVhc29uIHdlIGZhaWxlZCB0byBmZXRjaCBP
YmplY3QucHJvdG90eXBlLCBjb250ZXh0IGNhbm5vdAorICAgICAgICBiZSBwcm9wZXJseSBpbml0
aWFsaXplZCBhbmQgd2UgYmFpbCBvdXQuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTVdp
bmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93U2hlbGw6OmluaXRD
b250ZXh0SWZOZWVkZWQpOiBiYWlsIG91dCBpZiBpbnN0YWxsSGlkZGVuT2JqZWN0UHJvdG90eXBl
IGZhaWxlZAorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3dTaGVsbDo6aW5zdGFsbEhpZGRl
bk9iamVjdFByb3RvdHlwZSk6IGJhaWwgb3V0IGlmIGZhaWxlZCB0byBmZXRjaCBPYmplY3QucHJv
dG90eXBlCisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5oOiByZXR1cm4g
ZmFsc2UgaWYgaW5zdGFsbEhpZGRlbk9iamVjdFByb3RvdHlwZSBmYWlsZWQKKwogMjAxMC0wNC0x
NSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdpbmRvd1NoZWxsLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHAKaW5kZXggMzJiNmJjMS4uMzYxMzkxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V2luZG93U2hlbGwuY3BwCkBAIC0yODYsMTAgKzI4NiwxNSBAQCB2b2lkIFY4RE9NV2luZG93U2hl
bGw6OmluaXRDb250ZXh0SWZOZWVkZWQoKQogI2VuZGlmCiAgICAgfQogCi0gICAgaW5zdGFsbEhp
ZGRlbk9iamVjdFByb3RvdHlwZSh2OENvbnRleHQpOworICAgIGlmICghaW5zdGFsbEhpZGRlbk9i
amVjdFByb3RvdHlwZSh2OENvbnRleHQpKSB7CisgICAgICAgIGRpc3Bvc2VDb250ZXh0SGFuZGxl
cygpOworICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKCFpbnN0YWxsRE9NV2luZG93
KHY4Q29udGV4dCwgbV9mcmFtZS0+ZG9tV2luZG93KCkpKQorICAgIGlmICghaW5zdGFsbERPTVdp
bmRvdyh2OENvbnRleHQsIG1fZnJhbWUtPmRvbVdpbmRvdygpKSkgewogICAgICAgICBkaXNwb3Nl
Q29udGV4dEhhbmRsZXMoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIHVwZGF0ZURv
Y3VtZW50KCk7CiAKQEAgLTUwMywxOSArNTA4LDI3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERPTVdpbmRvd1NoZWxsOjpnZXRIaWRkZW5PYmplY3RQcm90b3R5cGUodjg6OkhhbmRsZTx2ODo6
CiAgICAgcmV0dXJuIGNvbnRleHQtPkdsb2JhbCgpLT5HZXRIaWRkZW5WYWx1ZShWOEhpZGRlblBy
b3BlcnR5TmFtZTo6b2JqZWN0UHJvdG90eXBlKCkpOwogfQogCi12b2lkIFY4RE9NV2luZG93U2hl
bGw6Omluc3RhbGxIaWRkZW5PYmplY3RQcm90b3R5cGUodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4g
Y29udGV4dCkKK2Jvb2wgVjhET01XaW5kb3dTaGVsbDo6aW5zdGFsbEhpZGRlbk9iamVjdFByb3Rv
dHlwZSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0KQogewogICAgIHY4OjpIYW5kbGU8
djg6OlN0cmluZz4gb2JqZWN0U3RyaW5nID0gdjg6OlN0cmluZzo6TmV3KCJPYmplY3QiKTsKICAg
ICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHByb3RvdHlwZVN0cmluZyA9IHY4OjpTdHJpbmc6Ok5l
dygicHJvdG90eXBlIik7CiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBoaWRkZW5PYmplY3RQ
cm90b3R5cGVTdHJpbmcgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6b2JqZWN0UHJvdG90eXBlKCk7
CiAgICAgLy8gQmFpbCBvdXQgaWYgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgaWYgKG9iamVjdFN0
cmluZy5Jc0VtcHR5KCkgfHwgcHJvdG90eXBlU3RyaW5nLklzRW1wdHkoKSB8fCBoaWRkZW5PYmpl
Y3RQcm90b3R5cGVTdHJpbmcuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6Okhh
bmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChjb250ZXh0LT5HbG9iYWwoKS0+R2V0KG9iamVjdFN0cmlu
ZykpOworICAgIC8vIEJhaWwgb3V0IGlmIGZldGNoaW5nIGZhaWxlZC4KKyAgICBpZiAob2JqZWN0
LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBvYmplY3RQcm90b3R5cGUgPSBvYmplY3QtPkdldChwcm90b3R5cGVTdHJpbmcpOworICAg
IC8vIEJhaWwgb3V0IGlmIGZldGNoaW5nIGZhaWxlZC4KKyAgICBpZiAob2JqZWN0UHJvdG90eXBl
LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY29udGV4dC0+R2xvYmFs
KCktPlNldEhpZGRlblZhbHVlKGhpZGRlbk9iamVjdFByb3RvdHlwZVN0cmluZywgb2JqZWN0UHJv
dG90eXBlKTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiB2ODo6TG9jYWw8djg6Ok9iamVjdD4g
VjhET01XaW5kb3dTaGVsbDo6Y3JlYXRlV3JhcHBlckZyb21DYWNoZVNsb3dDYXNlKFdyYXBwZXJU
eXBlSW5mbyogdHlwZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5k
b3dTaGVsbC5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmgKaW5kZXgg
ZjhmZGUyYS4uZjRlYWZmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdp
bmRvd1NoZWxsLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmgK
QEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBnZXRIaWRkZW5PYmplY3RQcm90b3R5cGUodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4pOwog
ICAgIC8vIFdBUk5JTkc6IENhbGwgfGluc3RhbGxIaWRkZW5PYmplY3RQcm90b3R5cGV8IG9ubHkg
b24gZnJlc2ggY29udGV4dHMhCi0gICAgc3RhdGljIHZvaWQgaW5zdGFsbEhpZGRlbk9iamVjdFBy
b3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0Pik7CisgICAgc3RhdGljIGJvb2wgaW5zdGFs
bEhpZGRlbk9iamVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpDb250ZXh0Pik7CiAKICAgICAv
LyBUbyBjcmVhdGUgSlMgV3JhcHBlciBvYmplY3RzLCB3ZSBjcmVhdGUgYSBjYWNoZSBvZiBhICdi
b2lsZXIgcGxhdGUnCiAgICAgLy8gb2JqZWN0LCBhbmQgdGhlbiBzaW1wbHkgQ2xvbmUgdGhhdCBv
YmplY3QgZWFjaCB0aW1lIHdlIG5lZWQgYSBuZXcgb25lLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>