<?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>110588</bug_id>
          
          <creation_ts>2013-02-22 04:42:10 -0800</creation_ts>
          <short_desc>REGRESSION (r143619): Crashes in three layout tests</short_desc>
          <delta_ts>2013-03-08 10:36:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, LayoutTestFailure, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>george.mccollister</cc>
    
    <cc>mrobinson</cc>
    
    <cc>plaes</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>839464</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-02-22 04:42:10 -0800</bug_when>
    <thetext>Three layout tests are crashing after r143619 landed.
http://trac.webkit.org/changeset/143619

The affected tests:
http/tests/misc/window-open-then-write.html
http/tests/misc/iframe-reparenting-id-collision.html
http/tests/xmlhttprequest/request-from-popup.html

file:///dvt/webkit/webkit/Tools/TestResultServer/static-dashboards/flakiness_dashboard.html#group=%40ToT%20-%20webkit.org&amp;tests=http%2Ftests%2Fmisc%2Fwindow-open-then-write.html%2Chttp%2Ftests%2Fmisc%2Fiframe-reparenting-id-collision.html%2Chttp%2Ftests%2Fxmlhttprequest%2Frequest-from-popup.html

Crash log for DumpRenderTree (pid 31322):

...
[Thread debugging using libthread_db enabled]
Using host libthread_db library &quot;/lib/x86_64-linux-gnu/libthread_db.so.1&quot;.
Core was generated by `/home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Debug/Programs/D&apos;.
Program terminated with signal 11, Segmentation fault.
#0  0x00002b3ed6590d4a in ?? () from /lib/x86_64-linux-gnu/libc.so.6

...

Thread 1 (Thread 0x2b3ede36fde0 (LWP 31322)):
#0  0x00002b3ed6590d4a in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00002b3ed4efba70 in g_str_equal () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libglib-2.0.so.0
#2  0x00002b3ecfc01138 in WebKit::FrameLoaderClient::dispatchDidFailLoading (this=0x82c2160, loader=0x8263bc0, identifier=3199, error=...) at ../../Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1049
#3  0x00002b3ed04f4f88 in WebCore::ResourceLoadNotifier::didFailToLoad (this=0x82c04d8, loader=0x83e0e40, error=...) at ../../Source/WebCore/loader/ResourceLoadNotifier.cpp:98
#4  0x00002b3ed04f3b0c in WebCore::ResourceLoader::cancel (this=0x83e0e40, error=...) at ../../Source/WebCore/loader/ResourceLoader.cpp:410
#5  0x00002b3ed04f390b in WebCore::ResourceLoader::cancel (this=0x83e0e40) at ../../Source/WebCore/loader/ResourceLoader.cpp:369
#6  0x00002b3ed048f20c in WebCore::cancelAll (loaders=...) at ../../Source/WebCore/loader/DocumentLoader.cpp:76
#7  0x00002b3ed0492382 in WebCore::DocumentLoader::stopLoadingSubresources (this=0x8263bc0) at ../../Source/WebCore/loader/DocumentLoader.cpp:827
#8  0x00002b3ed048ffd1 in WebCore::DocumentLoader::stopLoading (this=0x8263bc0) at ../../Source/WebCore/loader/DocumentLoader.cpp:267
#9  0x00002b3ed04acffb in WebCore::FrameLoader::stopAllLoaders (this=0x82c0280, clearProvisionalItemPolicy=WebCore::ShouldClearProvisionalItem) at ../../Source/WebCore/loader/FrameLoader.cpp:1560
#10 0x00002b3ed04ad05a in WebCore::FrameLoader::stopForUserCancel (this=0x82c0280, deferCheckLoadComplete=false) at ../../Source/WebCore/loader/FrameLoader.cpp:1571
#11 0x00002b3ecfc3fc20 in webkit_web_view_stop_loading (webView=0x1e9d210) at ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:4201
#12 0x00002b3ecfbe3ffd in WebKit::ChromeClient::closeWindowSoon (this=0x839b190) at ../../Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp:297
#13 0x00002b3ed05374b7 in WebCore::Chrome::closeWindowSoon (this=0x83babd0) at ../../Source/WebCore/page/Chrome.cpp:304
#14 0x00002b3ed055b320 in WebCore::DOMWindow::close (this=0x832cf50, context=0x8389660) at ../../Source/WebCore/page/DOMWindow.cpp:992
#15 0x00002b3ed0ac7d6e in WebCore::jsDOMWindowPrototypeFunctionClose (exec=0x2b3f2248e0a0) at DerivedSources/WebCore/JSDOMWindow.cpp:13063
#16 0x00002b3ee0a780e5 in ?? ()
#17 0x00007fffd1574ed0 in ?? ()
#18 0x00002b3ecef75174 in llint_op_call () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Debug/.libs/libjavascriptcoregtk-3.0.so.0
#19 0x00002b3f2248e060 in ?? ()
#20 0x0000000001f22b50 in ?? ()
#21 0x00007fffd1574e90 in ?? ()
#22 0x00002b3ecef1a007 in JSC::JSStack::installTrapsAfterFrame (this=0x0, frame=0x0) at ../../Source/JavaScriptCore/interpreter/JSStackInlines.h:213
#23 0x00002b3ecef18d74 in JSC::JITCode::execute (this=0x2b3f22a4fb90, stack=0x1f22b50, callFrame=0x2b3f2248e060, globalData=0x1f520a0) at ../../Source/JavaScriptCore/jit/JITCode.h:135
#24 0x00002b3ecef16531 in JSC::Interpreter::executeCall (this=0x1f22b40, callFrame=0x2b3f2291ea78, function=0x2b3f2299f970, callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/JavaScriptCore/interpreter/Interpreter.cpp:1059
#25 0x00002b3eceffa8ed in JSC::call (exec=0x2b3f2291ea78, functionObject=..., callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/JavaScriptCore/runtime/CallData.cpp:40
#26 0x00002b3ecfcbefd5 in WebCore::JSMainThreadExecState::call (exec=0x2b3f2291ea78, functionObject=..., callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/WebCore/bindings/js/JSMainThreadExecState.h:56
#27 0x00002b3ecfcee46b in WebCore::JSEventListener::handleEvent (this=0x8362a10, scriptExecutionContext=0x8389660, event=0x81dd760) at ../../Source/WebCore/bindings/js/JSEventListener.cpp:130
#28 0x00002b3ed0018b22 in WebCore::EventTarget::fireEventListeners (this=0x8406050, event=0x81dd760, d=0x84062b8, entry=...) at ../../Source/WebCore/dom/EventTarget.cpp:256
#29 0x00002b3ed00187ad in WebCore::EventTarget::fireEventListeners (this=0x8406050, event=0x81dd760) at ../../Source/WebCore/dom/EventTarget.cpp:203
#30 0x00002b3ed00183de in WebCore::EventTarget::dispatchEvent (this=0x8406050, event=...) at ../../Source/WebCore/dom/EventTarget.cpp:155
#31 0x00002b3ed08ddea3 in WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent (this=0x8406300, event=...) at ../../Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.cpp:96
#32 0x00002b3ed08ddd3b in WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent (this=0x8406300, event=..., progressEventAction=WebCore::FlushProgressEvent) at ../../Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.cpp:83
#33 0x00002b3ed08d6662 in WebCore::XMLHttpRequest::callReadyStateChangeListener (this=0x8406050) at ../../Source/WebCore/xml/XMLHttpRequest.cpp:425
#34 0x00002b3ed08d6539 in WebCore::XMLHttpRequest::changeState (this=0x8406050, newState=WebCore::XMLHttpRequest::DONE) at ../../Source/WebCore/xml/XMLHttpRequest.cpp:413
#35 0x00002b3ed08d9e49 in WebCore::XMLHttpRequest::didFinishLoading (this=0x8406050, identifier=3199) at ../../Source/WebCore/xml/XMLHttpRequest.cpp:1157
#36 0x00002b3ed049eed3 in WebCore::DocumentThreadableLoader::didFinishLoading (this=0x82b8fb0, identifier=3199, finishTime=0) at ../../Source/WebCore/loader/DocumentThreadableLoader.cpp:324
#37 0x00002b3ed049ed70 in WebCore::DocumentThreadableLoader::notifyFinished (this=0x82b8fb0, resource=0x83dd5c0) at ../../Source/WebCore/loader/DocumentThreadableLoader.cpp:311
#38 0x00002b3ed046ce82 in WebCore::CachedResource::checkNotify (this=0x83dd5c0) at ../../Source/WebCore/loader/cache/CachedResource.cpp:378
#39 0x00002b3ed046cedc in WebCore::CachedResource::data (this=0x83dd5c0, allDataReceived=true) at ../../Source/WebCore/loader/cache/CachedResource.cpp:387
#40 0x00002b3ed046975e in WebCore::CachedRawResource::data (this=0x83dd5c0, data=..., allDataReceived=true) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:72
#41 0x00002b3ed04fe60e in WebCore::SubresourceLoader::didFinishLoading (this=0x83e0e40, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:278
#42 0x00002b3ed04f3e53 in WebCore::ResourceLoader::didFinishLoading (this=0x83e0e40, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:466
#43 0x00002b3ed0ebf14e in WebCore::readCallback (asyncResult=0x2b3f246cd730, data=0x83fd0a0) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1326
#44 0x00002b3ed4d2ee5f in async_ready_callback_wrapper () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libgio-2.0.so.0
#45 0x00002b3ed4d497ea in g_simple_async_result_complete () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libgio-2.0.so.0
#46 0x00002b3ed4d49836 in complete_in_idle_cb () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libgio-2.0.so.0
#47 0x00002b3ed4f0ffd1 in g_idle_dispatch () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libglib-2.0.so.0
#48 0x00002b3ed4f0d903 in g_main_dispatch () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libglib-2.0.so.0
#49 0x00002b3ed4f0e4b3 in g_main_context_dispatch () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libglib-2.0.so.0
#50 0x00002b3ed4f0e6a3 in g_main_context_iterate () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libglib-2.0.so.0
#51 0x00002b3ed4f0ead3 in g_main_loop_run () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libglib-2.0.so.0
#52 0x00002b3ed3ef8e22 in gtk_main () from /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/WebKitBuild/Dependencies/Root/lib64/libgtk-3.so.0
#53 0x000000000049ee0b in runTest (inputLine=...) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:770
#54 0x000000000049e4c1 in runTestingServerLoop () at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:553
#55 0x00000000004a17ef in main (argc=2, argv=0x7fffd1576568) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:1512</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841221</commentid>
    <comment_count>1</comment_count>
      <attachid>190109</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-02-25 12:59:46 -0800</bug_when>
    <thetext>Created attachment 190109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841227</commentid>
    <comment_count>2</comment_count>
      <attachid>190109</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-02-25 13:04:59 -0800</bug_when>
    <thetext>Comment on attachment 190109
Patch

Makes sense, took me a while to understand which g_str_equal it was crashing on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841684</commentid>
    <comment_count>3</comment_count>
      <attachid>190109</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-02-25 23:47:30 -0800</bug_when>
    <thetext>Comment on attachment 190109
Patch

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

&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1024
&gt; -    if (!g_str_equal(identifierString.get(), webView-&gt;priv-&gt;mainResourceIdentifier.data()))
&gt; -        webkit_web_view_remove_resource(webView, identifierString.get());
&gt; +    webkitWebViewRemoveSubresource(webView, identifierString.get());

I think that at this point identifierString should never be null, this might be hiding a bug in the WebCore loader.

&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1048
&gt; -    if (!g_str_equal(identifierString.get(), webView-&gt;priv-&gt;mainResourceIdentifier.data()))
&gt; -        webkit_web_view_remove_resource(webView, identifierString.get());
&gt; +    webkitWebViewRemoveSubresource(webView, identifierString.get());

Ditto.

&gt; Source/WebKit/gtk/webkit/webkitwebview.cpp:5075
&gt; +    if (!mainResource.isNull() &amp;&amp; g_str_equal(identifier, mainResource.data()))

Instead of checking null and then compare we might use g_strcmp0 that already handles null pointers gracefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841991</commentid>
    <comment_count>4</comment_count>
      <attachid>190109</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-26 07:45:00 -0800</bug_when>
    <thetext>Comment on attachment 190109
Patch

Clearing flags on attachment: 190109

Committed r144055: &lt;http://trac.webkit.org/changeset/144055&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841992</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-26 07:45:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842005</commentid>
    <comment_count>6</comment_count>
      <attachid>190109</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-02-26 08:01:13 -0800</bug_when>
    <thetext>Comment on attachment 190109
Patch

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

&gt;&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1024
&gt;&gt; +    webkitWebViewRemoveSubresource(webView, identifierString.get());
&gt; 
&gt; I think that at this point identifierString should never be null, this might be hiding a bug in the WebCore loader.

Possibly.

&gt;&gt; Source/WebKit/gtk/webkit/webkitwebview.cpp:5075
&gt;&gt; +    if (!mainResource.isNull() &amp;&amp; g_str_equal(identifier, mainResource.data()))
&gt; 
&gt; Instead of checking null and then compare we might use g_strcmp0 that already handles null pointers gracefully.

I did initially use g_strcmp0, but decided on this approach, because it seemed clearer. If mainResource wasn&apos;t a CString I would have used g_strcmp0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851319</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-03-08 10:36:23 -0800</bug_when>
    <thetext>*** Bug 111870 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190109</attachid>
            <date>2013-02-25 12:59:46 -0800</date>
            <delta_ts>2013-02-26 08:01:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110588-20130225125602.patch</filename>
            <type>text/plain</type>
            <size>6984</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNmNlNmYwMzMw
NzdlMjk3MjM1N2E0NGM2MzYxZmNlOWE2NDc4NGFjYi4uNWE3ODRjYzZhNWYzZjAxMmM1MWQ1NWM2
MGNjMGQ5NDJiZjdjNDQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEz
LTAyLTI1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAg
ICBSRUdSRVNTSU9OIChyMTQzNjE5KTogQ3Jhc2hlcyBpbiB0aHJlZSBsYXlvdXQgdGVzdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDU4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEd1YXJkIGFnYWlu
c3QgbnVsbCBtYWluIHJlc291cmNlIGlkZW50aWZpZXJzLiBUaGUgbWFpbiByZXNvdXJjZQorICAg
ICAgICBpZGVudGlmaWVyIGNhbiBiZSBudWxsIGF0IHZhcmlvdXMgdGltZXMgZHVyaW5nIHRoZSBs
b2FkLiBBIG51bGwKKyAgICAgICAgaWRlbnRpZmllciBpcyBuZXZlciBlcXVhbCB0byB0aGUgb25l
cyB3ZSBhcmUgbG9va2luZyB0byByZW1vdmUuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xp
ZW50OjpkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcpOiBVc2UgdGhlIG5ldyB3ZWJraXRXZWJWaWV3
UmVtb3ZlU3VicmVzb3VyY2UgaGVscGVyLgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNs
aWVudDo6ZGlzcGF0Y2hEaWRGYWlsTG9hZGluZyk6IGRpdHRvLgorICAgICAgICAqIHdlYmtpdC93
ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdSZW1vdmVTdWJyZXNvdXJj
ZSk6IEFkZGVkIHRoaXMgaGVscGVyIHdoaWNoIHJlbW92ZXMgYSBzdWJyZXNvdXJjZSwgYnV0Cisg
ICAgICAgIG5ldmVyIHRvdWNoZXMgdGhlIG1haW4gcmVzb3VyY2UuIFRoaXMgaXMgYWRhcHRlZCBm
cm9tIHRoZSBvbGQgbWV0aG9kLCBmb3Igd2hpY2ggdGhlCisgICAgICAgIG1haW4gcmVzb3VyY2Ug
YnJhbmNoIHdhcyBkZWFkIGNvZGUuCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXdwcml2
YXRlLmg6IFVwZGF0ZSB0aGUgbWV0aG9kIGxpc3QuCisKIDIwMTMtMDItMjUgIEFuZHJlYXMgS2xp
bmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZSBhbW91bnQgb2YgY29kZSB0
aGF0IGluY2x1ZGVzIFN0eWxlUHJvcGVydHlTZXQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IDZi
NDBlMjliYTFhODIzMWFkMTBmNDk5Y2YyNjhlMWJhYWI2ZmVkYjUuLmNmOWFjNGJmNzY2MWM4MTdk
ZjQ0MWQ2NjIwNzc3ZDU4YTY0NWM0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTEwMjEsOCAr
MTAyMSw3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmluaXNoTG9hZGlu
ZyhXZWJDb3JlOjpEb2N1bWVudExvYWRlciogbG9hZGVyCiAgICAgZ19zaWduYWxfZW1pdF9ieV9u
YW1lKG1fZnJhbWUsICJyZXNvdXJjZS1sb2FkLWZpbmlzaGVkIiwgd2ViUmVzb3VyY2UpOwogICAg
IGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3LCAicmVzb3VyY2UtbG9hZC1maW5pc2hlZCIs
IG1fZnJhbWUsIHdlYlJlc291cmNlKTsKIAotICAgIGlmICghZ19zdHJfZXF1YWwoaWRlbnRpZmll
clN0cmluZy5nZXQoKSwgd2ViVmlldy0+cHJpdi0+bWFpblJlc291cmNlSWRlbnRpZmllci5kYXRh
KCkpKQotICAgICAgICB3ZWJraXRfd2ViX3ZpZXdfcmVtb3ZlX3Jlc291cmNlKHdlYlZpZXcsIGlk
ZW50aWZpZXJTdHJpbmcuZ2V0KCkpOworICAgIHdlYmtpdFdlYlZpZXdSZW1vdmVTdWJyZXNvdXJj
ZSh3ZWJWaWV3LCBpZGVudGlmaWVyU3RyaW5nLmdldCgpKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRl
ckNsaWVudDo6ZGlzcGF0Y2hEaWRGYWlsTG9hZGluZyhXZWJDb3JlOjpEb2N1bWVudExvYWRlciog
bG9hZGVyLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKQpAQCAtMTA0Niw4ICsxMDQ1LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0
Y2hEaWRGYWlsTG9hZGluZyhXZWJDb3JlOjpEb2N1bWVudExvYWRlciogbG9hZGVyLAogICAgIGdf
c2lnbmFsX2VtaXRfYnlfbmFtZShtX2ZyYW1lLCAicmVzb3VyY2UtbG9hZC1mYWlsZWQiLCB3ZWJS
ZXNvdXJjZSwgd2ViRXJyb3IuZ2V0KCkpOwogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJW
aWV3LCAicmVzb3VyY2UtbG9hZC1mYWlsZWQiLCBtX2ZyYW1lLCB3ZWJSZXNvdXJjZSwgd2ViRXJy
b3IuZ2V0KCkpOwogCi0gICAgaWYgKCFnX3N0cl9lcXVhbChpZGVudGlmaWVyU3RyaW5nLmdldCgp
LCB3ZWJWaWV3LT5wcml2LT5tYWluUmVzb3VyY2VJZGVudGlmaWVyLmRhdGEoKSkpCi0gICAgICAg
IHdlYmtpdF93ZWJfdmlld19yZW1vdmVfcmVzb3VyY2Uod2ViVmlldywgaWRlbnRpZmllclN0cmlu
Zy5nZXQoKSk7CisgICAgd2Via2l0V2ViVmlld1JlbW92ZVN1YnJlc291cmNlKHdlYlZpZXcsIGlk
ZW50aWZpZXJTdHJpbmcuZ2V0KCkpOwogfQogCiBib29sIEZyYW1lTG9hZGVyQ2xpZW50OjpkaXNw
YXRjaERpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShXZWJDb3JlOjpEb2N1bWVudExvYWRl
ciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBpbnQg
bGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4
IDNjMDJmZjljNzg0YzUzNWIzMWIzY2Q4ZjgwZGMzYTM2ZmM3MmQwMDUuLjg1NzllMTg0ZTcxODdj
ZjUwNmQxNTFkMDA2ZTAyNjAxZWIyYmYxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2Vidmlldy5jcHAKQEAgLTUwNjYsMTQgKzUwNjYsMTUgQEAgdm9pZCB3ZWJraXRfd2Vi
X3ZpZXdfYWRkX3Jlc291cmNlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IGNoYXIqIGlk
ZW50aWZpZXIKICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0KHByaXYtPnN1YlJlc291cmNlcy5nZXQo
KSwgZ19zdHJkdXAoaWRlbnRpZmllciksIHdlYlJlc291cmNlKTsKIH0KIAotdm9pZCB3ZWJraXRf
d2ViX3ZpZXdfcmVtb3ZlX3Jlc291cmNlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IGNo
YXIqIGlkZW50aWZpZXIpCit2b2lkIHdlYmtpdFdlYlZpZXdSZW1vdmVTdWJyZXNvdXJjZShXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBjaGFyKiBpZGVudGlmaWVyKQogewotICAgIFdlYktp
dFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKLSAgICBpZiAoZ19zdHJfZXF1
YWwoaWRlbnRpZmllciwgcHJpdi0+bWFpblJlc291cmNlSWRlbnRpZmllci5kYXRhKCkpKSB7Ci0g
ICAgICAgIHByaXYtPm1haW5SZXNvdXJjZUlkZW50aWZpZXIgPSAiIjsKLSAgICAgICAgcHJpdi0+
bWFpblJlc291cmNlID0gMDsKLSAgICB9IGVsc2UKLSAgICAgIGdfaGFzaF90YWJsZV9yZW1vdmUo
cHJpdi0+c3ViUmVzb3VyY2VzLmdldCgpLCBpZGVudGlmaWVyKTsKKyAgICBBU1NFUlQoaWRlbnRp
Zmllcik7CisKKyAgICAvLyBEb24ndCByZW1vdmUgdGhlIG1haW4gcmVzb3VyY2UuCisgICAgY29u
c3QgQ1N0cmluZyYgbWFpblJlc291cmNlID0gd2ViVmlldy0+cHJpdi0+bWFpblJlc291cmNlSWRl
bnRpZmllcjsKKyAgICBpZiAoIW1haW5SZXNvdXJjZS5pc051bGwoKSAmJiBnX3N0cl9lcXVhbChp
ZGVudGlmaWVyLCBtYWluUmVzb3VyY2UuZGF0YSgpKSkKKyAgICAgICAgcmV0dXJuOworICAgIGdf
aGFzaF90YWJsZV9yZW1vdmUod2ViVmlldy0+cHJpdi0+c3ViUmVzb3VyY2VzLmdldCgpLCBpZGVu
dGlmaWVyKTsKIH0KIAogV2ViS2l0V2ViUmVzb3VyY2UqIHdlYmtpdF93ZWJfdmlld19nZXRfcmVz
b3VyY2UoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY2hhciogaWRlbnRpZmllcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3cHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXdwcml2YXRlLmgKaW5kZXggNDY2NWMz
MzE1MTc3NzhlODk0ODNlMDlkOTJkZjk1ZjE0YWJmM2YzNS4uYWVlZmJkMGI5OWJlOTNhNjI2ZGVi
MTcwMTVlMmFmYWU5MWE5MDczZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXdwcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXdwcml2YXRlLmgKQEAgLTEyOSw3ICsxMjksNyBAQCB2b2lkIHdlYmtpdF93ZWJf
dmlld19yZXF1ZXN0X2Rvd25sb2FkKFdlYktpdFdlYlZpZXcqLCBXZWJLaXROZXR3b3JrUmVxdWVz
dCosIGNvbgogCiB2b2lkIHdlYmtpdF93ZWJfdmlld19hZGRfcmVzb3VyY2UoV2ViS2l0V2ViVmll
dyosIGNvbnN0IGNoYXIqLCBXZWJLaXRXZWJSZXNvdXJjZSopOwogdm9pZCB3ZWJraXRfd2ViX3Zp
ZXdfYWRkX21haW5fcmVzb3VyY2UoV2ViS2l0V2ViVmlldyosIGNvbnN0IGNoYXIqLCBXZWJLaXRX
ZWJSZXNvdXJjZSopOwotdm9pZCB3ZWJraXRfd2ViX3ZpZXdfcmVtb3ZlX3Jlc291cmNlKFdlYktp
dFdlYlZpZXcqLCBjb25zdCBjaGFyKik7Cit2b2lkIHdlYmtpdFdlYlZpZXdSZW1vdmVTdWJyZXNv
dXJjZShXZWJLaXRXZWJWaWV3KiwgY29uc3QgY2hhciopOwogV2ViS2l0V2ViUmVzb3VyY2UqIHdl
YmtpdF93ZWJfdmlld19nZXRfcmVzb3VyY2UoV2ViS2l0V2ViVmlldyosIGNoYXIqKTsKIFdlYktp
dFdlYlJlc291cmNlKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X21haW5fcmVzb3VyY2UoV2ViS2l0V2Vi
VmlldyopOwogdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xlYXJfcmVzb3VyY2VzKFdlYktpdFdlYlZp
ZXcqKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBiY2M4OWE2YmFhNWU1Zjg1ZTliMzlmYzE0MDBkNWZhNDM5MDRiNDdhLi5m
Y2JkNzcwY2Q0ODgzOWNlZmUzMDVjYjA3ZTMyMjEyNjVhMjlhMmI5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTMtMDItMjUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04gKHIxNDM2MTkpOiBDcmFzaGVzIGluIHRocmVlIGxheW91
dCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTEwNTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogVW5za2lwIHNvbWUgdGVzdHMgd2hpY2gg
YXJlIG5vIGxvbmdlcgorICAgICAgICBjcmFzaGluZy4KKwogMjAxMy0wMi0yNSAgU2VyZ2lvIFZp
bGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbc291cF0gIlRvbyBt
YW55IHJlZGlyZWN0cyIgZXJyb3IgbG9hZGluZyBjaGF0IGluIHBsdXMuZ29vZ2xlLmNvbQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1MGEyZGEzNmU5OTA3
YWJlOGZhNjkxZjUwOTgzOGEzMGZjM2E5MTI5Li4zYjcwYzJhOTIyMzU3MTM2OTdiZGY0MTVlZTRl
YzA4MzRjN2MxZTcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNDkxLDEwICs0OTEsNiBAQCB3ZWJraXQub3JnL2IvMTA4OTI3IGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3Qvd29ya2Vycy94bWxodHRwcmVxdWVzdC1maWxlLW5vdC1mbwogCiB3ZWJraXQu
b3JnL2IvMTEwMjIyIGZhc3QvZXZlbnRzL3BsYXRmb3JtLXdoZWVsZXZlbnQtd2l0aC1kZWx0YS16
ZXJvLWNyYXNoLmh0bWwgWyBDcmFzaCBdCiAKLXdlYmtpdC5vcmcvYi8xMTA1ODggaHR0cC90ZXN0
cy9taXNjL2lmcmFtZS1yZXBhcmVudGluZy1pZC1jb2xsaXNpb24uaHRtbCBbIENyYXNoIFBhc3Mg
XQotd2Via2l0Lm9yZy9iLzExMDU4OCBodHRwL3Rlc3RzL21pc2Mvd2luZG93LW9wZW4tdGhlbi13
cml0ZS5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzExMDU4OCBodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3JlcXVlc3QtZnJvbS1wb3B1cC5odG1sIFsgQ3Jhc2ggXQotCiB3ZWJraXQub3Jn
L2IvMTEwNjk1IGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLWxvY2FsLXN0b3JhZ2Ut
YWxsb3dlZC5odG1sIFsgQ3Jhc2ggUGFzcyBdCiB3ZWJraXQub3JnL2IvMTEwNjk1IGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQt
YWxsb3dlZC5odG1sIFsgQ3Jhc2ggUGFzcyBdCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>