<?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>149309</bug_id>
          
          <creation_ts>2015-09-17 15:52:59 -0700</creation_ts>
          <short_desc>Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html</short_desc>
          <delta_ts>2016-02-05 20:37:57 -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>Page Loading</component>
          <version>WebKit 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>BlinkMergeCandidate, HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1126909</commentid>
    <comment_count>0</comment_count>
      <attachid>261447</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2015-09-17 15:52:59 -0700</bug_when>
    <thetext>Created attachment 261447
crashing test

Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html.

Stack trace:

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000a70
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0xa70:
--&gt; 
    __TEXT                 00000001042b3000-00000001042b5000 [    8K] r-x/rwx SM=COW  /Users/USER/*/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.Development.xpc/Contents/MacOS/com.apple.WebKit.WebContent.Development

Application Specific Information:
CRASHING TEST: temp-tests/http/tests/misc/detach-during-notifyDone.html

Global Trace Buffer (reverse chronological seconds):
55.805806    AppleJPEG                 	0x00007fff8a01b11c [0x7fef4f80b200] Decoding completed without errors
55.805806    AppleJPEG                 	0x00007fff8a0190fc [0x7fef4f80b200] Options: 128x128 [FFFFFFFF,FFFFFFFF] 00025060
55.805806    AppleJPEG                 	0x00007fff8a018fae [0x7fef4f80b200] Decoding: C0 0x00800080 0x0010354A 0x11111100 0x00000000 38616
55.805806    AppleJPEG                 	0x00007fff8a01805e [0x7fef4f80b200] Created session
55.805806    AppleJPEG                 	0x00007fff8a018a11 [0x7fef4f80b200] Releasing session
55.808161    AppleJPEG                 	0x00007fff8a01805e [0x7fef4f80b200] Created session
56.180187    CFNetwork                 	0x00007fff88d43b97 Explicitly setting CF cookie storage singleton
56.180561    CFNetwork                 	0x00007fff88d8f211 Explicitly setting cookie storage singleton

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebKit              	0x000000010a884144 WebKit::WebFrameLoaderClient::dispatchDidFinishLoad() + 102 (WebDocumentLoader.h:40)
1   com.apple.WebCore             	0x000000010c3d0ad2 WebCore::FrameLoader::checkLoadCompleteForThisFrame() + 594 (FrameLoader.cpp:2286)
2   com.apple.WebCore             	0x000000010c3c73b6 WebCore::FrameLoader::checkLoadComplete() + 438 (FrameLoader.cpp:2465)
3   com.apple.WebCore             	0x000000010c25da80 WebCore::DocumentLoader::finishedLoading(double) + 416 (DocumentLoader.cpp:439)
4   com.apple.WebCore             	0x000000010c08e179 WebCore::CachedResource::checkNotify() + 153 (CachedResourceClientWalker.h:51)
5   com.apple.WebCore             	0x000000010c08a433 WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) + 227 (CachedRawResource.cpp:104)
6   com.apple.WebCore             	0x000000010ce05501 WebCore::SubresourceLoader::didFinishLoading(double) + 1153 (ResourceLoader.h:154)
7   com.apple.WebKit              	0x000000010a94b98d WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;) + 561 (HandleMessage.h:16)
8   com.apple.WebKit              	0x000000010a7251f1 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;) + 127 (memory:2636)
9   com.apple.WebKit              	0x000000010a727b4a IPC::Connection::dispatchOneMessage() + 126 (memory:2656)
10  com.apple.JavaScriptCore      	0x000000010bb69985 WTF::RunLoop::performWork() + 437 (functional:1742)
11  com.apple.JavaScriptCore      	0x000000010bb69d32 WTF::RunLoop::performWork(void*) + 34 (RunLoopCF.cpp:39)
12  com.apple.CoreFoundation      	0x00007fff949e2c01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
13  com.apple.CoreFoundation      	0x00007fff949d4b1c __CFRunLoopDoSources0 + 556
14  com.apple.CoreFoundation      	0x00007fff949d403f __CFRunLoopRun + 927
15  com.apple.CoreFoundation      	0x00007fff949d3a38 CFRunLoopRunSpecific + 296
16  com.apple.HIToolbox           	0x00007fff88e673bd RunCurrentEventLoopInMode + 235
17  com.apple.HIToolbox           	0x00007fff88e67153 ReceiveNextEventCommon + 432
18  com.apple.HIToolbox           	0x00007fff88e66f93 _BlockUntilNextEventMatchingListInModeWithFilter + 71
19  com.apple.AppKit              	0x00007fff870b81e7 _DPSNextEvent + 1076
20  com.apple.AppKit              	0x00007fff8748490d -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
21  com.apple.AppKit              	0x00007fff870ae0b8 -[NSApplication run] + 682
22  com.apple.AppKit              	0x00007fff87030396 NSApplicationMain + 1176
23  libxpc.dylib                  	0x00007fff8c70ff70 _xpc_objc_main + 793
24  libxpc.dylib                  	0x00007fff8c7116bf xpc_main + 494
25  com.apple.WebKit.WebContent.Development	0x00000001042b4424 main + 409 (XPCServiceMain.Development.mm:187)
26  libdyld.dylib                 	0x00007fff93aa15ad start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126911</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-17 15:53:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/22748363&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132537</commentid>
    <comment_count>2</comment_count>
      <attachid>262931</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-12 15:45:30 -0700</bug_when>
    <thetext>Created attachment 262931
resources for the test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132550</commentid>
    <comment_count>3</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-12 15:59:13 -0700</bug_when>
    <thetext>Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000bd8
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0xbd8:
--&gt; 
    __TEXT                 0000000105144000-0000000105147000 [   12K] r-x/rwx SM=COW  /Users/USER/Documents/*/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.Development.xpc/Contents/MacOS/com.apple.WebKit.WebContent.Development

Application Specific Information:
CRASHING TEST: /misc/detach-during-notifyDone.html

Global Trace Buffer (reverse chronological seconds):
18446744066.815662 CFNetwork                 	0x00007fff929903eb Explicitly setting CF cookie storage singleton
18446744066.815979 CFNetwork                 	0x00007fff929c6c85 Explicitly setting cookie storage singleton

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebKit              	0x0000000109bfb28c WebKit::WebDocumentLoader::navigationID() const + 12 (WebDocumentLoader.h:40)
1   com.apple.WebKit              	0x0000000109bf590d WebKit::WebFrameLoaderClient::dispatchDidFinishLoad() + 173 (WebFrameLoaderClient.cpp:553)
2   com.apple.WebCore             	0x000000010f6f380d WebCore::FrameLoader::checkLoadCompleteForThisFrame() + 1853 (FrameLoader.cpp:2283)
3   com.apple.WebCore             	0x000000010f6eb850 WebCore::FrameLoader::checkLoadComplete() + 320 (FrameLoader.cpp:2461)
4   com.apple.WebCore             	0x000000010f3bb48f WebCore::DocumentLoader::finishedLoading(double) + 495 (DocumentLoader.cpp:446)
5   com.apple.WebCore             	0x000000010f3bb20e WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*) + 270 (DocumentLoader.cpp:385)
6   com.apple.WebCore             	0x000000010ef6f4c2 WebCore::CachedResource::checkNotify() + 130 (CachedResource.cpp:296)
7   com.apple.WebCore             	0x000000010ef6f5d1 WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*) + 49 (CachedResource.cpp:314)
8   com.apple.WebCore             	0x000000010ef6b00a WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) + 218 (CachedRawResource.cpp:104)
9   com.apple.WebCore             	0x0000000110cb0215 WebCore::SubresourceLoader::didFinishLoading(double) + 517 (SubresourceLoader.cpp:374)
10  com.apple.WebKit              	0x0000000109f0d877 WebKit::WebResourceLoader::didFinishResourceLoad(double) + 151 (WebResourceLoader.cpp:156)
11  com.apple.WebKit              	0x0000000109f12d43 void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;, 0ul&gt;(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;&amp;&amp;, std::index_sequence&lt;0ul&gt;) + 163 (HandleMessage.h:17)
12  com.apple.WebKit              	0x0000000109f12c98 void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;, std::make_index_sequence&lt;1ul&gt; &gt;(std::__1::tuple&lt;double&gt;&amp;&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double)) + 88 (HandleMessage.h:23)
13  com.apple.WebKit              	0x0000000109f11dcd void IPC::handleMessage&lt;Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double)&gt;(IPC::MessageDecoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double)) + 221 (HandleMessage.h:93)
14  com.apple.WebKit              	0x0000000109f1157c WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;) + 636 (WebResourceLoaderMessageReceiver.cpp:68)
15  com.apple.WebKit              	0x0000000109818410 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;) + 160 (NetworkProcessConnection.cpp:62)
16  com.apple.WebKit              	0x00000001095cf023 IPC::Connection::dispatchMessage(IPC::MessageDecoder&amp;) + 51 (Connection.cpp:901)
17  com.apple.WebKit              	0x00000001095c5f51 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;) + 785 (Connection.cpp:933)
18  com.apple.WebKit              	0x00000001095cf61f IPC::Connection::dispatchOneMessage() + 1519 (Connection.cpp:962)
19  com.apple.WebKit              	0x00000001095e097d IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10::operator()() const + 29 (Connection.cpp:895)
20  com.apple.WebKit              	0x00000001095e094d void std::__1::__invoke_void_return_wrapper&lt;void&gt;::__call&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10&amp;&gt;(IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10&amp;&amp;&amp;) + 45 (__functional_base:441)
21  com.apple.WebKit              	0x00000001095e079c std::__1::__function::__func&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10, std::__1::allocator&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10&gt;, void ()&gt;::operator()() + 44 (functional:1407)
22  com.apple.JavaScriptCore      	0x000000010cda768a std::__1::function&lt;void ()&gt;::operator()() const + 26 (functional:1793)
23  com.apple.JavaScriptCore      	0x000000010d34afed WTF::RunLoop::performWork() + 621 (RunLoop.cpp:122)
24  com.apple.JavaScriptCore      	0x000000010d34b5f4 WTF::RunLoop::performWork(void*) + 36 (RunLoopCF.cpp:38)
25  com.apple.CoreFoundation      	0x00007fff88dea621 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
26  com.apple.CoreFoundation      	0x00007fff88dc9e1c __CFRunLoopDoSources0 + 556
27  com.apple.CoreFoundation      	0x00007fff88dc933f __CFRunLoopRun + 927
28  com.apple.CoreFoundation      	0x00007fff88dc8d38 CFRunLoopRunSpecific + 296
29  com.apple.HIToolbox           	0x00007fff83b01d55 RunCurrentEventLoopInMode + 235
30  com.apple.HIToolbox           	0x00007fff83b01b8f ReceiveNextEventCommon + 432
31  com.apple.HIToolbox           	0x00007fff83b019cf _BlockUntilNextEventMatchingListInModeWithFilter + 71
32  com.apple.AppKit              	0x00007fff8a645f3a _DPSNextEvent + 1067
33  com.apple.AppKit              	0x00007fff8a645369 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
34  com.apple.AppKit              	0x00007fff8a639ecc -[NSApplication run] + 682
35  com.apple.AppKit              	0x00007fff8a603162 NSApplicationMain + 1176
36  libxpc.dylib                  	0x00007fff970904f2 _xpc_objc_main + 793
37  libxpc.dylib                  	0x00007fff9708ef1e xpc_main + 494
38  com.apple.WebKit.WebContent.Development	0x0000000105145be1 main + 785 (XPCServiceMain.Development.mm:187)
39  libdyld.dylib                 	0x00007fff84d425ad start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132922</commentid>
    <comment_count>4</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-13 14:57:50 -0700</bug_when>
    <thetext>Here is the way to reproduce the bug:
Jiewens-Mac-Pro:LayoutTests jwtan$ run-webkit-tests -g --repeat-each=10 http/tests/misc/detach-during-notifyDone.html
Using port &apos;mac-elcapitan-wk2&apos;
Test configuration: &lt;elcapitan, x86_64, debug&gt;
Placing test results in /Users/jwtan/Documents/Build/Products/Debug/layout-test-results
Baseline search path: mac-wk2 -&gt; wk2 -&gt; mac -&gt; generic
Using Debug build
Pixel tests disabled
Regular timeout: 350000, slow test timeout: 1750000
Command line: /Users/jwtan/Documents/Build/Products/Debug/WebKitTestRunner -

--lint-test-files warnings:
LayoutTests/platform/mac/TestExpectations:973 Path does not exist. media/video-double.html

Found 1 test; running 1 (10 times each: --repeat-each=10 --iterations=1), skipping 0.
Running 1 WebKitTestRunner.     

[2/10] http/tests/misc/detach-during-notifyDone.html failed unexpectedly (com.apple.WebKit.WebContent.Development crashed [pid=89460])
[4/10] http/tests/misc/detach-during-notifyDone.html failed unexpectedly (com.apple.WebKit.WebContent.Development crashed [pid=89557])
[6/10] http/tests/misc/detach-during-notifyDone.html failed unexpectedly (com.apple.WebKit.WebContent.Development crashed [pid=89562])
[8/10] http/tests/misc/detach-during-notifyDone.html failed unexpectedly (com.apple.WebKit.WebContent.Development crashed [pid=89566])
[10/10] http/tests/misc/detach-during-notifyDone.html failed unexpectedly (com.apple.WebKit.WebContent.Development crashed [pid=89571])
                        
Retrying 1 unexpected failure ...

Running 1 WebKitTestRunner.

                                                   
5 tests ran as expected, 5 didn&apos;t:


Regressions: Unexpected crashes (1)
  http/tests/misc/detach-during-notifyDone.html [ Crash ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132925</commentid>
    <comment_count>5</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-10-13 14:58:15 -0700</bug_when>
    <thetext>Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000bd8
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
This process is running with libgmalloc.dylib (GuardMalloc) which may have forced the crash due to a memory access error.
 
CRASHING TEST: /misc/detach-during-notifyDone.html

Global Trace Buffer (reverse chronological seconds):
18446743968.919937 CFNetwork                 	0x00007fff929903eb Explicitly setting CF cookie storage singleton
18446743968.920921 CFNetwork                 	0x00007fff929c6c85 Explicitly setting cookie storage singleton

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebKit              	0x000000011c79b28c WebKit::WebDocumentLoader::navigationID() const + 12 (WebDocumentLoader.h:40)
1   com.apple.WebKit              	0x000000011c79590d WebKit::WebFrameLoaderClient::dispatchDidFinishLoad() + 173 (WebFrameLoaderClient.cpp:553)
2   com.apple.WebCore             	0x00000001222a489d WebCore::FrameLoader::checkLoadCompleteForThisFrame() + 1853 (FrameLoader.cpp:2283)
3   com.apple.WebCore             	0x000000012229c8e0 WebCore::FrameLoader::checkLoadComplete() + 320 (FrameLoader.cpp:2461)
4   com.apple.WebCore             	0x0000000121f6c51f WebCore::DocumentLoader::finishedLoading(double) + 495 (DocumentLoader.cpp:446)
5   com.apple.WebCore             	0x0000000121f6c29e WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*) + 270 (DocumentLoader.cpp:385)
6   com.apple.WebCore             	0x0000000121b20622 WebCore::CachedResource::checkNotify() + 130 (CachedResource.cpp:296)
7   com.apple.WebCore             	0x0000000121b20731 WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*) + 49 (CachedResource.cpp:314)
8   com.apple.WebCore             	0x0000000121b1c16a WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) + 218 (CachedRawResource.cpp:104)
9   com.apple.WebCore             	0x0000000123861295 WebCore::SubresourceLoader::didFinishLoading(double) + 517 (SubresourceLoader.cpp:374)
10  com.apple.WebKit              	0x000000011caad877 WebKit::WebResourceLoader::didFinishResourceLoad(double) + 151 (WebResourceLoader.cpp:156)
11  com.apple.WebKit              	0x000000011cab2d43 void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;, 0ul&gt;(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;&amp;&amp;, std::index_sequence&lt;0ul&gt;) + 163 (HandleMessage.h:17)
12  com.apple.WebKit              	0x000000011cab2c98 void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double), std::__1::tuple&lt;double&gt;, std::make_index_sequence&lt;1ul&gt; &gt;(std::__1::tuple&lt;double&gt;&amp;&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double)) + 88 (HandleMessage.h:23)
13  com.apple.WebKit              	0x000000011cab1dcd void IPC::handleMessage&lt;Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(double)&gt;(IPC::MessageDecoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(double)) + 221 (HandleMessage.h:93)
14  com.apple.WebKit              	0x000000011cab157c WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;) + 636 (WebResourceLoaderMessageReceiver.cpp:68)
15  com.apple.WebKit              	0x000000011c3b8410 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::MessageDecoder&amp;) + 160 (NetworkProcessConnection.cpp:62)
16  com.apple.WebKit              	0x000000011c16f023 IPC::Connection::dispatchMessage(IPC::MessageDecoder&amp;) + 51 (Connection.cpp:901)
17  com.apple.WebKit              	0x000000011c165f51 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;) + 785 (Connection.cpp:933)
18  com.apple.WebKit              	0x000000011c16f61f IPC::Connection::dispatchOneMessage() + 1519 (Connection.cpp:962)
19  com.apple.WebKit              	0x000000011c18097d IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10::operator()() const + 29 (Connection.cpp:895)
20  com.apple.WebKit              	0x000000011c18094d void std::__1::__invoke_void_return_wrapper&lt;void&gt;::__call&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10&amp;&gt;(IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10&amp;&amp;&amp;) + 45 (__functional_base:441)
21  com.apple.WebKit              	0x000000011c18079c std::__1::__function::__func&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10, std::__1::allocator&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::MessageDecoder, std::__1::default_delete&lt;IPC::MessageDecoder&gt; &gt;)::$_10&gt;, void ()&gt;::operator()() + 44 (functional:1407)
22  com.apple.JavaScriptCore      	0x000000011f95368a std::__1::function&lt;void ()&gt;::operator()() const + 26 (functional:1793)
23  com.apple.JavaScriptCore      	0x000000011fef6fed WTF::RunLoop::performWork() + 621 (RunLoop.cpp:122)
24  com.apple.JavaScriptCore      	0x000000011fef75f4 WTF::RunLoop::performWork(void*) + 36 (RunLoopCF.cpp:38)
25  com.apple.CoreFoundation      	0x00007fff88dea621 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
26  com.apple.CoreFoundation      	0x00007fff88dc9e1c __CFRunLoopDoSources0 + 556
27  com.apple.CoreFoundation      	0x00007fff88dc933f __CFRunLoopRun + 927
28  com.apple.CoreFoundation      	0x00007fff88dc8d38 CFRunLoopRunSpecific + 296
29  com.apple.HIToolbox           	0x00007fff83b01d55 RunCurrentEventLoopInMode + 235
30  com.apple.HIToolbox           	0x00007fff83b01b8f ReceiveNextEventCommon + 432
31  com.apple.HIToolbox           	0x00007fff83b019cf _BlockUntilNextEventMatchingListInModeWithFilter + 71
32  com.apple.AppKit              	0x00007fff8a645f3a _DPSNextEvent + 1067
33  com.apple.AppKit              	0x00007fff8a645369 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
34  com.apple.AppKit              	0x00007fff8a639ecc -[NSApplication run] + 682
35  com.apple.AppKit              	0x00007fff8a603162 NSApplicationMain + 1176
36  libxpc.dylib                  	0x00007fff970904f2 _xpc_objc_main + 793
37  libxpc.dylib                  	0x00007fff9708ef1e xpc_main + 494
38  com.apple.WebKit.WebContent.Development	0x000000010fca2be1 main + 785 (XPCServiceMain.Development.mm:187)
39  libdyld.dylib                 	0x00007fff84d425ad start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142363</commentid>
    <comment_count>6</comment_count>
      <attachid>265628</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-11-16 15:25:34 -0800</bug_when>
    <thetext>Created attachment 265628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144986</commentid>
    <comment_count>7</comment_count>
      <attachid>265628</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-11-30 15:39:13 -0800</bug_when>
    <thetext>Comment on attachment 265628
Patch

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

r=me. Please consider using the reverse iterator, but it&apos;s not required before landing this change.

&gt; Source/WebCore/ChangeLog:9
&gt; +        A wired order of event execution introduced by the test case will kill the webpage in a

I think you meant &quot;A weird order...&quot;

&gt; Source/WebCore/ChangeLog:11
&gt; +        Therefore, any frames comes after this subframe will have no page. Check it before calling

This should be &quot;Therefore, any frames that come after the failing subframe will have no page.&quot;

&gt; Source/WebCore/loader/FrameLoader.cpp:2434
&gt; +    for (unsigned i = frames.size(); i; --i) {

I think this might be better written as something like:

for (auto frame = frames.rbegin(); frame != frames.rend(); ++frame) {
    if (frame-&gt;page())
        frame-&gt;loader().checkLoadCompleteForThisFrame();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145022</commentid>
    <comment_count>8</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2015-11-30 16:33:59 -0800</bug_when>
    <thetext>Committed r192844: &lt;http://trac.webkit.org/changeset/192844&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162569</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-05 20:37:57 -0800</bug_when>
    <thetext>This test often crashes for GTK, bug #153937</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>261447</attachid>
            <date>2015-09-17 15:52:59 -0700</date>
            <delta_ts>2015-09-17 15:52:59 -0700</delta_ts>
            <desc>crashing test</desc>
            <filename>detach-during-notifyDone.html</filename>
            <type>text/html</type>
            <size>213</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">PGlmcmFtZT48L2lmcmFtZT48aWZyYW1lIHNyYz1yZXNvdXJjZXMvZGV0YWNoZWQtZnJhbWUuaHRt
bD48L2lmcmFtZT4KPHNjcmlwdD4KaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwp9Cjwvc2Ny
aXB0PgpXZSBwYXNzIGlmIHdlIGRvbid0IGNyYXNoIHVuZGVyIEFTQU4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>262931</attachid>
            <date>2015-10-12 15:45:30 -0700</date>
            <delta_ts>2015-10-12 15:45:30 -0700</delta_ts>
            <desc>resources for the test</desc>
            <filename>detached-frame.html</filename>
            <type>text/html</type>
            <size>407</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KZnVuY3Rpb24gdGVzdCgpIHsKICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3Q7CiAgICB4aHIub3BlbigiR0VUIiwgImRldGFjaGVkLWZyYW1lLmh0bWwiKTsKICAgIHhoci5z
ZW5kKCk7CiAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAg
aWYgKHhoci5yZWFkeVN0YXRlID09IHhoci5ET05FKSB7CiAgICAgICAgICAgIHZhciBwYXJlbnRX
aW5kb3cgPSB3aW5kb3cucGFyZW50OwogICAgICAgICAgICBwYXJlbnRXaW5kb3cuZG9jdW1lbnQu
Ym9keS5pbm5lckhUTUwgKz0gIiI7CiAgICAgICAgICAgIHBhcmVudFdpbmRvdy50ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKICAgICAgICB9CiAgICB9Cn0KPC9zY3JpcHQ+Cjxib2R5IG9ubG9hZD0i
dGVzdCgpIj4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265628</attachid>
            <date>2015-11-16 15:25:34 -0800</date>
            <delta_ts>2015-11-30 15:39:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149309-20151116152525.patch</filename>
            <type>text/plain</type>
            <size>17372</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyNDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjcxOWY2ZGUzZjQwYTY0
YzllNGViOTU4NTgyOTRiNTRlZjY4YmQ4OS4uOTVjYTdjYTJlN2M2Y2E2ZDkxZWUxZWNkODZjYWI0
YzY4NmVlZGM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTExLTE2ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTnVsbCBkZXJlZmVyZW5j
ZSBsb2FkaW5nIEJsaW5rIGxheW91dCB0ZXN0IGh0dHAvdGVzdHMvbWlzYy9kZXRhY2gtZHVyaW5n
LW5vdGlmeURvbmUuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ5MzA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjc0ODM2Mz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIHdpcmVkIG9yZGVy
IG9mIGV2ZW50IGV4ZWN1dGlvbiBpbnRyb2R1Y2VkIGJ5IHRoZSB0ZXN0IGNhc2Ugd2lsbCBraWxs
IHRoZSB3ZWJwYWdlIGluIGEKKyAgICAgICAgc3ViZnJhbWUgb2YgdGhlIHBhZ2Ugd2hpbGUgZXhl
Y3V0aW5nIGl0cyB8ZnJhbWUubG9hZGVyKCkuY2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJhbWUo
KXwuCisgICAgICAgIFRoZXJlZm9yZSwgYW55IGZyYW1lcyBjb21lcyBhZnRlciB0aGlzIHN1YmZy
YW1lIHdpbGwgaGF2ZSBubyBwYWdlLiBDaGVjayBpdCBiZWZvcmUgY2FsbGluZworICAgICAgICB0
byB0aG9zZSBmcmFtZXMnIHxmcmFtZS5sb2FkZXIoKS5jaGVja0xvYWRDb21wbGV0ZUZvclRoaXNG
cmFtZSgpfCwgb3RoZXJ3aXNlIHRoZSBhc3NlcnRpb24KKyAgICAgICAgaW4gfGZyYW1lLmxvYWRl
cigpLmNoZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lKCl8IHdpbGwgZmFpbC4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL21pc2MvZGV0YWNoLWR1cmluZy1ub3RpZnlEb25lLmh0bWwKKwor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6Y2hlY2tMb2FkQ29tcGxldGUpOgorCiAyMDE1LTExLTEzICBKaWV3ZW4gVGFuICA8
amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgRWxlbWVudDo6Zm9jdXMoKSBzaG91bGQg
YWNxdWlyZSB0aGUgb3duZXJzaGlwIG9mIEZyYW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE2YTNm
YzdjZjQxMTVmMjc5NWEwYmE3Mzk1NDI5YjBmY2JhYzE1MjUuLjE5ZWFiOGIzNTRlYzMzMWE4OTQx
MWEwZWE5YzliZDg3MzAwMzkwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxNS0xMS0xNiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAg
IE51bGwgZGVyZWZlcmVuY2UgbG9hZGluZyBCbGluayBsYXlvdXQgdGVzdCBodHRwL3Rlc3RzL21p
c2MvZGV0YWNoLWR1cmluZy1ub3RpZnlEb25lLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTMwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MjI3NDgzNjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYkRhdGFTb3VyY2UubW06CisgICAgICAgIChXZWJEYXRhU291cmNlUHJp
dmF0ZTo6fldlYkRhdGFTb3VyY2VQcml2YXRlKToKKyAgICAgICAgUmVmaW5lIHRoZSBhc3NlcnRp
b24gdG8gdHJlYXQgPHJkYXI6Ly9wcm9ibGVtLzk2NzM4NjY+LgorCiAyMDE1LTExLTEyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQ29udGV4dE1lbnVB
Y3Rpb24gYW5kIFdlYk1lbnVJdGVtVGFnIHNob3VsZG4ndCBoYXZlIHRvIGJlIGluIHN5bmMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCBlMGUwNDJmYzJlYmU5NjZjODhiYzA2OGRiNWI4ZDRlMjExYTIwY2YyLi5hOTkz
M2M1OGJiNDdjMWY1MjgyMjlkMTJiMDg4MzJiY2YyNDU5MTZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMTUtMTEtMTYgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4K
KworICAgICAgICBOdWxsIGRlcmVmZXJlbmNlIGxvYWRpbmcgQmxpbmsgbGF5b3V0IHRlc3QgaHR0
cC90ZXN0cy9taXNjL2RldGFjaC1kdXJpbmctbm90aWZ5RG9uZS5odG1sCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkzMDkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIyNzQ4MzYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENhbGxiYWNrIG9mIGJ1bmRsZSBjbGllbnRzIGNvdWxkIGtpbGwgdGhlIGRv
Y3VtZW50bG9hZGVyLiBUaGVyZWZvcmUsIG1ha2UgYSBjb3B5CisgICAgICAgIG9mIHRoZSBuYXZp
Z2F0aW9uSUQgYmVmb3JlIGludm9raW5nIHRoZSBjYWxsYmFjay4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDaGFuZ2VMb2NhdGlvbldp
dGhpblBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0
Y2hEaWRQdXNoU3RhdGVXaXRoaW5QYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGlkUmVwbGFjZVN0YXRlV2l0aGluUGFnZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZFBvcFN0YXRlV2l0aGluUGFn
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZh
aWxMb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNo
RGlkRmluaXNoRG9jdW1lbnRMb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJD
bGllbnQ6OmRpc3BhdGNoRGlkRmluaXNoTG9hZCk6CisKIDIwMTUtMTEtMTMgIFRpbSBIb3J0b24g
IDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgSGFyZHdhcmUga2V5Ym9hcmQg
c3BhY2ViYXIgc2Nyb2xscyB0b28gZmFyIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKaW5kZXggMWJhZTRhMjQwNTkxMjUxMGU4YzI3Mzk3MzI5M2EwOTQ0Y2EwMTI5NC4u
NmIxNjFhMTM5YzE4YmQzMDYwZWI4MDk3ZTJkY2VkMGE1ZmI0YWUyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yNDMxLDggKzI0MzEsMTEgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6Y2hlY2tMb2FkQ29tcGxldGUoKQogICAgICAgICBmcmFtZXMuYXBwZW5kKCpmcmFtZSk7
CiAKICAgICAvLyBUbyBwcm9jZXNzIGNoaWxkcmVuIGJlZm9yZSB0aGVpciBwYXJlbnRzLCBpdGVy
YXRlIHRoZSB2ZWN0b3IgYmFja3dhcmRzLgotICAgIGZvciAodW5zaWduZWQgaSA9IGZyYW1lcy5z
aXplKCk7IGk7IC0taSkKLSAgICAgICAgZnJhbWVzW2kgLSAxXS0+bG9hZGVyKCkuY2hlY2tMb2Fk
Q29tcGxldGVGb3JUaGlzRnJhbWUoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBmcmFtZXMuc2l6
ZSgpOyBpOyAtLWkpIHsKKyAgICAgICAgRnJhbWUmIGZyYW1lID0gZnJhbWVzW2kgLSAxXTsKKyAg
ICAgICAgaWYgKGZyYW1lLnBhZ2UoKSkKKyAgICAgICAgICAgIGZyYW1lLmxvYWRlcigpLmNoZWNr
TG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lKCk7CisgICAgfQogfQogCiBpbnQgRnJhbWVMb2FkZXI6
Om51bVBlbmRpbmdPckxvYWRpbmdSZXF1ZXN0cyhib29sIHJlY3Vyc2UpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0KaW5kZXggNzRkNGRmNTI2MTRjMzc4
YTI4OTQzNGVjNTJmYjQ1NWQ1MDRiYjE1My4uMTE5NzA5MTVhMmIxMmE0MjBiODE4YjJmZWVlNzM5
ZjljNTY0OGUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRh
U291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJjZS5t
bQpAQCAtOTIsNyArOTIsMTIgQEAgcHVibGljOgogICAgIH5XZWJEYXRhU291cmNlUHJpdmF0ZSgp
CiAgICAgewogICAgICAgICBpZiAobG9hZGVyKSB7Ci0gICAgICAgICAgICBBU1NFUlQoIWxvYWRl
ci0+aXNMb2FkaW5nKCkpOworICAgICAgICAgICAgLy8gV2UgbWlnaHQgcnVuIGluIHRvIGluZmlu
aXRlIHJlY3Vyc2lvbiBpZiB3ZSdyZSBzdG9wcGluZyBsb2FkaW5nIGFzIHRoZSByZXN1bHQgb2Yg
ZGV0YWNoaW5nIGZyb20gdGhlIGZyYW1lLgorICAgICAgICAgICAgLy8gVGhlcmVmb3JlLCBEb2N1
bWVudExvYWRlcjo6ZGV0YWNoRnJvbUZyYW1lKCkgZGlkIHNvbWUgc21hcnQgdGhpbmdzIHRvIHN0
b3AgdGhlIHJlY3Vyc2lvbi4KKyAgICAgICAgICAgIC8vIEFzIGEgcmVzdWx0IG9mIGJyZWFraW5n
IHRoZSByZXN1cnNpb24sIERvY3VtZW50TG9hZGVyOjptX3N1YnJlc291cmNlTG9hZGVyCisgICAg
ICAgICAgICAvLyBhbmQgRG9jdW1lbnRMb2FkZXI6Om1fcGx1Z0luU3RyZWFtTG9hZGVycyBtaWdo
dCBub3QgYmUgZW1wdHkgYXQgdGhpcyB0aW1lLgorICAgICAgICAgICAgLy8gU2VlIDxyZGFyOi8v
cHJvYmxlbS85NjczODY2PiBmb3IgbW9yZSBkZXRhaWxzLgorICAgICAgICAgICAgQVNTRVJUKCFs
b2FkZXItPmlzTG9hZGluZygpIHx8IGxvYWRlci0+aXNTdG9wcGluZygpKTsKICAgICAgICAgICAg
IGxvYWRlci0+ZGV0YWNoRGF0YVNvdXJjZSgpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBkNWVkZmIwMWVjZDU3NmYwMGM1MjY3NzhlZmI4
M2Q4ZjE4NzVjMTBjLi5lYjZkNGE1ZDhjOTk4N2U4NTVhOTYyMmM1MTY2ZTFkY2MzNWJjNTY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMzI3LDEyICszMjcsMTMgQEAg
dm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDaGFuZ2VMb2NhdGlvbldpdGhp
blBhZ2UoKQogCiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsKIAorICAgIGF1dG8g
bmF2aWdhdGlvbklEID0gc3RhdGljX2Nhc3Q8V2ViRG9jdW1lbnRMb2FkZXImPigqbV9mcmFtZS0+
Y29yZUZyYW1lKCktPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCkpLm5hdmlnYXRpb25JRCgpOwor
CiAgICAgLy8gTm90aWZ5IHRoZSBidW5kbGUgY2xpZW50LgogICAgIHdlYlBhZ2UtPmluamVjdGVk
QnVuZGxlTG9hZGVyQ2xpZW50KCkuZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKHdl
YlBhZ2UsIG1fZnJhbWUsIFNhbWVEb2N1bWVudE5hdmlnYXRpb25BbmNob3JOYXZpZ2F0aW9uLCB1
c2VyRGF0YSk7CiAKICAgICAvLyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4KLSAgICBXZWJEb2N1bWVu
dExvYWRlciYgZG9jdW1lbnRMb2FkZXIgPSBzdGF0aWNfY2FzdDxXZWJEb2N1bWVudExvYWRlciY+
KCptX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSk7Ci0gICAg
d2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRTYW1lRG9jdW1lbnROYXZp
Z2F0aW9uRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCBkb2N1bWVudExvYWRlci5uYXZpZ2F0
aW9uSUQoKSwgU2FtZURvY3VtZW50TmF2aWdhdGlvbkFuY2hvck5hdmlnYXRpb24sIG1fZnJhbWUt
PmNvcmVGcmFtZSgpLT5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSwgVXNlckRhdGEoV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQo
KSkuZ2V0KCkpKSk7CisgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpE
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCBuYXZp
Z2F0aW9uSUQsIFNhbWVEb2N1bWVudE5hdmlnYXRpb25BbmNob3JOYXZpZ2F0aW9uLCBtX2ZyYW1l
LT5jb3JlRnJhbWUoKS0+ZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCksIFVzZXJEYXRhKFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0
KCkpLmdldCgpKSkpOwogfQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERp
ZFB1c2hTdGF0ZVdpdGhpblBhZ2UoKQpAQCAtMzQzLDEyICszNDQsMTMgQEAgdm9pZCBXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRQdXNoU3RhdGVXaXRoaW5QYWdlKCkKIAogICAgIFJl
ZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CiAKKyAgICBhdXRvIG5hdmlnYXRpb25JRCA9IHN0
YXRpY19jYXN0PFdlYkRvY3VtZW50TG9hZGVyJj4oKm1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2Fk
ZXIoKS5kb2N1bWVudExvYWRlcigpKS5uYXZpZ2F0aW9uSUQoKTsKKwogICAgIC8vIE5vdGlmeSB0
aGUgYnVuZGxlIGNsaWVudC4KICAgICB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRsZUxvYWRlckNsaWVu
dCgpLmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZSh3ZWJQYWdlLCBtX2ZyYW1lLCBT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uU2Vzc2lvblN0YXRlUHVzaCwgdXNlckRhdGEpOwogCiAgICAg
Ly8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCi0gICAgV2ViRG9jdW1lbnRMb2FkZXImIGRvY3VtZW50
TG9hZGVyID0gc3RhdGljX2Nhc3Q8V2ViRG9jdW1lbnRMb2FkZXImPigqbV9mcmFtZS0+Y29yZUZy
YW1lKCktPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCkpOwotICAgIHdlYlBhZ2UtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKG1f
ZnJhbWUtPmZyYW1lSUQoKSwgZG9jdW1lbnRMb2FkZXIubmF2aWdhdGlvbklEKCksIFNhbWVEb2N1
bWVudE5hdmlnYXRpb25TZXNzaW9uU3RhdGVQdXNoLCBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9j
dW1lbnQoKS0+dXJsKCkuc3RyaW5nKCksIFVzZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0KCkpLmdldCgpKSkpOworICAg
IHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkU2FtZURvY3VtZW50TmF2
aWdhdGlvbkZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgbmF2aWdhdGlvbklELCBTYW1lRG9j
dW1lbnROYXZpZ2F0aW9uU2Vzc2lvblN0YXRlUHVzaCwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmRv
Y3VtZW50KCktPnVybCgpLnN0cmluZygpLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKIH0K
IAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRSZXBsYWNlU3RhdGVXaXRo
aW5QYWdlKCkKQEAgLTM1OSwxMiArMzYxLDEzIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6
OmRpc3BhdGNoRGlkUmVwbGFjZVN0YXRlV2l0aGluUGFnZSgpCiAKICAgICBSZWZQdHI8QVBJOjpP
YmplY3Q+IHVzZXJEYXRhOwogCisgICAgYXV0byBuYXZpZ2F0aW9uSUQgPSBzdGF0aWNfY2FzdDxX
ZWJEb2N1bWVudExvYWRlciY+KCptX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuZG9jdW1l
bnRMb2FkZXIoKSkubmF2aWdhdGlvbklEKCk7CisKICAgICAvLyBOb3RpZnkgdGhlIGJ1bmRsZSBj
bGllbnQuCiAgICAgd2ViUGFnZS0+aW5qZWN0ZWRCdW5kbGVMb2FkZXJDbGllbnQoKS5kaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUod2ViUGFnZSwgbV9mcmFtZSwgU2FtZURvY3VtZW50
TmF2aWdhdGlvblNlc3Npb25TdGF0ZVJlcGxhY2UsIHVzZXJEYXRhKTsKIAogICAgIC8vIE5vdGlm
eSB0aGUgVUlQcm9jZXNzLgotICAgIFdlYkRvY3VtZW50TG9hZGVyJiBkb2N1bWVudExvYWRlciA9
IHN0YXRpY19jYXN0PFdlYkRvY3VtZW50TG9hZGVyJj4oKm1fZnJhbWUtPmNvcmVGcmFtZSgpLT5s
b2FkZXIoKS5kb2N1bWVudExvYWRlcigpKTsKLSAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShtX2ZyYW1lLT5m
cmFtZUlEKCksIGRvY3VtZW50TG9hZGVyLm5hdmlnYXRpb25JRCgpLCBTYW1lRG9jdW1lbnROYXZp
Z2F0aW9uU2Vzc2lvblN0YXRlUmVwbGFjZSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmRvY3VtZW50
KCktPnVybCgpLnN0cmluZygpLCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFu
c2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKKyAgICB3ZWJQ
YWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFNhbWVEb2N1bWVudE5hdmlnYXRp
b25Gb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIG5hdmlnYXRpb25JRCwgU2FtZURvY3VtZW50
TmF2aWdhdGlvblNlc3Npb25TdGF0ZVJlcGxhY2UsIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1
bWVudCgpLT51cmwoKS5zdHJpbmcoKSwgVXNlckRhdGEoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSkuZ2V0KCkpKSk7CiB9CiAK
IHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUG9wU3RhdGVXaXRoaW5QYWdl
KCkKQEAgLTM3NSwxMiArMzc4LDEzIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3Bh
dGNoRGlkUG9wU3RhdGVXaXRoaW5QYWdlKCkKIAogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNl
ckRhdGE7CiAKKyAgICBhdXRvIG5hdmlnYXRpb25JRCA9IHN0YXRpY19jYXN0PFdlYkRvY3VtZW50
TG9hZGVyJj4oKm1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigp
KS5uYXZpZ2F0aW9uSUQoKTsKKwogICAgIC8vIE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4KICAg
ICB3ZWJQYWdlLT5pbmplY3RlZEJ1bmRsZUxvYWRlckNsaWVudCgpLmRpZFNhbWVEb2N1bWVudE5h
dmlnYXRpb25Gb3JGcmFtZSh3ZWJQYWdlLCBtX2ZyYW1lLCBTYW1lRG9jdW1lbnROYXZpZ2F0aW9u
U2Vzc2lvblN0YXRlUG9wLCB1c2VyRGF0YSk7CiAKICAgICAvLyBOb3RpZnkgdGhlIFVJUHJvY2Vz
cy4KLSAgICBXZWJEb2N1bWVudExvYWRlciYgZG9jdW1lbnRMb2FkZXIgPSBzdGF0aWNfY2FzdDxX
ZWJEb2N1bWVudExvYWRlciY+KCptX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuZG9jdW1l
bnRMb2FkZXIoKSk7Ci0gICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpE
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCBkb2N1
bWVudExvYWRlci5uYXZpZ2F0aW9uSUQoKSwgU2FtZURvY3VtZW50TmF2aWdhdGlvblNlc3Npb25T
dGF0ZVBvcCwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmRvY3VtZW50KCktPnVybCgpLnN0cmluZygp
LCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5k
bGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShtX2ZyYW1l
LT5mcmFtZUlEKCksIG5hdmlnYXRpb25JRCwgU2FtZURvY3VtZW50TmF2aWdhdGlvblNlc3Npb25T
dGF0ZVBvcCwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmRvY3VtZW50KCktPnVybCgpLnN0cmluZygp
LCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5k
bGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6ZGlzcGF0Y2hXaWxsQ2xvc2UoKQpAQCAtNTA0LDEyICs1MDgsMTMgQEAgdm9pZCBXZWJG
cmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRGYWlsTG9hZChjb25zdCBSZXNvdXJjZUVycm9y
JiBlcnJvcikKIAogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CiAKKyAgICBhdXRv
IG5hdmlnYXRpb25JRCA9IHN0YXRpY19jYXN0PFdlYkRvY3VtZW50TG9hZGVyJj4oKm1fZnJhbWUt
PmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpKS5uYXZpZ2F0aW9uSUQoKTsK
KwogICAgIC8vIE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4KICAgICB3ZWJQYWdlLT5pbmplY3Rl
ZEJ1bmRsZUxvYWRlckNsaWVudCgpLmRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUod2ViUGFn
ZSwgbV9mcmFtZSwgZXJyb3IsIHVzZXJEYXRhKTsKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9j
ZXNzLgotICAgIFdlYkRvY3VtZW50TG9hZGVyJiBkb2N1bWVudExvYWRlciA9IHN0YXRpY19jYXN0
PFdlYkRvY3VtZW50TG9hZGVyJj4oKm1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5kb2N1
bWVudExvYWRlcigpKTsKLSAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRpZEZhaWxMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJRCgpLCBkb2N1bWVudExvYWRlci5u
YXZpZ2F0aW9uSUQoKSwgZXJyb3IsIFVzZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRy
YW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0KCkpLmdldCgpKSkpOworICAgIHdl
YlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRmFpbExvYWRGb3JGcmFtZSht
X2ZyYW1lLT5mcmFtZUlEKCksIG5hdmlnYXRpb25JRCwgZXJyb3IsIFVzZXJEYXRhKFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0KCkp
LmdldCgpKSkpOwogCiAgICAgLy8gSWYgd2UgaGF2ZSBhIGxvYWQgbGlzdGVuZXIsIG5vdGlmeSBp
dC4KICAgICBpZiAoV2ViRnJhbWU6OkxvYWRMaXN0ZW5lciogbG9hZExpc3RlbmVyID0gbV9mcmFt
ZS0+bG9hZExpc3RlbmVyKCkpCkBAIC01MjQsMTMgKzUyOSwxMyBAQCB2b2lkIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZpbmlzaERvY3VtZW50TG9hZCgpCiAKICAgICBSZWZQdHI8
QVBJOjpPYmplY3Q+IHVzZXJEYXRhOwogCisgICAgYXV0byBuYXZpZ2F0aW9uSUQgPSBzdGF0aWNf
Y2FzdDxXZWJEb2N1bWVudExvYWRlciY+KCptX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCku
ZG9jdW1lbnRMb2FkZXIoKSkubmF2aWdhdGlvbklEKCk7CisKICAgICAvLyBOb3RpZnkgdGhlIGJ1
bmRsZSBjbGllbnQuCiAgICAgd2ViUGFnZS0+aW5qZWN0ZWRCdW5kbGVMb2FkZXJDbGllbnQoKS5k
aWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh3ZWJQYWdlLCBtX2ZyYW1lLCB1c2VyRGF0YSk7
CiAKLSAgICBXZWJEb2N1bWVudExvYWRlciYgZG9jdW1lbnRMb2FkZXIgPSBzdGF0aWNfY2FzdDxX
ZWJEb2N1bWVudExvYWRlciY+KCptX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuZG9jdW1l
bnRMb2FkZXIoKSk7Ci0KICAgICAvLyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4KLSAgICB3ZWJQYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgZG9jdW1lbnRMb2FkZXIubmF2aWdhdGlvbklEKCksIFVz
ZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXMo
dXNlckRhdGEuZ2V0KCkpLmdldCgpKSkpOworICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6RGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUobV9mcmFtZS0+ZnJhbWVJ
RCgpLCBuYXZpZ2F0aW9uSUQsIFVzZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5z
Zm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0KCkpLmdldCgpKSkpOwogfQogCiB2b2lk
IFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZpbmlzaExvYWQoKQpAQCAtNTQxLDEz
ICs1NDYsMTMgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRGaW5pc2hM
b2FkKCkKIAogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CiAKKyAgICBhdXRvIG5h
dmlnYXRpb25JRCA9IHN0YXRpY19jYXN0PFdlYkRvY3VtZW50TG9hZGVyJj4oKm1fZnJhbWUtPmNv
cmVGcmFtZSgpLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpKS5uYXZpZ2F0aW9uSUQoKTsKKwog
ICAgIC8vIE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4KICAgICB3ZWJQYWdlLT5pbmplY3RlZEJ1
bmRsZUxvYWRlckNsaWVudCgpLmRpZEZpbmlzaExvYWRGb3JGcmFtZSh3ZWJQYWdlLCBtX2ZyYW1l
LCB1c2VyRGF0YSk7CiAKLSAgICBXZWJEb2N1bWVudExvYWRlciYgZG9jdW1lbnRMb2FkZXIgPSBz
dGF0aWNfY2FzdDxXZWJEb2N1bWVudExvYWRlciY+KCptX2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9h
ZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSk7Ci0KICAgICAvLyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4K
LSAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmlzaExvYWRG
b3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIGRvY3VtZW50TG9hZGVyLm5hdmlnYXRpb25JRCgp
LCBVc2VyRGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5k
bGVzKHVzZXJEYXRhLmdldCgpKS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkRpZEZpbmlzaExvYWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCks
IG5hdmlnYXRpb25JRCwgVXNlckRhdGEoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3Jt
T2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSkuZ2V0KCkpKSk7CiAKICAgICAvLyBJZiB3
ZSBoYXZlIGEgbG9hZCBsaXN0ZW5lciwgbm90aWZ5IGl0LgogICAgIGlmIChXZWJGcmFtZTo6TG9h
ZExpc3RlbmVyKiBsb2FkTGlzdGVuZXIgPSBtX2ZyYW1lLT5sb2FkTGlzdGVuZXIoKSkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA1ZTNiYzRiYWJjYzQ2MmRkMTU2ZTIyM2Y0MWVjZDhjMjJkM2I2MGNlLi4wODliMWNlNzUxNGI3
Yjg4YzJmZGU4OWU4YjUzYjUzODcwZmExMzczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTUt
MTEtMTYgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBOdWxs
IGRlcmVmZXJlbmNlIGxvYWRpbmcgQmxpbmsgbGF5b3V0IHRlc3QgaHR0cC90ZXN0cy9taXNjL2Rl
dGFjaC1kdXJpbmctbm90aWZ5RG9uZS5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkzMDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNzQ4
MzYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSB0ZXN0IGNhc2UgaXMgZnJvbSBCbGluayByMTc1NjAxOgorICAgICAgICBodHRwczovL2NvZGVy
ZXZpZXcuY2hyb21pdW0ub3JnLzMxNzUxMzAwMgorICAgICAgICBUaGUgdGVzdCBjYXNlIHdpbGwg
Z2VuZXJhdGUgYSBzZXQgb2Ygd2lyZWQgb3JkZXJpbmcgZXZlbnRzIHRoYXQgYWZmZWN0cyB0aGUg
ZG9jdW1lbnRMb2FkZXI6CisgICAgICAgIDEuIFRoZSBzdWJmcmFtZSBmaW5pc2hlcyBsb2FkaW5n
LCBhbmQgc2luY2UgdGhlIGZyYW1l4oCZcyB0ZXN0UnVubmVyIGlzIG5vdCBzZXQgdG8gd2FpdCB1
bnRpbAorICAgICAgICBkb25lLCBXZWJLaXRUZXN0UnVubmVyIHN0b3BzIHRoZSBsb2FkIChieSBj
YWxsaW5nIFdLQnVuZGxlUGFnZVN0b3BMb2FkaW5nKCkpLgorICAgICAgICAyLiBUaGlzIGNhdXNl
cyB0aGUgaW4tcHJvZ3Jlc3MgWEhSIHRvIGJlIGFib3J0ZWQsIHdoaWNoIGNhdXNlcyBpdHMgcmVh
ZHlTdGF0ZSB0byBiZWNvbWUgRE9ORQorICAgICAgICAodGhpcyBidWcgZG9lc27igJl0IGFsd2F5
cyByZXByb2R1Y2UgYmVjYXVzZSBzb21ldGltZXMgdGhlIFhIUiBoYXMgYWxyZWFkeSBmaW5pc2hl
ZCBiZWZvcmUgdGhlCisgICAgICAgIGZyYW1lIGZpbmlzaGVzIGxvYWRpbmcpLgorICAgICAgICAz
LiBUaGUgb25yZWFkeXN0YXRlY2hhbmdlIGNhbGxiYWNrIGlzIGV4ZWN1dGVkLCB3aGljaCBzZXRz
IGlubmVySFRNTCBvbiB0aGUgcGFyZW50IGZyYW1lLgorICAgICAgICA0LiBTZXR0aW5nIGlubmVy
SFRNTCBkaXNjb25uZWN0cyB0aGUgc3ViZnJhbWUsIG51bGxpbmcgb3V0IGl0cyBEb2N1bWVudExv
YWRlci4KKyAgICAgICAgNS4gV2UgcmV0dXJuIHRvIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNw
YXRjaERpZEZpbmlzaExvYWQoKSBmcm9tIHN0ZXAgIzEsIGJ1dCBub3cgdGhlCisgICAgICAgIEZy
YW1lTG9hZGVy4oCZcyBEb2N1bWVudExvYWRlciBpcyBudWxsLiBBbmQgV2ViS2l0IGNyYXNoZXMg
aGVyZS4KKworICAgICAgICBOb3RlIHRoYXQgc3RlcHMgMi00IGhhcHBlbiBzeW5jaHJvbm91c2x5
IGluc2lkZSBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRGaW5pc2hMb2FkKCkuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvZGV0YWNoLWR1cmluZy1ub3RpZnlEb25lLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2RldGFjaC1kdXJpbmct
bm90aWZ5RG9uZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvcmVzb3Vy
Y2VzL2RldGFjaGVkLWZyYW1lLmh0bWw6IEFkZGVkLgorCiAyMDE1LTExLTEzICBKaWV3ZW4gVGFu
ICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgRWxlbWVudDo6Zm9jdXMoKSBzaG91
bGQgYWNxdWlyZSB0aGUgb3duZXJzaGlwIG9mIEZyYW1lLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL2RldGFjaC1kdXJpbmctbm90aWZ5RG9uZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvZGV0YWNoLWR1cmluZy1ub3RpZnlEb25lLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDUwMTc0ZjBiZTkyYzM0ZDRhZjkyZTg4MGM0NmNiN2My
Y2U1NWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Rl
dGFjaC1kdXJpbmctbm90aWZ5RG9uZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorIFBBU1Mu
IFdlYktpdCBkaWRuJ3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2MvZGV0YWNoLWR1cmluZy1ub3RpZnlEb25lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21pc2MvZGV0YWNoLWR1cmluZy1ub3RpZnlEb25lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y4ODZl
MzViNDFlZmJiZTRlMTVkODVlNTEwODRjMjg0NmQwMDk0OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9kZXRhY2gtZHVyaW5nLW5vdGlmeURvbmUuaHRtbApA
QCAtMCwwICsxLDggQEAKKzxpZnJhbWU+PC9pZnJhbWU+PGlmcmFtZSBzcmM9cmVzb3VyY2VzL2Rl
dGFjaGVkLWZyYW1lLmh0bWw+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KK1BBU1MuIFdlYktpdCBkaWRuJ3QgY3Jhc2guCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL2RldGFjaGVk
LWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL2RldGFj
aGVkLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTczYzhmOWZhN2EyODU4NzU4YTZhNTU3ZWMxZTJl
ZjQzOTc5ODA3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9yZXNvdXJjZXMvZGV0YWNoZWQtZnJhbWUuaHRtbApAQCAtMCwwICsxLDE1IEBACis8c2NyaXB0
PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0Owor
ICAgIHhoci5vcGVuKCJHRVQiLCAiZGV0YWNoZWQtZnJhbWUuaHRtbCIpOworICAgIHhoci5zZW5k
KCk7CisgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICBp
ZiAoeGhyLnJlYWR5U3RhdGUgPT0geGhyLkRPTkUpIHsKKyAgICAgICAgICAgIHZhciBwYXJlbnRX
aW5kb3cgPSB3aW5kb3cucGFyZW50OworICAgICAgICAgICAgcGFyZW50V2luZG93LmRvY3VtZW50
LmJvZHkuaW5uZXJIVE1MICs9ICIiOworICAgICAgICAgICAgcGFyZW50V2luZG93LnRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgfQorfQorPC9zY3JpcHQ+Cis8Ym9keSBv
bmxvYWQ9InRlc3QoKSI+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="290652"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>