<?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>169855</bug_id>
          
          <creation_ts>2017-03-18 16:00:05 -0700</creation_ts>
          <short_desc>Crash when breakpoint hit in unload handler</short_desc>
          <delta_ts>2018-02-13 14:39:54 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>macOS 10.12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=80427</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>koivisto</cc>
    
    <cc>mattbaker</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1289323</commentid>
    <comment_count>0</comment_count>
      <attachid>304883</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-03-18 16:00:05 -0700</bug_when>
    <thetext>Created attachment 304883
Test case

Using Mac nightly r213868 with Safari Version 10.1 (12603.1.30.0.31), hitting a breakpoint in the unload handler of a child frame causes a WebProcess crash. To see this, perform the the following:

1. Download and extract the attached test case archive and open file unload-with-inspector-at-breakpoint-crash.html in Safari.
2. Following the instructions in the test case to reproduce the crash.

The following is the backtrace I see:

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

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Trace/BPT trap: 5
Termination Reason:    Namespace SIGNAL, Code 0x5
Terminating Process:   exc handler [0]

[...]
 
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x0000000107cb0272 WebCore::DocumentWriter::addData(char const*, unsigned long) + 50
1   com.apple.WebCore             	0x0000000107c98bf5 WebCore::DocumentLoader::commitData(char const*, unsigned long) + 1317
2   com.apple.WebKit              	0x00000001050ad336 WebKit::WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int) + 50
3   com.apple.WebCore             	0x0000000107c9ad81 WebCore::DocumentLoader::commitLoad(char const*, int) + 145
4   com.apple.WebCore             	0x0000000107a8107c WebCore::CachedRawResource::notifyClientsDataWasReceived(char const*, unsigned int) + 172
5   com.apple.WebCore             	0x0000000107a80f41 WebCore::CachedRawResource::addDataBuffer(WebCore::SharedBuffer&amp;) + 145
6   com.apple.WebCore             	0x00000001089f0132 WebCore::SubresourceLoader::didReceiveDataOrBuffer(char const*, int, WTF::RefPtr&lt;WebCore::SharedBuffer&gt;&amp;&amp;, long long, WebCore::DataPayloadType) + 210
7   com.apple.WebCore             	0x00000001089f0052 WebCore::SubresourceLoader::didReceiveData(char const*, unsigned int, long long, WebCore::DataPayloadType) + 34
8   com.apple.WebKit              	0x000000010519632f WebKit::WebResourceLoader::didReceiveData(IPC::DataReference const&amp;, long long) + 249
9   com.apple.WebKit              	0x0000000105196dd5 WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 289
10  com.apple.WebKit              	0x0000000104f3779b IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 119
11  com.apple.WebKit              	0x0000000104f3a425 IPC::Connection::dispatchOneMessage() + 175
12  com.apple.JavaScriptCore      	0x000000010668a3a9 WTF::RunLoop::performWork() + 169
13  com.apple.JavaScriptCore      	0x000000010668b4c2 WTF::RunLoop::performWork(void*) + 34
14  com.apple.CoreFoundation      	0x00007fff982843b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
15  com.apple.CoreFoundation      	0x00007fff9826563c __CFRunLoopDoSources0 + 556
16  com.apple.CoreFoundation      	0x00007fff98264b26 __CFRunLoopRun + 934
17  com.apple.CoreFoundation      	0x00007fff98264524 CFRunLoopRunSpecific + 420
18  com.apple.HIToolbox           	0x00007fff977c4ebc RunCurrentEventLoopInMode + 240
19  com.apple.HIToolbox           	0x00007fff977c4cf1 ReceiveNextEventCommon + 432
20  com.apple.HIToolbox           	0x00007fff977c4b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
21  com.apple.AppKit              	0x00007fff95d5fe24 _DPSNextEvent + 1120
22  com.apple.AppKit              	0x00007fff964db85e -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
23  com.apple.AppKit              	0x00007fff95d547ab -[NSApplication run] + 926
24  com.apple.AppKit              	0x00007fff95d1f1de NSApplicationMain + 1237
25  libxpc.dylib                  	0x00007fffae1ed8c7 _xpc_objc_main + 775
26  libxpc.dylib                  	0x00007fffae1ec2e4 xpc_main + 494
27  com.apple.WebKit.WebContent   	0x0000000104ef96bb main + 468
28  libdyld.dylib                 	0x00007fffadf94235 start + 1

Thread 1:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fffae0bb34a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fffae0ba797 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff98265854 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff98264cd1 __CFRunLoopRun + 1361
4   com.apple.CoreFoundation      	0x00007fff98264524 CFRunLoopRunSpecific + 420
5   com.apple.AppKit              	0x00007fff95ead2d2 _NSEventThread + 205
6   libsystem_pthread.dylib       	0x00007fffae1adaab _pthread_body + 180
7   libsystem_pthread.dylib       	0x00007fffae1ad9f7 _pthread_start + 286
8   libsystem_pthread.dylib       	0x00007fffae1ad1fd thread_start + 13

Thread 2:
0   libsystem_kernel.dylib        	0x00007fffae0c2f46 __semwait_signal + 10
1   libsystem_c.dylib             	0x00007fffae049b72 nanosleep + 199
2   libc++.1.dylib                	0x00007fffacb7265b std::__1::this_thread::sleep_for(std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; const&amp;) + 80
3   com.apple.JavaScriptCore      	0x00000001066afc93 bmalloc::Heap::scavenge(std::__1::unique_lock&lt;bmalloc::StaticMutex&gt;&amp;, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000l&gt; &gt;) + 275
4   com.apple.JavaScriptCore      	0x00000001066afa46 bmalloc::Heap::concurrentScavenge() + 102
5   com.apple.JavaScriptCore      	0x00000001066b10d1 bmalloc::AsyncTask&lt;bmalloc::Heap, void (bmalloc::Heap::*)()&gt;::threadRunLoop() + 97
6   com.apple.JavaScriptCore      	0x00000001066b0fdd bmalloc::AsyncTask&lt;bmalloc::Heap, void (bmalloc::Heap::*)()&gt;::threadEntryPoint(bmalloc::AsyncTask&lt;bmalloc::Heap, void (bmalloc::Heap::*)()&gt;*) + 29
7   com.apple.JavaScriptCore      	0x00000001066b128d void* std::__1::__thread_proxy&lt;std::__1::tuple&lt;void (*)(bmalloc::AsyncTask&lt;bmalloc::Heap, void (bmalloc::Heap::*)()&gt;*), bmalloc::AsyncTask&lt;bmalloc::Heap, void (bmalloc::Heap::*)()&gt;*&gt; &gt;(void*) + 93
8   libsystem_pthread.dylib       	0x00007fffae1adaab _pthread_body + 180
9   libsystem_pthread.dylib       	0x00007fffae1ad9f7 _pthread_start + 286
10  libsystem_pthread.dylib       	0x00007fffae1ad1fd thread_start + 13

Thread 3:: com.apple.NSURLConnectionLoader
0   libsystem_kernel.dylib        	0x00007fffae0bb34a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fffae0ba797 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff98265854 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff98264cd1 __CFRunLoopRun + 1361
4   com.apple.CoreFoundation      	0x00007fff98264524 CFRunLoopRunSpecific + 420
5   com.apple.CFNetwork           	0x00007fff973a1604 +[NSURLConnection(Loader) _resourceLoadLoop:] + 313
6   com.apple.Foundation          	0x00007fff99ca4a1d __NSThread__start__ + 1243
7   libsystem_pthread.dylib       	0x00007fffae1adaab _pthread_body + 180
8   libsystem_pthread.dylib       	0x00007fffae1ad9f7 _pthread_start + 286
9   libsystem_pthread.dylib       	0x00007fffae1ad1fd thread_start + 13

Thread 4:: WebCore: Scrolling
0   libsystem_kernel.dylib        	0x00007fffae0bb34a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fffae0ba797 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff98265854 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff98264cd1 __CFRunLoopRun + 1361
4   com.apple.CoreFoundation      	0x00007fff98264524 CFRunLoopRunSpecific + 420
5   com.apple.CoreFoundation      	0x00007fff982a3d01 CFRunLoopRun + 97
6   com.apple.WebCore             	0x00000001088b2ddd WebCore::ScrollingThread::initializeRunLoop() + 253
7   com.apple.JavaScriptCore      	0x00000001066a03b2 WTF::threadEntryPoint(void*) + 178
8   com.apple.JavaScriptCore      	0x00000001066a080f WTF::wtfThreadEntryPoint(void*) + 15
9   libsystem_pthread.dylib       	0x00007fffae1adaab _pthread_body + 180
10  libsystem_pthread.dylib       	0x00007fffae1ad9f7 _pthread_start + 286
11  libsystem_pthread.dylib       	0x00007fffae1ad1fd thread_start + 13

Thread 5:
0   libsystem_kernel.dylib        	0x00007fffae0c344e __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fffae1ad791 _pthread_wqthread + 1426
2   libsystem_pthread.dylib       	0x00007fffae1ad1ed start_wqthread + 13

Thread 6:
0   libsystem_kernel.dylib        	0x00007fffae0c344e __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fffae1ad791 _pthread_wqthread + 1426
2   libsystem_pthread.dylib       	0x00007fffae1ad1ed start_wqthread + 13

Thread 7:
0   libsystem_kernel.dylib        	0x00007fffae0c344e __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fffae1ad791 _pthread_wqthread + 1426
2   libsystem_pthread.dylib       	0x00007fffae1ad1ed start_wqthread + 13

Thread 8:
0   libsystem_kernel.dylib        	0x00007fffae0c344e __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fffae1ad5fe _pthread_wqthread + 1023
2   libsystem_pthread.dylib       	0x00007fffae1ad1ed start_wqthread + 13

Thread 9:: WTF::AutomaticThread
0   libsystem_kernel.dylib        	0x00007fffae0c2bf2 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fffae1ae96a _pthread_cond_wait + 712
2   com.apple.JavaScriptCore      	0x00000001066a17b7 WTF::ThreadCondition::timedWait(WTF::Mutex&amp;, double) + 119
3   com.apple.JavaScriptCore      	0x0000000106687bd2 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda&lt;bool ()&gt; const&amp;, WTF::ScopedLambda&lt;void ()&gt; const&amp;, WTF::TimeWithDynamicClockType const&amp;) + 2706
4   com.apple.JavaScriptCore      	0x0000000105fc6f06 bool WTF::ConditionBase::waitUntil&lt;WTF::Lock&gt;(WTF::Lock&amp;, WTF::TimeWithDynamicClockType const&amp;) + 150
5   com.apple.JavaScriptCore      	0x0000000106669817 std::__1::__function::__func&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0, std::__1::allocator&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0&gt;, void ()&gt;::operator()() + 199
6   com.apple.JavaScriptCore      	0x00000001066a03b2 WTF::threadEntryPoint(void*) + 178
7   com.apple.JavaScriptCore      	0x00000001066a080f WTF::wtfThreadEntryPoint(void*) + 15
8   libsystem_pthread.dylib       	0x00007fffae1adaab _pthread_body + 180
9   libsystem_pthread.dylib       	0x00007fffae1ad9f7 _pthread_start + 286
10  libsystem_pthread.dylib       	0x00007fffae1ad1fd thread_start + 13

Thread 10:: WTF::AutomaticThread
0   libsystem_kernel.dylib        	0x00007fffae0c2bf2 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fffae1ae96a _pthread_cond_wait + 712
2   com.apple.JavaScriptCore      	0x00000001066a17b7 WTF::ThreadCondition::timedWait(WTF::Mutex&amp;, double) + 119
3   com.apple.JavaScriptCore      	0x0000000106687bd2 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda&lt;bool ()&gt; const&amp;, WTF::ScopedLambda&lt;void ()&gt; const&amp;, WTF::TimeWithDynamicClockType const&amp;) + 2706
4   com.apple.JavaScriptCore      	0x0000000105fc6f06 bool WTF::ConditionBase::waitUntil&lt;WTF::Lock&gt;(WTF::Lock&amp;, WTF::TimeWithDynamicClockType const&amp;) + 150
5   com.apple.JavaScriptCore      	0x0000000106669817 std::__1::__function::__func&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0, std::__1::allocator&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0&gt;, void ()&gt;::operator()() + 199
6   com.apple.JavaScriptCore      	0x00000001066a03b2 WTF::threadEntryPoint(void*) + 178
7   com.apple.JavaScriptCore      	0x00000001066a080f WTF::wtfThreadEntryPoint(void*) + 15
8   libsystem_pthread.dylib       	0x00007fffae1adaab _pthread_body + 180
9   libsystem_pthread.dylib       	0x00007fffae1ad9f7 _pthread_start + 286
10  libsystem_pthread.dylib       	0x00007fffae1ad1fd thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00000001103ab770  rcx: 0x0000000111eb22a0  rdx: 0x00000001103ab770
  rdi: 0x00000001103ab770  rsi: 0x0000000000000002  rbp: 0x00007fff5ad05d80  rsp: 0x00007fff5ad05d80
   r8: 0x00000000000000a2   r9: 0x0000000000000006  r10: 0x0000000000000001  r11: 0x0000000108d5e830
  r12: 0x0000000000000000  r13: 0x00000001103ab700  r14: 0x00000001103ac350  r15: 0x00000001103ac338
  rip: 0x0000000107cb0272  rfl: 0x0000000000000246  cr2: 0x0000000146de4000
  
Logical CPU:     18
Error Code:      0x00000000
Trap Number:     3
]]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289324</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-03-18 16:00:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/28683567&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398557</commentid>
    <comment_count>2</comment_count>
      <attachid>333651</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-12 17:26:44 -0800</bug_when>
    <thetext>Created attachment 333651
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398581</commentid>
    <comment_count>3</comment_count>
      <attachid>333662</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-12 19:32:28 -0800</bug_when>
    <thetext>Created attachment 333662
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398596</commentid>
    <comment_count>4</comment_count>
      <attachid>333662</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-02-12 20:24:58 -0800</bug_when>
    <thetext>Comment on attachment 333662
patch

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

Inspector test looks good to me. The rest too, but should get a more qualified review.

&gt; LayoutTests/inspector/debugger/reload-paused.html:16
&gt; +    let suite = InspectorTest.createAsyncSuite(&quot;Reloading paused page&quot;);

I&apos;d prefer a name like &quot;ReloadPaused&quot;

&gt; LayoutTests/inspector/debugger/reload-paused.html:19
&gt; +       name: &quot;No crash&quot;,

And here &quot;ReloadPausedNoCrash&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398602</commentid>
    <comment_count>5</comment_count>
      <attachid>333662</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-12 21:08:26 -0800</bug_when>
    <thetext>Comment on attachment 333662
patch

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

Looks sane to me.

r=me

&gt; Source/WebCore/ChangeLog:11
&gt; +        CachedRawResource::updateBuffer may generate unload event in client notify callback. If Inspector was

CachedRawResource::updateBuffer =&gt; updateBuffer()

&gt; Source/WebCore/ChangeLog:12
&gt; +        paused, this even would spawn a nested runloop. CachedRawResource::finishLoading would get called in

CachedRawResource::finishLoading =&gt; CachedRawResource::finishLoading()

&gt; Source/WebCore/ChangeLog:20
&gt; +        Set a bit when entering the client callback.
&gt; +        Ensure we don&apos;t re-enter updateBuffer.
&gt; +        If finishLoading got delayed during client callback, do it at the end.

This is OK as-is. I do not see the need to put each sentence on its own line. I suggest you removing the newlines and use the same approach as you did when writing the description for this ChangeLog and break long lines around 100 characters.

&gt; Source/WebCore/loader/cache/CachedRawResource.cpp:59
&gt; +    // Skip any updateBuffers triggered from nested runloops. We&apos;ll have complete buffer in finishLoading.

have =&gt; have the
updateBuffers =&gt; updateBuffers()
finishLoading =&gt; finishLoading()

&gt; Source/WebCore/loader/cache/CachedRawResource.cpp:84
&gt; +        auto buffer = WTFMove(m_delayedFinishLoadingData-&gt;buffer);
&gt; +        m_delayedFinishLoadingData = std::nullopt;
&gt; +        finishLoading(buffer.get());

I would have written this as:

auto delayedFinishLoadingData = std::exchange(m_delayedFinishLoadingData, std::nullopt);
finishLoading(delayedFinishLoadingData-&gt;buffer.get());

&gt; Source/WebCore/loader/cache/CachedRawResource.h:96
&gt; +    struct DelayedFinishLoadingData {
&gt; +        RefPtr&lt;SharedBuffer&gt; buffer;
&gt; +    };

I take it you feel that this struct improves the readability of the code or makes the code less error prone as opposed to using std::optional&lt;RefPtr&lt;SharedBuffer&gt;&gt; or defining DelayedFinishLoadingData to be a type alias for RefPtr&lt;SharedBuffer&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398603</commentid>
    <comment_count>6</comment_count>
      <attachid>333662</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-12 21:14:14 -0800</bug_when>
    <thetext>Comment on attachment 333662
patch

I am assuming that derived classes (e.g. CachedImage) that override CachedResource::{updateBuffer, finishLoading} do not call out to the embedding client or in some way cause reentrancy before calling into the base class (CachedRawResource). Otherwise we would need a similar fix to for derived classes that have this behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398636</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2018-02-13 03:56:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/27828570&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398669</commentid>
    <comment_count>8</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-13 09:29:00 -0800</bug_when>
    <thetext>This is the stack that messes up the loading state, btw:

(lldb) bt
* thread #1, queue = &apos;com.apple.main-thread&apos;, stop reason = breakpoint 2.1
  * frame #0: 0x00000003fa4e93b6 WebCore`WebCore::DocumentWriter::begin(this=0x000000040e6eb0b0, urlReference=0x00007ffeef05aa80, dispatch=false, ownerDocument=0x0000000000000000) at DocumentWriter.cpp:135
    frame #1: 0x00000003fa4ae1ee WebCore`WebCore::DocumentLoader::commitData(this=0x000000040e6eb000, bytes=0x0000000000000000, length=0) at DocumentLoader.cpp:942
    frame #2: 0x00000003fa4adc75 WebCore`WebCore::DocumentLoader::finishedLoading(this=0x000000040e6eb000) at DocumentLoader.cpp:425
    frame #3: 0x00000003fa4ada5d WebCore`WebCore::DocumentLoader::notifyFinished(this=0x000000040e6eb000, resource=0x000000040f2d7700) at DocumentLoader.cpp:379
    frame #4: 0x00000003fa4ade4c WebCore`non-virtual thunk to WebCore::DocumentLoader::notifyFinished(this=0x000000040e6eb000, resource=0x000000040f2d7700) at DocumentLoader.cpp:0
    frame #5: 0x00000003fa5d231d WebCore`WebCore::CachedResource::checkNotify(this=0x000000040f2d7700) at CachedResource.cpp:348
    frame #6: 0x00000003fa5c5041 WebCore`WebCore::CachedResource::finishLoading(this=0x000000040f2d7700, (null)=0x000000040f295a80) at CachedResource.cpp:364
    frame #7: 0x00000003fa5cf41c WebCore`WebCore::CachedRawResource::finishLoading(this=0x000000040f2d7700, data=0x000000040f295a80) at CachedRawResource.cpp:100
    frame #8: 0x00000003fa56c7a9 WebCore`WebCore::SubresourceLoader::didFinishLoading(this=0x000000040d7d3000, networkLoadMetrics=0x00007ffeef05b0c8) at SubresourceLoader.cpp:599
    frame #9: 0x000000010192559d WebKit`WebKit::WebResourceLoader::didFinishResourceLoad(this=0x000000040f299888, networkLoadMetrics=0x00007ffeef05b0c8) at WebResourceLoader.cpp:150
    frame #10: 0x000000010192917a WebKit`void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;, 0ul&gt;(object=0x000000040f299888, function=00 54 92 01 01 00 00 00 00 00 00 00 00 00 00 00, args=0x00007ffeef05b0c8, (null)=std::__1::index_sequence&lt;0UL&gt; @ 0x00007ffeef05aff0)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;) at HandleMessage.h:40
    frame #11: 0x0000000101928fe0 WebKit`void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(args=0x00007ffeef05b0c8, object=0x000000040f299888, function=00 54 92 01 01 00 00 00 00 00 00 00 00 00 00 00)(WebCore::NetworkLoadMetrics const&amp;)) at HandleMessage.h:46
    frame #12: 0x0000000101928346 WebKit`void IPC::handleMessage&lt;Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)&gt;(decoder=0x000000040d722ac8, object=0x000000040f299888, function=00 54 92 01 01 00 00 00 00 00 00 00 00 00 00 00)(WebCore::NetworkLoadMetrics const&amp;)) at HandleMessage.h:126
    frame #13: 0x00000001019279bc WebKit`WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(this=0x000000040f299888, connection=0x000000040d7ee1b8, decoder=0x000000040d722ac8) at WebResourceLoaderMessageReceiver.cpp:65
    frame #14: 0x0000000100f74bd9 WebKit`WebKit::NetworkProcessConnection::didReceiveMessage(this=0x000000040d7dc000, connection=0x000000040d7ee1b8, decoder=0x000000040d722ac8) at NetworkProcessConnection.cpp:69
    frame #15: 0x0000000100cfca83 WebKit`IPC::Connection::dispatchMessage(this=0x000000040d7ee1b8, decoder=0x000000040d722ac8) at Connection.cpp:907
    frame #16: 0x0000000100cf2068 WebKit`IPC::Connection::dispatchMessage(this=0x000000040d7ee1b8, message=unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt; @ 0x00007ffeef05b7b0) at Connection.cpp:934
    frame #17: 0x0000000100cfd08a WebKit`IPC::Connection::dispatchOneMessage(this=0x000000040d7ee1b8) at Connection.cpp:965
    frame #18: 0x0000000100d1564d WebKit`IPC::Connection::enqueueIncomingMessage(this=0x000000040d760148)::$_14::operator()() at Connection.cpp:901
    frame #19: 0x0000000100d155a9 WebKit`WTF::Function&lt;void ()&gt;::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(this=0x000000040d760140)::$_14&gt;::call() at Function.h:101
    frame #20: 0x00000004089dbefb JavaScriptCore`WTF::Function&lt;void ()&gt;::operator(this=0x00007ffeef05bc38)() const at Function.h:56
    frame #21: 0x0000000408a21043 JavaScriptCore`WTF::RunLoop::performWork(this=0x000000040d7f9000) at RunLoop.cpp:106
    frame #22: 0x0000000408a218e4 JavaScriptCore`WTF::RunLoop::performWork(context=0x000000040d7f9000) at RunLoopCF.cpp:38
    frame #23: 0x00007fff2ff8e271 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #24: 0x00007fff30047c6c CoreFoundation`__CFRunLoopDoSource0 + 108
    frame #25: 0x00007fff2ff70db0 CoreFoundation`__CFRunLoopDoSources0 + 208
    frame #26: 0x00007fff2ff7022d CoreFoundation`__CFRunLoopRun + 1293
    frame #27: 0x00007fff2ff6fa93 CoreFoundation`CFRunLoopRunSpecific + 483
    frame #28: 0x00007fff2f260ef6 HIToolbox`RunCurrentEventLoopInMode + 286
    frame #29: 0x00007fff2f260b6f HIToolbox`ReceiveNextEventCommon + 366
    frame #30: 0x00007fff2f2609e4 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #31: 0x00007fff2d4e94db AppKit`_DPSNextEvent + 2085
    frame #32: 0x00007fff2dc7f6f8 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
    frame #33: 0x00000003f89b5eb8 WebCore`WebCore::EventLoop::cycle(this=0x00007ffeef05d290) at EventLoopMac.mm:40
    frame #34: 0x00000003fa3b35c1 WebCore`WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal(this=0x000000040d7d5038) at PageScriptDebugServer.cpp:121
    frame #35: 0x00000003fa3b3545 WebCore`WebCore::PageScriptDebugServer::runEventLoopWhilePaused(this=0x000000040d7d5038) at PageScriptDebugServer.cpp:110
    frame #36: 0x00000004081c5624 JavaScriptCore`Inspector::ScriptDebugServer::handlePause(this=0x000000040d7d5038, vmEntryGlobalObject=0x000000040e7fcfb0, (null)=PausedForBreakpoint) at ScriptDebugServer.cpp:301
    frame #37: 0x0000000407a3dee1 JavaScriptCore`JSC::Debugger::pauseIfNeeded(this=0x000000040d7d5038, callFrame=0x00007ffeef05d690) at Debugger.cpp:739
    frame #38: 0x0000000407a3e1de JavaScriptCore`JSC::Debugger::updateCallFrame(this=0x000000040d7d5038, callFrame=0x00007ffeef05d690, action=AttemptPause) at Debugger.cpp:668
    frame #39: 0x0000000407a3e7f3 JavaScriptCore`JSC::Debugger::atStatement(this=0x000000040d7d5038, callFrame=0x00007ffeef05d690) at Debugger.cpp:787
    frame #40: 0x000000040821384a JavaScriptCore`JSC::Interpreter::debug(this=0x000000040d7fe728, callFrame=0x00007ffeef05d690, debugHookType=WillExecuteStatement) at Interpreter.cpp:1375
    frame #41: 0x00000004082e0073 JavaScriptCore`::llint_slow_path_debug(exec=0x00007ffeef05d690, pc=0x000000040d7d2e40) at LLIntSlowPaths.cpp:1596
    frame #42: 0x00000004074f490d JavaScriptCore`llint_entry at LowLevelInterpreter64.asm:58
    frame #43: 0x00000004074f3d65 JavaScriptCore`llint_entry at LowLevelInterpreter.asm:832
    frame #44: 0x00000004074ebc52 JavaScriptCore`vmEntryToJavaScript at LowLevelInterpreter64.asm:257
    frame #45: 0x000000040826c3de JavaScriptCore`JSC::JITCode::execute(this=0x000000040f271988, vm=0x000000040e500000, protoCallFrame=0x00007ffeef05d8d8) at JITCode.cpp:81
    frame #46: 0x0000000408211d65 JavaScriptCore`JSC::Interpreter::executeCall(this=0x000000040d7fe728, callFrame=0x000000040e7fd008, function=0x000000040e7ebea0, callType=JS, callData=0x00007ffeef05df20, thisValue=JSValue @ 0x00007ffeef05da00, args=0x00007ffeef05ddf0) at Interpreter.cpp:1028
    frame #47: 0x000000040847af1a JavaScriptCore`JSC::call(exec=0x000000040e7fd008, functionObject=JSValue @ 0x00007ffeef05da80, callType=JS, callData=0x00007ffeef05df20, thisValue=JSValue @ 0x00007ffeef05da78, args=0x00007ffeef05ddf0) at CallData.cpp:41
    frame #48: 0x000000040847aff9 JavaScriptCore`JSC::call(exec=0x000000040e7fd008, functionObject=JSValue @ 0x00007ffeef05db70, callType=JS, callData=0x00007ffeef05df20, thisValue=JSValue @ 0x00007ffeef05db68, args=0x00007ffeef05ddf0, returnedException=0x00007ffeef05de18) at CallData.cpp:48
    frame #49: 0x000000040847b29d JavaScriptCore`JSC::profiledCall(exec=0x000000040e7fd008, reason=Other, functionObject=JSValue @ 0x00007ffeef05dc00, callType=JS, callData=0x00007ffeef05df20, thisValue=JSValue @ 0x00007ffeef05dbf8, args=0x00007ffeef05ddf0, returnedException=0x00007ffeef05de18) at CallData.cpp:67
    frame #50: 0x00000003f990eb3b WebCore`WebCore::JSMainThreadExecState::profiledCall(exec=0x000000040e7fd008, reason=Other, functionObject=JSValue @ 0x00007ffeef05dc90, callType=JS, callData=0x00007ffeef05df20, thisValue=JSValue @ 0x00007ffeef05dc88, args=0x00007ffeef05ddf0, returnedException=0x00007ffeef05de18) at JSMainThreadExecState.h:72
    frame #51: 0x00000003f994c752 WebCore`WebCore::JSEventListener::handleEvent(this=0x000000040f2cd548, scriptExecutionContext=0x000000040f2cf000, event=0x000000040f2946e0) at JSEventListener.cpp:169
    frame #52: 0x00000003f9ebb392 WebCore`WebCore::EventTarget::fireEventListeners(this=0x000000040d7e1d40, event=0x000000040f2946e0, listeners=WebCore::EventListenerVector @ 0x00007ffeef05e158) at EventTarget.cpp:290
    frame #53: 0x00000003f9eb2dea WebCore`WebCore::EventTarget::fireEventListeners(this=0x000000040d7e1d40, event=0x000000040f2946e0) at EventTarget.cpp:232
    frame #54: 0x00000003fa63dab1 WebCore`WebCore::DOMWindow::dispatchEvent(this=0x000000040d7e1d40, event=0x000000040f2946e0, target=0x000000040f2cf000) at DOMWindow.cpp:2064
    frame #55: 0x00000003fa4f91ec WebCore`WebCore::FrameLoader::dispatchUnloadEvents(this=0x00007fd8c5436100, unloadEventPolicy=UnloadEventPolicyUnloadAndPageHide) at FrameLoader.cpp:3039
    frame #56: 0x00000003fa4f8db5 WebCore`WebCore::FrameLoader::stopLoading(this=0x00007fd8c5436100, unloadEventPolicy=UnloadEventPolicyUnloadAndPageHide) at FrameLoader.cpp:472
    frame #57: 0x00000003fa4f96e5 WebCore`WebCore::FrameLoader::closeURL(this=0x00007fd8c5436100) at FrameLoader.cpp:537
    frame #58: 0x00000003fa5055a5 WebCore`WebCore::FrameLoader::detachFromParent(this=0x00007fd8c5436100) at FrameLoader.cpp:2585
    frame #59: 0x00000003fa4fd890 WebCore`WebCore::FrameLoader::detachChildren(this=0x00007fd8c5538310) at FrameLoader.cpp:2504
    frame #60: 0x00000003fa4f764b WebCore`WebCore::FrameLoader::setDocumentLoader(this=0x00007fd8c5538310, loader=0x000000040e6eb000) at FrameLoader.cpp:1775
    frame #61: 0x00000003fa503046 WebCore`WebCore::FrameLoader::transitionToCommitted(this=0x00007fd8c5538310, cachedPage=0x0000000000000000) at FrameLoader.cpp:1998
    frame #62: 0x00000003fa50235a WebCore`WebCore::FrameLoader::commitProvisionalLoad(this=0x00007fd8c5538310) at FrameLoader.cpp:1871
    frame #63: 0x00000003fa4ad8ec WebCore`WebCore::DocumentLoader::commitIfReady(this=0x000000040e6eb000) at DocumentLoader.cpp:354
    frame #64: 0x00000003fa4b1fec WebCore`WebCore::DocumentLoader::commitLoad(this=0x000000040e6eb000, data=&quot;&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;iframe src=\&quot;unload-with-inspector-at-breakpoint-crash-frame.html\&quot; width=\&quot;500\&quot; height=\&quot;500\&quot;&gt;&lt;/iframe&gt;\n&lt;/body&gt;\n&lt;/html&gt;&quot;, length=162) at DocumentLoader.cpp:903
    frame #65: 0x00000003fa4b1f8f WebCore`WebCore::DocumentLoader::dataReceived(this=0x000000040e6eb000, data=&quot;&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;iframe src=\&quot;unload-with-inspector-at-breakpoint-crash-frame.html\&quot; width=\&quot;500\&quot; height=\&quot;500\&quot;&gt;&lt;/iframe&gt;\n&lt;/body&gt;\n&lt;/html&gt;&quot;, length=162) at DocumentLoader.cpp:1050
    frame #66: 0x00000003fa4b2894 WebCore`WebCore::DocumentLoader::dataReceived(this=0x000000040e6eb000, resource=0x000000040f2d7700, data=&quot;&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;iframe src=\&quot;unload-with-inspector-at-breakpoint-crash-frame.html\&quot; width=\&quot;500\&quot; height=\&quot;500\&quot;&gt;&lt;/iframe&gt;\n&lt;/body&gt;\n&lt;/html&gt;&quot;, length=162) at DocumentLoader.cpp:1023
    frame #67: 0x00000003fa4b28da WebCore`non-virtual thunk to WebCore::DocumentLoader::dataReceived(this=0x000000040e6eb000, resource=0x000000040f2d7700, data=&quot;&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;iframe src=\&quot;unload-with-inspector-at-breakpoint-crash-frame.html\&quot; width=\&quot;500\&quot; height=\&quot;500\&quot;&gt;&lt;/iframe&gt;\n&lt;/body&gt;\n&lt;/html&gt;&quot;, length=162) at DocumentLoader.cpp:0
    frame #68: 0x00000003fa5cf178 WebCore`WebCore::CachedRawResource::notifyClientsDataWasReceived(this=0x000000040f2d7700, data=&quot;&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;iframe src=\&quot;unload-with-inspector-at-breakpoint-crash-frame.html\&quot; width=\&quot;500\&quot; height=\&quot;500\&quot;&gt;&lt;/iframe&gt;\n&lt;/body&gt;\n&lt;/html&gt;&quot;, length=162) at CachedRawResource.cpp:116
    frame #69: 0x00000003fa5cf00d WebCore`WebCore::CachedRawResource::updateBuffer(this=0x000000040f2d7700, data=0x000000040f295a80) at CachedRawResource.cpp:65
    frame #70: 0x00000003fa56de6a WebCore`WebCore::SubresourceLoader::didReceiveDataOrBuffer(this=0x000000040d7d3000, data=&quot;&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;iframe src=\&quot;unload-with-inspector-at-breakpoint-crash-frame.html\&quot; width=\&quot;500\&quot; height=\&quot;500\&quot;&gt;&lt;/iframe&gt;\n&lt;/body&gt;\n&lt;/html&gt;&quot;, length=162, buffer=0x00007ffeef05f3f0, encodedDataLength=162, dataPayloadType=DataPayloadBytes) at SubresourceLoader.cpp:430
    frame #71: 0x00000003fa56dc32 WebCore`WebCore::SubresourceLoader::didReceiveData(this=0x000000040d7d3000, data=&quot;&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;iframe src=\&quot;unload-with-inspector-at-breakpoint-crash-frame.html\&quot; width=\&quot;500\&quot; height=\&quot;500\&quot;&gt;&lt;/iframe&gt;\n&lt;/body&gt;\n&lt;/html&gt;&quot;, length=162, encodedDataLength=162, dataPayloadType=DataPayloadBytes) at SubresourceLoader.cpp:398
    frame #72: 0x00000001019252d4 WebKit`WebKit::WebResourceLoader::didReceiveData(this=0x000000040f299888, data=0x00007ffeef05f5f0, encodedDataLength=162) at WebResourceLoader.cpp:134
    frame #73: 0x0000000101928f40 WebKit`void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&amp;, long long), std::__1::tuple&lt;IPC::DataReference, long long&gt;, 0ul, 1ul&gt;(object=0x000000040f299888, function=e0 50 92 01 01 00 00 00 00 00 00 00 00 00 00 00, args=0x00007ffeef05f5f0, (null)=std::__1::index_sequence&lt;0UL, 1UL&gt; @ 0x00007ffeef05f4f8)(IPC::DataReference const&amp;, long long), std::__1::tuple&lt;IPC::DataReference, long long&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt;) at HandleMessage.h:40
    frame #74: 0x0000000101928e70 WebKit`void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&amp;, long long), std::__1::tuple&lt;IPC::DataReference, long long&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt; &gt;(args=0x00007ffeef05f5f0, object=0x000000040f299888, function=e0 50 92 01 01 00 00 00 00 00 00 00 00 00 00 00)(IPC::DataReference const&amp;, long long)) at HandleMessage.h:46
    frame #75: 0x0000000101928201 WebKit`void IPC::handleMessage&lt;Messages::WebResourceLoader::DidReceiveData, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&amp;, long long)&gt;(decoder=0x000000040d722a50, object=0x000000040f299888, function=e0 50 92 01 01 00 00 00 00 00 00 00 00 00 00 00)(IPC::DataReference const&amp;, long long)) at HandleMessage.h:126
    frame #76: 0x0000000101927936 WebKit`WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(this=0x000000040f299888, connection=0x000000040d7ee1b8, decoder=0x000000040d722a50) at WebResourceLoaderMessageReceiver.cpp:61
    frame #77: 0x0000000100f74bd9 WebKit`WebKit::NetworkProcessConnection::didReceiveMessage(this=0x000000040d7dc000, connection=0x000000040d7ee1b8, decoder=0x000000040d722a50) at NetworkProcessConnection.cpp:69
    frame #78: 0x0000000100cfca83 WebKit`IPC::Connection::dispatchMessage(this=0x000000040d7ee1b8, decoder=0x000000040d722a50) at Connection.cpp:907
    frame #79: 0x0000000100cf2068 WebKit`IPC::Connection::dispatchMessage(this=0x000000040d7ee1b8, message=unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt; @ 0x00007ffeef05fbe0) at Connection.cpp:934
    frame #80: 0x0000000100cfd08a WebKit`IPC::Connection::dispatchOneMessage(this=0x000000040d7ee1b8) at Connection.cpp:965
    frame #81: 0x0000000100d1564d WebKit`IPC::Connection::enqueueIncomingMessage(this=0x000000040d760138)::$_14::operator()() at Connection.cpp:901
    frame #82: 0x0000000100d155a9 WebKit`WTF::Function&lt;void ()&gt;::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(this=0x000000040d760130)::$_14&gt;::call() at Function.h:101
    frame #83: 0x00000004089dbefb JavaScriptCore`WTF::Function&lt;void ()&gt;::operator(this=0x00007ffeef060068)() const at Function.h:56
    frame #84: 0x0000000408a21043 JavaScriptCore`WTF::RunLoop::performWork(this=0x000000040d7f9000) at RunLoop.cpp:106
    frame #85: 0x0000000408a218e4 JavaScriptCore`WTF::RunLoop::performWork(context=0x000000040d7f9000) at RunLoopCF.cpp:38
    frame #86: 0x00007fff2ff8e271 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #87: 0x00007fff30047c6c CoreFoundation`__CFRunLoopDoSource0 + 108
    frame #88: 0x00007fff2ff70db0 CoreFoundation`__CFRunLoopDoSources0 + 208
    frame #89: 0x00007fff2ff7022d CoreFoundation`__CFRunLoopRun + 1293
    frame #90: 0x00007fff2ff6fa93 CoreFoundation`CFRunLoopRunSpecific + 483
    frame #91: 0x00007fff2f260ef6 HIToolbox`RunCurrentEventLoopInMode + 286
    frame #92: 0x00007fff2f260c66 HIToolbox`ReceiveNextEventCommon + 613
    frame #93: 0x00007fff2f2609e4 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #94: 0x00007fff2d4e94db AppKit`_DPSNextEvent + 2085
    frame #95: 0x00007fff2dc7f6f8 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
    frame #96: 0x00007fff2d4de2ed AppKit`-[NSApplication run] + 764
    frame #97: 0x00007fff2d4ad4c6 AppKit`NSApplicationMain + 804
    frame #98: 0x00007fff58a75f83 libxpc.dylib`_xpc_objc_main + 580
    frame #99: 0x00007fff58a74bd6 libxpc.dylib`xpc_main + 417
    frame #100: 0x0000000100b9f13b com.apple.WebKit.WebContent.Development`main(argc=1, argv=0x00007ffeef061a18) at XPCServiceMain.mm:148
    frame #101: 0x00007fff58727015 libdyld.dylib`start + 1
    frame #102: 0x00007fff58727015 libdyld.dylib`start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398672</commentid>
    <comment_count>9</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-13 09:31:17 -0800</bug_when>
    <thetext>
&gt; &gt; I take it you feel that this struct improves the readability of the code or
&gt; makes the code less error prone as opposed to using
&gt; std::optional&lt;RefPtr&lt;SharedBuffer&gt;&gt; or defining DelayedFinishLoadingData to
&gt; be a type alias for RefPtr&lt;SharedBuffer&gt;.

Yeah, nullable types as optionals can be bit awkward and confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398677</commentid>
    <comment_count>10</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-13 09:34:05 -0800</bug_when>
    <thetext>(In reply to Daniel Bates from comment #6)
&gt; Comment on attachment 333662 [details]
&gt; patch
&gt; 
&gt; I am assuming that derived classes (e.g. CachedImage) that override
&gt; CachedResource::{updateBuffer, finishLoading} do not call out to the
&gt; embedding client or in some way cause reentrancy before calling into the
&gt; base class (CachedRawResource). Otherwise we would need a similar fix to for
&gt; derived classes that have this behavior.

Most subtypes don&apos;t stream the data at all or the streaming won&apos;t cause events to be sent. It is still possible that something else has the same problem, however it is better to do a conservative fix at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398683</commentid>
    <comment_count>11</comment_count>
      <attachid>333697</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-13 09:56:36 -0800</bug_when>
    <thetext>Created attachment 333697
for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398684</commentid>
    <comment_count>12</comment_count>
      <attachid>333698</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-02-13 09:58:59 -0800</bug_when>
    <thetext>Created attachment 333698
for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398784</commentid>
    <comment_count>13</comment_count>
      <attachid>333698</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-13 14:39:52 -0800</bug_when>
    <thetext>Comment on attachment 333698
for landing

Clearing flags on attachment: 333698

Committed r228435: &lt;https://trac.webkit.org/changeset/228435&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398785</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-13 14:39:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>304883</attachid>
            <date>2017-03-18 16:00:05 -0700</date>
            <delta_ts>2017-03-18 16:00:05 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>Test.zip</filename>
            <type>application/zip</type>
            <size>2146</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAEJ+ckoAAAAAAAAAAAAAAAAFABAAVGVzdC9VWAwAoLnNWJu5zVj1ARQAUEsDBBQA
CAAIAOx9ckoAAAAAAAAAAAAAAAA5ABAAVGVzdC91bmxvYWQtd2l0aC1pbnNwZWN0b3ItYXQtYnJl
YWtwb2ludC1jcmFzaC1mcmFtZS5odG1sVVgMABO5zVj7uM1Y9QEUAG2SMW/DIBCFd/+Kq6d2MXtK
LFVJhk6NmnTIeLHPBgWDBVhWVfW/93DsSInKgjjB9969Qz5tPzbH034HKnamzOSyEda8hcrrPpZZ
M9gqamdBoa0NfVnjsH5+yX4y4OUpDt5CgybQKwgBB4qAcPaEl95py4cIUekARlsqst9MioUsxSx1
dvU3ODtM6HU+M+/1cr7Xlyc3QIUWhkBXaqTAfAdkw+BTjeVGgtqBdREqj0HBqIhpOkZt23tv2gZd
EzBQVq6mcvEgxXScLfgC9uQb5zvmEzTOGDcyayVFz64ch5aikEaX7zb0VM0dNx47KqTg+u3C//Ew
VHtuJGXEpmY39wHMnh54G6OrC0gE5alZ5yrGfiXEOI7FSOeLjoXzbV4q8iQFPj7+pISe9Dtk2R7b
xa8Uqa3jLeL92+Gw24JuQEdOl8I1X0yDwGvOBT9Kk5wGm77SH1BLBwjgnzKiUwEAAGECAABQSwME
CgAAAAAARH5ySgAAAAAAAAAAAAAAAAkAEABfX01BQ09TWC9VWAwAoLnNWKC5zVj1ARQAUEsDBAoA
AAAAAER+ckoAAAAAAAAAAAAAAAAOABAAX19NQUNPU1gvVGVzdC9VWAwAoLnNWKC5zVj1ARQAUEsD
BBQACAAIAOx9ckoAAAAAAAAAAAAAAABEABAAX19NQUNPU1gvVGVzdC8uX3VubG9hZC13aXRoLWlu
c3BlY3Rvci1hdC1icmVha3BvaW50LWNyYXNoLWZyYW1lLmh0bWxVWAwAE7nNWPu4zVj1ARQAY2AV
Y2dgYmDwTUxW8A9WiFCAApAYAycQGwHxYyAG8hlFGYgCjiEhQRAWWMcJIPZFU8IEFddiYFBJzs/V
SywoyEnVy00tSUxJLEm0is/2dfEsSc0NLU4tCklMLwbr+QTEygwMoiD1uYnJRfm5iSWpxXrJiUWp
JQxJBTmZxSUGBgs4oDYzQm1iRLOZs5oL5L/k/JzS3DwFWwUjM2uwQE5mXiqQa2hszVULAFBLBwj6
wNh/qQAAABUBAABQSwMEFAAIAAgA4H1ySgAAAAAAAAAAAAAAADMAEABUZXN0L3VubG9hZC13aXRo
LWluc3BlY3Rvci1hdC1icmVha3BvaW50LWNyYXNoLmh0bWxVWAwAE7nNWOO4zVj1ARQANY49E8Ig
EER7fwXSn6SxI2nUWgsbywugd2MCGTgn4783X1Zvtti3a/fn6+n+uF0USd81O/tHQD/BbGyT/07g
Z8Y+qJJdrT+xS+hhZCHgWIbgJGVAgTYHfA+Jo4DLWAiW0mEWazWyF6r1saq0osAvkjU01qzyeXRb
M8uXH1BLBwg9onO6fAAAAKIAAABQSwMEFAAIAAgA4H1ySgAAAAAAAAAAAAAAAD4AEABfX01BQ09T
WC9UZXN0Ly5fdW5sb2FkLXdpdGgtaW5zcGVjdG9yLWF0LWJyZWFrcG9pbnQtY3Jhc2guaHRtbFVY
DAATuc1Y47jNWPUBFABjYBVjZ2BiYPBNTFbwD1aIUIACkBgDJxAbAfEjIAbyGUUYiAKOISFBEBZY
xwkg9kFTwgQV12JgUEnOz9VLLCjISdXLTS1JTEksSbSKz/Z18SxJzQ0tTi0KSUwvBuv5BMRKDAyi
IPW5iclF+bmJJanFesmJRaklDEkFOZnFJQYGCzigNjNCbWJEs5mzmgvkv+T8nNLcPAVbBTMDa7BA
TmZeKpBras1VCwBQSwcIZqIsrqgAAAAUAQAAUEsBAhUDCgAAAAAAQn5ySgAAAAAAAAAAAAAAAAUA
DAAAAAAAAAAAQO1BAAAAAFRlc3QvVVgIAKC5zVibuc1YUEsBAhUDFAAIAAgA7H1ySuCfMqJTAQAA
YQIAADkADAAAAAAAAAAAQKSBMwAAAFRlc3QvdW5sb2FkLXdpdGgtaW5zcGVjdG9yLWF0LWJyZWFr
cG9pbnQtY3Jhc2gtZnJhbWUuaHRtbFVYCAATuc1Y+7jNWFBLAQIVAwoAAAAAAER+ckoAAAAAAAAA
AAAAAAAJAAwAAAAAAAAAAED9Qf0BAABfX01BQ09TWC9VWAgAoLnNWKC5zVhQSwECFQMKAAAAAABE
fnJKAAAAAAAAAAAAAAAADgAMAAAAAAAAAABA/UE0AgAAX19NQUNPU1gvVGVzdC9VWAgAoLnNWKC5
zVhQSwECFQMUAAgACADsfXJK+sDYf6kAAAAVAQAARAAMAAAAAAAAAABApIFwAgAAX19NQUNPU1gv
VGVzdC8uX3VubG9hZC13aXRoLWluc3BlY3Rvci1hdC1icmVha3BvaW50LWNyYXNoLWZyYW1lLmh0
bWxVWAgAE7nNWPu4zVhQSwECFQMUAAgACADgfXJKPaJzunwAAACiAAAAMwAMAAAAAAAAAABApIGb
AwAAVGVzdC91bmxvYWQtd2l0aC1pbnNwZWN0b3ItYXQtYnJlYWtwb2ludC1jcmFzaC5odG1sVVgI
ABO5zVjjuM1YUEsBAhUDFAAIAAgA4H1ySmaiLK6oAAAAFAEAAD4ADAAAAAAAAAAAQKSBiAQAAF9f
TUFDT1NYL1Rlc3QvLl91bmxvYWQtd2l0aC1pbnNwZWN0b3ItYXQtYnJlYWtwb2ludC1jcmFzaC5o
dG1sVVgIABO5zVjjuM1YUEsFBgAAAAAHAAcAoAIAAKwFAAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333651</attachid>
            <date>2018-02-12 17:26:44 -0800</date>
            <delta_ts>2018-02-12 19:32:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>rawresource-nested-finish-crash.patch</filename>
            <type>text/plain</type>
            <size>6879</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyODQxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAyLTEyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCB3aGVuIGJyZWFrcG9p
bnQgaGl0IGluIHVubG9hZCBoYW5kbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjk4NTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4NjgzNTY3
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGluc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLmh0bWwKKworICAgICAgICBDYWNoZWRS
YXdSZXNvdXJjZTo6dXBkYXRlQnVmZmVyIG1heSBnZW5lcmF0ZSB1bmxvYWQgZXZlbnQgaW4gY2xp
ZW50IG5vdGlmeSBjYWxsYmFjay4gSWYgSW5zcGVjdG9yIHdhcworICAgICAgICBwYXVzZWQsIHRo
aXMgZXZlbiB3b3VsZCBzcGF3biBhIG5lc3RlZCBydW5sb29wLiBDYWNoZWRSYXdSZXNvdXJjZTo6
ZmluaXNoTG9hZGluZyB3b3VsZCBnZXQgY2FsbGVkIGluCisgICAgICAgIHRoZSBuZXN0ZWQgbG9v
cCwgY29uZnVzaW5nIHRoZSBEb2N1bWVudExvYWRlciBzdGF0ZSBtYWNoaW5lIGFuZCByZXN1bHRp
bmcgaW4gY3Jhc2hlcyBsYXRlci4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSYXdS
ZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSYXdSZXNvdXJjZTo6dXBkYXRl
QnVmZmVyKToKKworICAgICAgICBTZXQgYSBiaXQgd2hlbiBlbnRlcmluZyB0aGUgY2xpZW50IGNh
bGxiYWNrLgorICAgICAgICBFbnN1cmUgd2UgZG9uJ3QgcmUtZW50ZXIgdXBkYXRlQnVmZmVyLgor
ICAgICAgICBJZiBmaW5pc2hMb2FkaW5nIGdvdCBkZWxheWVkIGR1cmluZyBjbGllbnQgY2FsbGJh
Y2ssIGRvIGl0IGF0IHRoZSBlbmQuCisKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291
cmNlOjpmaW5pc2hMb2FkaW5nKToKKworICAgICAgICBJZiB3ZSBhcmUgaW4gdXBkYXRlQnVmZmVy
IGNsaWVudCBjYWxsYmFjaywgc2F2ZSB0aGUgYnVmZmVyIGFuZCBiYWlsIG91dC4KKworICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5oOgorCiAyMDE4LTAyLTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBJbnRyb2R1Y2UgUmVuZGVyVHJlZWJ1aWxkZXI6OnRha2VDaGlsZApJbmRleDogU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3BwCShyZXZpc2lv
biAyMjgzODQpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3Vy
Y2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiU2hhcmVk
QnVmZmVyLmgiCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYv
Q29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1
LDIyICs1NiwzMyBAQCBzdGQ6Om9wdGlvbmFsPFNoYXJlZEJ1ZmZlckRhdGFWaWV3PiBDYWNoCiAK
IHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6OnVwZGF0ZUJ1ZmZlcihTaGFyZWRCdWZmZXImIGRhdGEp
CiB7CisgICAgLy8gU2tpcCBhbnkgdXBkYXRlQnVmZmVycyB0cmlnZ2VyZWQgZnJvbSBuZXN0ZWQg
cnVubG9vcHMuIFdlJ2xsIGhhdmUgY29tcGxldGUgYnVmZmVyIGluIGZpbmlzaExvYWRpbmcuCisg
ICAgaWYgKG1faW5JbmNyZW1lbnRhbERhdGFOb3RpZnkpCisgICAgICAgIHJldHVybjsKKwogICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiBwcm90ZWN0ZWRUaGlzKHRo
aXMpOwogICAgIEFTU0VSVChkYXRhQnVmZmVyaW5nUG9saWN5KCkgPT0gQnVmZmVyRGF0YSk7CiAg
ICAgbV9kYXRhID0gJmRhdGE7CiAKICAgICBhdXRvIGluY3JlbWVudGFsRGF0YSA9IGNhbGN1bGF0
ZUluY3JlbWVudGFsRGF0YUNodW5rKCZkYXRhKTsKICAgICBzZXRFbmNvZGVkU2l6ZShkYXRhLnNp
emUoKSk7Ci0gICAgaWYgKGluY3JlbWVudGFsRGF0YSkKKyAgICBpZiAoaW5jcmVtZW50YWxEYXRh
KSB7CisgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG5vdGlmeVNjb3BlKG1faW5JbmNyZW1lbnRh
bERhdGFOb3RpZnksIHRydWUpOwogICAgICAgICBub3RpZnlDbGllbnRzRGF0YVdhc1JlY2VpdmVk
KGluY3JlbWVudGFsRGF0YS0+ZGF0YSgpLCBpbmNyZW1lbnRhbERhdGEtPnNpemUoKSk7CisgICAg
fQorCiAgICAgaWYgKGRhdGFCdWZmZXJpbmdQb2xpY3koKSA9PSBEb05vdEJ1ZmZlckRhdGEpIHsK
ICAgICAgICAgaWYgKG1fbG9hZGVyKQogICAgICAgICAgICAgbV9sb2FkZXItPnNldERhdGFCdWZm
ZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICAgICAgY2xlYXIoKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0
ZUJ1ZmZlcihkYXRhKTsKIAotICAgIENhY2hlZFJlc291cmNlOjp1cGRhdGVCdWZmZXIoZGF0YSk7
CisgICAgaWYgKG1fZGVsYXllZEZpbmlzaExvYWRpbmdEYXRhKSB7CisgICAgICAgIGF1dG8gYnVm
ZmVyID0gV1RGTW92ZShtX2RlbGF5ZWRGaW5pc2hMb2FkaW5nRGF0YS0+YnVmZmVyKTsKKyAgICAg
ICAgbV9kZWxheWVkRmluaXNoTG9hZGluZ0RhdGEgPSBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGZp
bmlzaExvYWRpbmcoYnVmZmVyLmdldCgpKTsKKyAgICB9CiB9CiAKIHZvaWQgQ2FjaGVkUmF3UmVz
b3VyY2U6OnVwZGF0ZURhdGEoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQpAQCAt
ODIsNiArOTQsMTIgQEAgdm9pZCBDYWNoZWRSYXdSZXNvdXJjZTo6dXBkYXRlRGF0YShjb25zdAog
CiB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjpmaW5pc2hMb2FkaW5nKFNoYXJlZEJ1ZmZlciogZGF0
YSkKIHsKKyAgICBpZiAobV9pbkluY3JlbWVudGFsRGF0YU5vdGlmeSkgeworICAgICAgICAvLyBX
ZSBtYXkgZ2V0IGhlcmUgc3luY2hyb25vdXNseSBmcm9tIHVwZGF0ZUJ1ZmZlcigpIGlmIHRoZSBj
YWxsYmFjayB0aGVyZSBlbmRzIHVwIHNwaW5uaW5nIGEgcnVubG9vcC4KKyAgICAgICAgLy8gSW4g
dGhhdCBjYXNlIGRlbGF5IHRoZSBjYWxsLgorICAgICAgICBtX2RlbGF5ZWRGaW5pc2hMb2FkaW5n
RGF0YSA9IHN0ZDo6bWFrZV9vcHRpb25hbChEZWxheWVkRmluaXNoTG9hZGluZ0RhdGEgeyBkYXRh
IH0pOworICAgICAgICByZXR1cm47CisgICAgfTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRSYXdSZXNvdXJjZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKICAgICBEYXRhQnVmZmVyaW5n
UG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3kgPSB0aGlzLT5kYXRhQnVmZmVyaW5nUG9saWN5KCk7
CiAgICAgaWYgKGRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gQnVmZmVyRGF0YSkgewpJbmRleDogU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgJKHJldmlz
aW9uIDIyODM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNv
dXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw3IEBAIHByaXZhdGU6CiAKICAgICB1
bnNpZ25lZCBsb25nIG1faWRlbnRpZmllcjsKICAgICBib29sIG1fYWxsb3dFbmNvZGVkRGF0YVJl
cGxhY2VtZW50OworICAgIGJvb2wgbV9pbkluY3JlbWVudGFsRGF0YU5vdGlmeSB7IGZhbHNlIH07
CiAKICAgICBzdHJ1Y3QgUmVkaXJlY3RQYWlyIHsKICAgICBwdWJsaWM6CkBAIC04OSw2ICs5MCwx
MSBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBWZWN0b3I8UmVkaXJlY3RQYWlyPiBtX3JlZGly
ZWN0Q2hhaW47CisKKyAgICBzdHJ1Y3QgRGVsYXllZEZpbmlzaExvYWRpbmdEYXRhIHsKKyAgICAg
ICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyOworICAgIH07CisgICAgc3RkOjpvcHRpb25h
bDxEZWxheWVkRmluaXNoTG9hZGluZ0RhdGE+IG1fZGVsYXllZEZpbmlzaExvYWRpbmdEYXRhOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjI4Mzg0KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTgtMDItMTIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAg
IENyYXNoIHdoZW4gYnJlYWtwb2ludCBoaXQgaW4gdW5sb2FkIGhhbmRsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTg1NQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjg2ODM1Njc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2Vk
Lmh0bWw6IEFkZGVkLgorCiAyMDE4LTAyLTEyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYXJrIGltcG9ydGVkL21vemlsbGEvc3ZnL2NvbmRpdGlvbnMt
MDcuc3ZnIGFzIGEgZmxha3kgZmFpbHVyZSBvbiBXaW5kb3dzLgpJbmRleDogTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVzZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVs
b2FkLXBhdXNlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACitt
YWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorbWFpbiBmcmFtZSAtIGhhcyAx
IG9udW5sb2FkIGhhbmRsZXIocykKK1Rlc3QgdGhhdCByZWxvYWRpbmcgYSBwYXVzZWQgcGFnZSBk
b2Vzbid0IGNyYXNoLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGVzdAorLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IENyYXNoIG9uIHJlbG9hZGluZyBwYXVzZWQgcGFnZQorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLmh0bWwJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVz
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvYnJlYWstb24tZXhjZXB0aW9uLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiB1bmxvYWRIYW5kbGVyKCkKK3sKKyAgICBkZWJ1Z2dlcjsKK30KKworZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFsbEV4Y2VwdGlvbnNCcmVha3BvaW50
LmRpc2FibGVkID0gZmFsc2U7CisKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0
ZUFzeW5jU3VpdGUoIlRlc3QiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICBu
YW1lOiAiQ3Jhc2ggb24gcmVsb2FkaW5nIHBhdXNlZCBwYWdlIiwKKyAgICAgICBhc3luYyB0ZXN0
KCkgeworICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoKTsKKyAgICAgICAgICAg
YXdhaXQgV0kuZGVidWdnZXJNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuRGVidWdnZXJNYW5hZ2VyLkV2
ZW50LlBhdXNlZCk7CisgICAgICAgICAgIGF3YWl0IFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUo
KTsKKyAgICAgICB9CisgICB9KTsKKworICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIiBvbnVubG9h
ZD0idW5sb2FkSGFuZGxlcigpIj4KKzxwPlRlc3QgdGhhdCByZWxvYWRpbmcgYSBwYXVzZWQgcGFn
ZSBkb2Vzbid0IGNyYXNoLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333662</attachid>
            <date>2018-02-12 19:32:28 -0800</date>
            <delta_ts>2018-02-13 09:56:36 -0800</delta_ts>
            <desc>patch</desc>
            <filename>rawresource-nested-finish-crash-2.patch</filename>
            <type>text/plain</type>
            <size>6869</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyODQxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAyLTEyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCB3aGVuIGJyZWFrcG9p
bnQgaGl0IGluIHVubG9hZCBoYW5kbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjk4NTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4NjgzNTY3
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGluc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLmh0bWwKKworICAgICAgICBDYWNoZWRS
YXdSZXNvdXJjZTo6dXBkYXRlQnVmZmVyIG1heSBnZW5lcmF0ZSB1bmxvYWQgZXZlbnQgaW4gY2xp
ZW50IG5vdGlmeSBjYWxsYmFjay4gSWYgSW5zcGVjdG9yIHdhcworICAgICAgICBwYXVzZWQsIHRo
aXMgZXZlbiB3b3VsZCBzcGF3biBhIG5lc3RlZCBydW5sb29wLiBDYWNoZWRSYXdSZXNvdXJjZTo6
ZmluaXNoTG9hZGluZyB3b3VsZCBnZXQgY2FsbGVkIGluCisgICAgICAgIHRoZSBuZXN0ZWQgbG9v
cCwgY29uZnVzaW5nIHRoZSBEb2N1bWVudExvYWRlciBzdGF0ZSBtYWNoaW5lIGFuZCByZXN1bHRp
bmcgaW4gY3Jhc2hlcyBsYXRlci4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSYXdS
ZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSYXdSZXNvdXJjZTo6dXBkYXRl
QnVmZmVyKToKKworICAgICAgICBTZXQgYSBiaXQgd2hlbiBlbnRlcmluZyB0aGUgY2xpZW50IGNh
bGxiYWNrLgorICAgICAgICBFbnN1cmUgd2UgZG9uJ3QgcmUtZW50ZXIgdXBkYXRlQnVmZmVyLgor
ICAgICAgICBJZiBmaW5pc2hMb2FkaW5nIGdvdCBkZWxheWVkIGR1cmluZyBjbGllbnQgY2FsbGJh
Y2ssIGRvIGl0IGF0IHRoZSBlbmQuCisKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291
cmNlOjpmaW5pc2hMb2FkaW5nKToKKworICAgICAgICBJZiB3ZSBhcmUgaW4gdXBkYXRlQnVmZmVy
IGNsaWVudCBjYWxsYmFjaywgc2F2ZSB0aGUgYnVmZmVyIGFuZCBiYWlsIG91dC4KKworICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5oOgorCiAyMDE4LTAyLTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBJbnRyb2R1Y2UgUmVuZGVyVHJlZWJ1aWxkZXI6OnRha2VDaGlsZApJbmRleDogU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3BwCShyZXZpc2lv
biAyMjgzODQpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3Vy
Y2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiU2hhcmVk
QnVmZmVyLmgiCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYv
Q29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1
LDIyICs1NiwzMyBAQCBzdGQ6Om9wdGlvbmFsPFNoYXJlZEJ1ZmZlckRhdGFWaWV3PiBDYWNoCiAK
IHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6OnVwZGF0ZUJ1ZmZlcihTaGFyZWRCdWZmZXImIGRhdGEp
CiB7CisgICAgLy8gU2tpcCBhbnkgdXBkYXRlQnVmZmVycyB0cmlnZ2VyZWQgZnJvbSBuZXN0ZWQg
cnVubG9vcHMuIFdlJ2xsIGhhdmUgY29tcGxldGUgYnVmZmVyIGluIGZpbmlzaExvYWRpbmcuCisg
ICAgaWYgKG1faW5JbmNyZW1lbnRhbERhdGFOb3RpZnkpCisgICAgICAgIHJldHVybjsKKwogICAg
IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNlPiBwcm90ZWN0ZWRUaGlzKHRo
aXMpOwogICAgIEFTU0VSVChkYXRhQnVmZmVyaW5nUG9saWN5KCkgPT0gQnVmZmVyRGF0YSk7CiAg
ICAgbV9kYXRhID0gJmRhdGE7CiAKICAgICBhdXRvIGluY3JlbWVudGFsRGF0YSA9IGNhbGN1bGF0
ZUluY3JlbWVudGFsRGF0YUNodW5rKCZkYXRhKTsKICAgICBzZXRFbmNvZGVkU2l6ZShkYXRhLnNp
emUoKSk7Ci0gICAgaWYgKGluY3JlbWVudGFsRGF0YSkKKyAgICBpZiAoaW5jcmVtZW50YWxEYXRh
KSB7CisgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG5vdGlmeVNjb3BlKG1faW5JbmNyZW1lbnRh
bERhdGFOb3RpZnksIHRydWUpOwogICAgICAgICBub3RpZnlDbGllbnRzRGF0YVdhc1JlY2VpdmVk
KGluY3JlbWVudGFsRGF0YS0+ZGF0YSgpLCBpbmNyZW1lbnRhbERhdGEtPnNpemUoKSk7CisgICAg
fQorCiAgICAgaWYgKGRhdGFCdWZmZXJpbmdQb2xpY3koKSA9PSBEb05vdEJ1ZmZlckRhdGEpIHsK
ICAgICAgICAgaWYgKG1fbG9hZGVyKQogICAgICAgICAgICAgbV9sb2FkZXItPnNldERhdGFCdWZm
ZXJpbmdQb2xpY3koRG9Ob3RCdWZmZXJEYXRhKTsKICAgICAgICAgY2xlYXIoKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0
ZUJ1ZmZlcihkYXRhKTsKIAotICAgIENhY2hlZFJlc291cmNlOjp1cGRhdGVCdWZmZXIoZGF0YSk7
CisgICAgaWYgKG1fZGVsYXllZEZpbmlzaExvYWRpbmdEYXRhKSB7CisgICAgICAgIGF1dG8gYnVm
ZmVyID0gV1RGTW92ZShtX2RlbGF5ZWRGaW5pc2hMb2FkaW5nRGF0YS0+YnVmZmVyKTsKKyAgICAg
ICAgbV9kZWxheWVkRmluaXNoTG9hZGluZ0RhdGEgPSBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGZp
bmlzaExvYWRpbmcoYnVmZmVyLmdldCgpKTsKKyAgICB9CiB9CiAKIHZvaWQgQ2FjaGVkUmF3UmVz
b3VyY2U6OnVwZGF0ZURhdGEoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQpAQCAt
ODIsNiArOTQsMTIgQEAgdm9pZCBDYWNoZWRSYXdSZXNvdXJjZTo6dXBkYXRlRGF0YShjb25zdAog
CiB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjpmaW5pc2hMb2FkaW5nKFNoYXJlZEJ1ZmZlciogZGF0
YSkKIHsKKyAgICBpZiAobV9pbkluY3JlbWVudGFsRGF0YU5vdGlmeSkgeworICAgICAgICAvLyBX
ZSBtYXkgZ2V0IGhlcmUgc3luY2hyb25vdXNseSBmcm9tIHVwZGF0ZUJ1ZmZlcigpIGlmIHRoZSBj
YWxsYmFjayB0aGVyZSBlbmRzIHVwIHNwaW5uaW5nIGEgcnVubG9vcC4KKyAgICAgICAgLy8gSW4g
dGhhdCBjYXNlIGRlbGF5IHRoZSBjYWxsLgorICAgICAgICBtX2RlbGF5ZWRGaW5pc2hMb2FkaW5n
RGF0YSA9IHN0ZDo6bWFrZV9vcHRpb25hbChEZWxheWVkRmluaXNoTG9hZGluZ0RhdGEgeyBkYXRh
IH0pOworICAgICAgICByZXR1cm47CisgICAgfTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRSYXdSZXNvdXJjZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKICAgICBEYXRhQnVmZmVyaW5n
UG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3kgPSB0aGlzLT5kYXRhQnVmZmVyaW5nUG9saWN5KCk7
CiAgICAgaWYgKGRhdGFCdWZmZXJpbmdQb2xpY3kgPT0gQnVmZmVyRGF0YSkgewpJbmRleDogU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgJKHJldmlz
aW9uIDIyODM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNv
dXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw3IEBAIHByaXZhdGU6CiAKICAgICB1
bnNpZ25lZCBsb25nIG1faWRlbnRpZmllcjsKICAgICBib29sIG1fYWxsb3dFbmNvZGVkRGF0YVJl
cGxhY2VtZW50OworICAgIGJvb2wgbV9pbkluY3JlbWVudGFsRGF0YU5vdGlmeSB7IGZhbHNlIH07
CiAKICAgICBzdHJ1Y3QgUmVkaXJlY3RQYWlyIHsKICAgICBwdWJsaWM6CkBAIC04OSw2ICs5MCwx
MSBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBWZWN0b3I8UmVkaXJlY3RQYWlyPiBtX3JlZGly
ZWN0Q2hhaW47CisKKyAgICBzdHJ1Y3QgRGVsYXllZEZpbmlzaExvYWRpbmdEYXRhIHsKKyAgICAg
ICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyOworICAgIH07CisgICAgc3RkOjpvcHRpb25h
bDxEZWxheWVkRmluaXNoTG9hZGluZ0RhdGE+IG1fZGVsYXllZEZpbmlzaExvYWRpbmdEYXRhOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjI4Mzg0KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTgtMDItMTIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAg
IENyYXNoIHdoZW4gYnJlYWtwb2ludCBoaXQgaW4gdW5sb2FkIGhhbmRsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTg1NQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjg2ODM1Njc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2Vk
Lmh0bWw6IEFkZGVkLgorCiAyMDE4LTAyLTEyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYXJrIGltcG9ydGVkL21vemlsbGEvc3ZnL2NvbmRpdGlvbnMt
MDcuc3ZnIGFzIGEgZmxha3kgZmFpbHVyZSBvbiBXaW5kb3dzLgpJbmRleDogTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVzZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVs
b2FkLXBhdXNlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACitt
YWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorbWFpbiBmcmFtZSAtIGhhcyAx
IG9udW5sb2FkIGhhbmRsZXIocykKK1Rlc3QgdGhhdCByZWxvYWRpbmcgYSBwYXVzZWQgcGFnZSBk
b2Vzbid0IGNyYXNoLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogUmVsb2FkaW5nIHBhdXNl
ZCBwYWdlCistLSBSdW5uaW5nIHRlc3QgY2FzZTogTm8gY3Jhc2gKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVzZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2JyZWFrLW9uLWV4Y2VwdGlvbi10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rp
b24gdW5sb2FkSGFuZGxlcigpCit7CisgICAgZGVidWdnZXI7Cit9CisKK2Z1bmN0aW9uIHRlc3Qo
KQoreworICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5hbGxFeGNlcHRpb25zQnJlYWtwb2ludC5kaXNh
YmxlZCA9IGZhbHNlOworCisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3lu
Y1N1aXRlKCJSZWxvYWRpbmcgcGF1c2VkIHBhZ2UiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNl
KHsKKyAgICAgICBuYW1lOiAiTm8gY3Jhc2giLAorICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAg
ICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZSgpOworICAgICAgICAgICBhd2FpdCBXSS5k
ZWJ1Z2dlck1hbmFnZXIuYXdhaXRFdmVudChXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2Vk
KTsKKyAgICAgICAgICAgYXdhaXQgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOworICAgICAg
IH0KKyAgIH0pOworCisgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiIG9udW5sb2FkPSJ1bmxvYWRI
YW5kbGVyKCkiPgorPHA+VGVzdCB0aGF0IHJlbG9hZGluZyBhIHBhdXNlZCBwYWdlIGRvZXNuJ3Qg
Y3Jhc2guPC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="352542"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333697</attachid>
            <date>2018-02-13 09:56:36 -0800</date>
            <delta_ts>2018-02-13 09:56:53 -0800</delta_ts>
            <desc>for landing</desc>
            <filename>rawresource-nested-finish-crash-3.patch</filename>
            <type>text/plain</type>
            <size>6866</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyODQxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAyLTEyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCB3aGVuIGJyZWFrcG9p
bnQgaGl0IGluIHVubG9hZCBoYW5kbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjk4NTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4NjgzNTY3
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhbmllbCBCYXRlcy4KKworICAgICAgICBUZXN0OiBp
bnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC5odG1sCisKKyAgICAgICAgQ2FjaGVkUmF3
UmVzb3VyY2U6OnVwZGF0ZUJ1ZmZlciBtYXkgZ2VuZXJhdGUgdW5sb2FkIGV2ZW50IGluIGNsaWVu
dCBub3RpZnkgY2FsbGJhY2suIElmIEluc3BlY3RvciB3YXMKKyAgICAgICAgcGF1c2VkLCB0aGlz
IGV2ZW4gd291bGQgc3Bhd24gYSBuZXN0ZWQgcnVubG9vcC4gQ2FjaGVkUmF3UmVzb3VyY2U6OmZp
bmlzaExvYWRpbmcgd291bGQgZ2V0IGNhbGxlZCBpbgorICAgICAgICB0aGUgbmVzdGVkIGxvb3As
IGNvbmZ1c2luZyB0aGUgRG9jdW1lbnRMb2FkZXIgc3RhdGUgbWFjaGluZSBhbmQgcmVzdWx0aW5n
IGluIGNyYXNoZXMgbGF0ZXIuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVz
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OnVwZGF0ZUJ1
ZmZlcik6CisKKyAgICAgICAgLSBTZXQgYSBiaXQgd2hlbiBlbnRlcmluZyB0aGUgY2xpZW50IGNh
bGxiYWNrLgorICAgICAgICAtIEVuc3VyZSB3ZSBkb24ndCByZS1lbnRlciB1cGRhdGVCdWZmZXIu
CisgICAgICAgIC0gSWYgZmluaXNoTG9hZGluZyBnb3QgZGVsYXllZCBkdXJpbmcgY2xpZW50IGNh
bGxiYWNrLCBkbyBpdCBhdCB0aGUgZW5kLgorCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSYXdS
ZXNvdXJjZTo6ZmluaXNoTG9hZGluZyk6CisKKyAgICAgICAgSWYgd2UgYXJlIGluIHVwZGF0ZUJ1
ZmZlciBjbGllbnQgY2FsbGJhY2ssIHNhdmUgdGhlIGJ1ZmZlciBhbmQgYmFpbCBvdXQuCisKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuaDoKKwogMjAxOC0wMi0xMiAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVp
bGRlcl0gSW50cm9kdWNlIFJlbmRlclRyZWVidWlsZGVyOjp0YWtlQ2hpbGQKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAkocmV2
aXNpb24gMjI4Mzg0KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jl
c291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlNo
YXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSA8
d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVmlldy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01NSwyMiArNTYsMzIgQEAgc3RkOjpvcHRpb25hbDxTaGFyZWRCdWZmZXJEYXRhVmlldz4gQ2Fj
aAogCiB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjp1cGRhdGVCdWZmZXIoU2hhcmVkQnVmZmVyJiBk
YXRhKQogeworICAgIC8vIFNraXAgYW55IHVwZGF0ZUJ1ZmZlcnMgdHJpZ2dlcmVkIGZyb20gbmVz
dGVkIHJ1bmxvb3BzLiBXZSdsbCBoYXZlIHRoZSBjb21wbGV0ZSBidWZmZXIgaW4gZmluaXNoTG9h
ZGluZy4KKyAgICBpZiAobV9pbkluY3JlbWVudGFsRGF0YU5vdGlmeSkKKyAgICAgICAgcmV0dXJu
OworCiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+IHByb3RlY3Rl
ZFRoaXModGhpcyk7CiAgICAgQVNTRVJUKGRhdGFCdWZmZXJpbmdQb2xpY3koKSA9PSBCdWZmZXJE
YXRhKTsKICAgICBtX2RhdGEgPSAmZGF0YTsKIAogICAgIGF1dG8gaW5jcmVtZW50YWxEYXRhID0g
Y2FsY3VsYXRlSW5jcmVtZW50YWxEYXRhQ2h1bmsoJmRhdGEpOwogICAgIHNldEVuY29kZWRTaXpl
KGRhdGEuc2l6ZSgpKTsKLSAgICBpZiAoaW5jcmVtZW50YWxEYXRhKQorICAgIGlmIChpbmNyZW1l
bnRhbERhdGEpIHsKKyAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gbm90aWZ5U2NvcGUobV9pbklu
Y3JlbWVudGFsRGF0YU5vdGlmeSwgdHJ1ZSk7CiAgICAgICAgIG5vdGlmeUNsaWVudHNEYXRhV2Fz
UmVjZWl2ZWQoaW5jcmVtZW50YWxEYXRhLT5kYXRhKCksIGluY3JlbWVudGFsRGF0YS0+c2l6ZSgp
KTsKKyAgICB9CisKICAgICBpZiAoZGF0YUJ1ZmZlcmluZ1BvbGljeSgpID09IERvTm90QnVmZmVy
RGF0YSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCiAgICAgICAgICAgICBtX2xvYWRlci0+c2V0
RGF0YUJ1ZmZlcmluZ1BvbGljeShEb05vdEJ1ZmZlckRhdGEpOwogICAgICAgICBjbGVhcigpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIH0gZWxzZQorICAgICAgICBDYWNoZWRSZXNvdXJj
ZTo6dXBkYXRlQnVmZmVyKGRhdGEpOwogCi0gICAgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0ZUJ1ZmZl
cihkYXRhKTsKKyAgICBpZiAobV9kZWxheWVkRmluaXNoTG9hZGluZykgeworICAgICAgICBhdXRv
IGRlbGF5ZWRGaW5pc2hMb2FkaW5nID0gc3RkOjpleGNoYW5nZShtX2RlbGF5ZWRGaW5pc2hMb2Fk
aW5nLCBzdGQ6Om51bGxvcHQpOworICAgICAgICBmaW5pc2hMb2FkaW5nKGRlbGF5ZWRGaW5pc2hM
b2FkaW5nLT5idWZmZXIuZ2V0KCkpOworICAgIH0KIH0KIAogdm9pZCBDYWNoZWRSYXdSZXNvdXJj
ZTo6dXBkYXRlRGF0YShjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCkBAIC04Miw2
ICs5MywxMiBAQCB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjp1cGRhdGVEYXRhKGNvbnN0CiAKIHZv
aWQgQ2FjaGVkUmF3UmVzb3VyY2U6OmZpbmlzaExvYWRpbmcoU2hhcmVkQnVmZmVyKiBkYXRhKQog
eworICAgIGlmIChtX2luSW5jcmVtZW50YWxEYXRhTm90aWZ5KSB7CisgICAgICAgIC8vIFdlIG1h
eSBnZXQgaGVyZSBzeW5jaHJvbm91c2x5IGZyb20gdXBkYXRlQnVmZmVyKCkgaWYgdGhlIGNhbGxi
YWNrIHRoZXJlIGVuZHMgdXAgc3Bpbm5pbmcgYSBydW5sb29wLgorICAgICAgICAvLyBJbiB0aGF0
IGNhc2UgZGVsYXkgdGhlIGNhbGwuCisgICAgICAgIG1fZGVsYXllZEZpbmlzaExvYWRpbmcgPSBz
dGQ6Om1ha2Vfb3B0aW9uYWwoRGVsYXllZEZpbmlzaExvYWRpbmd7IGRhdGEgfSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9OwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291
cmNlPiBwcm90ZWN0ZWRUaGlzKHRoaXMpOwogICAgIERhdGFCdWZmZXJpbmdQb2xpY3kgZGF0YUJ1
ZmZlcmluZ1BvbGljeSA9IHRoaXMtPmRhdGFCdWZmZXJpbmdQb2xpY3koKTsKICAgICBpZiAoZGF0
YUJ1ZmZlcmluZ1BvbGljeSA9PSBCdWZmZXJEYXRhKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuaAkocmV2aXNpb24gMjI4Mzg0KQor
KysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTc1LDYgKzc1LDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIGxvbmcg
bV9pZGVudGlmaWVyOwogICAgIGJvb2wgbV9hbGxvd0VuY29kZWREYXRhUmVwbGFjZW1lbnQ7Cisg
ICAgYm9vbCBtX2luSW5jcmVtZW50YWxEYXRhTm90aWZ5IHsgZmFsc2UgfTsKIAogICAgIHN0cnVj
dCBSZWRpcmVjdFBhaXIgewogICAgIHB1YmxpYzoKQEAgLTg5LDYgKzkwLDExIEBAIHByaXZhdGU6
CiAgICAgfTsKIAogICAgIFZlY3RvcjxSZWRpcmVjdFBhaXI+IG1fcmVkaXJlY3RDaGFpbjsKKwor
ICAgIHN0cnVjdCBEZWxheWVkRmluaXNoTG9hZGluZyB7CisgICAgICAgIFJlZlB0cjxTaGFyZWRC
dWZmZXI+IGJ1ZmZlcjsKKyAgICB9OworICAgIHN0ZDo6b3B0aW9uYWw8RGVsYXllZEZpbmlzaExv
YWRpbmc+IG1fZGVsYXllZEZpbmlzaExvYWRpbmc7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjgzODQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0wMi0xMiAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiBicmVha3BvaW50IGhp
dCBpbiB1bmxvYWQgaGFuZGxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY5ODU1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yODY4MzU2Nz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYW5pZWwgQmF0ZXMgYW5kIEpvc2VwaCBQZWNvcmFyby4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVzZWQuaHRtbDog
QWRkZWQuCisKIDIwMTgtMDItMTIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIE1hcmsgaW1wb3J0ZWQvbW96aWxsYS9zdmcvY29uZGl0aW9ucy0wNy5zdmcg
YXMgYSBmbGFreSBmYWlsdXJlIG9uIFdpbmRvd3MuCkluZGV4OiBMYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVzZWQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1
c2VkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKK21haW4gZnJh
bWUgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCittYWluIGZyYW1lIC0gaGFzIDEgb251bmxv
YWQgaGFuZGxlcihzKQorVGVzdCB0aGF0IHJlbG9hZGluZyBhIHBhdXNlZCBwYWdlIGRvZXNuJ3Qg
Y3Jhc2guCisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBSZWxvYWRQYXVzZWQKKy0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBSZWxvYWRQYXVzZWROb0NyYXNoCisKSW5kZXg6IExheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVzZWQuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9icmVh
ay1vbi1leGNlcHRpb24tdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHVu
bG9hZEhhbmRsZXIoKQoreworICAgIGRlYnVnZ2VyOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWxsRXhjZXB0aW9uc0JyZWFrcG9pbnQuZGlzYWJsZWQg
PSBmYWxzZTsKKworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0
ZSgiUmVsb2FkUGF1c2VkIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgbmFt
ZTogIlJlbG9hZFBhdXNlZE5vQ3Jhc2giLAorICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAg
ICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZSgpOworICAgICAgICAgICBhd2FpdCBXSS5kZWJ1
Z2dlck1hbmFnZXIuYXdhaXRFdmVudChXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkKTsK
KyAgICAgICAgICAgYXdhaXQgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOworICAgICAgIH0K
KyAgIH0pOworCisgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiIG9udW5sb2FkPSJ1bmxvYWRIYW5k
bGVyKCkiPgorPHA+VGVzdCB0aGF0IHJlbG9hZGluZyBhIHBhdXNlZCBwYWdlIGRvZXNuJ3QgY3Jh
c2guPC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333698</attachid>
            <date>2018-02-13 09:58:59 -0800</date>
            <delta_ts>2018-02-13 14:39:52 -0800</delta_ts>
            <desc>for landing</desc>
            <filename>rawresource-nested-finish-crash-4.patch</filename>
            <type>text/plain</type>
            <size>6867</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyODQxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAyLTEyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCB3aGVuIGJyZWFrcG9p
bnQgaGl0IGluIHVubG9hZCBoYW5kbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjk4NTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4NjgzNTY3
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhbmllbCBCYXRlcy4KKworICAgICAgICBUZXN0OiBp
bnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC5odG1sCisKKyAgICAgICAgQ2FjaGVkUmF3
UmVzb3VyY2U6OnVwZGF0ZUJ1ZmZlciBtYXkgZ2VuZXJhdGUgdW5sb2FkIGV2ZW50IGluIGNsaWVu
dCBub3RpZnkgY2FsbGJhY2suIElmIEluc3BlY3RvciB3YXMKKyAgICAgICAgcGF1c2VkLCB0aGlz
IGV2ZW4gd291bGQgc3Bhd24gYSBuZXN0ZWQgcnVubG9vcC4gQ2FjaGVkUmF3UmVzb3VyY2U6OmZp
bmlzaExvYWRpbmcgd291bGQgZ2V0IGNhbGxlZCBpbgorICAgICAgICB0aGUgbmVzdGVkIGxvb3As
IGNvbmZ1c2luZyB0aGUgRG9jdW1lbnRMb2FkZXIgc3RhdGUgbWFjaGluZSBhbmQgcmVzdWx0aW5n
IGluIGNyYXNoZXMgbGF0ZXIuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVz
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OnVwZGF0ZUJ1
ZmZlcik6CisKKyAgICAgICAgLSBTZXQgYSBiaXQgd2hlbiBlbnRlcmluZyB0aGUgY2xpZW50IGNh
bGxiYWNrLgorICAgICAgICAtIEVuc3VyZSB3ZSBkb24ndCByZS1lbnRlciB1cGRhdGVCdWZmZXIu
CisgICAgICAgIC0gSWYgZmluaXNoTG9hZGluZyBnb3QgZGVsYXllZCBkdXJpbmcgY2xpZW50IGNh
bGxiYWNrLCBkbyBpdCBhdCB0aGUgZW5kLgorCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSYXdS
ZXNvdXJjZTo6ZmluaXNoTG9hZGluZyk6CisKKyAgICAgICAgSWYgd2UgYXJlIGluIHVwZGF0ZUJ1
ZmZlciBjbGllbnQgY2FsbGJhY2ssIHNhdmUgdGhlIGJ1ZmZlciBhbmQgYmFpbCBvdXQuCisKKyAg
ICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuaDoKKwogMjAxOC0wMi0xMiAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVp
bGRlcl0gSW50cm9kdWNlIFJlbmRlclRyZWVidWlsZGVyOjp0YWtlQ2hpbGQKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcAkocmV2
aXNpb24gMjI4Mzg0KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jl
c291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlNo
YXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSA8
d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVmlldy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01NSwyMiArNTYsMzIgQEAgc3RkOjpvcHRpb25hbDxTaGFyZWRCdWZmZXJEYXRhVmlldz4gQ2Fj
aAogCiB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjp1cGRhdGVCdWZmZXIoU2hhcmVkQnVmZmVyJiBk
YXRhKQogeworICAgIC8vIFNraXAgYW55IHVwZGF0ZUJ1ZmZlcnMgdHJpZ2dlcmVkIGZyb20gbmVz
dGVkIHJ1bmxvb3BzLiBXZSdsbCBoYXZlIHRoZSBjb21wbGV0ZSBidWZmZXIgaW4gZmluaXNoTG9h
ZGluZy4KKyAgICBpZiAobV9pbkluY3JlbWVudGFsRGF0YU5vdGlmeSkKKyAgICAgICAgcmV0dXJu
OworCiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVzb3VyY2U+IHByb3RlY3Rl
ZFRoaXModGhpcyk7CiAgICAgQVNTRVJUKGRhdGFCdWZmZXJpbmdQb2xpY3koKSA9PSBCdWZmZXJE
YXRhKTsKICAgICBtX2RhdGEgPSAmZGF0YTsKIAogICAgIGF1dG8gaW5jcmVtZW50YWxEYXRhID0g
Y2FsY3VsYXRlSW5jcmVtZW50YWxEYXRhQ2h1bmsoJmRhdGEpOwogICAgIHNldEVuY29kZWRTaXpl
KGRhdGEuc2l6ZSgpKTsKLSAgICBpZiAoaW5jcmVtZW50YWxEYXRhKQorICAgIGlmIChpbmNyZW1l
bnRhbERhdGEpIHsKKyAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gbm90aWZ5U2NvcGUobV9pbklu
Y3JlbWVudGFsRGF0YU5vdGlmeSwgdHJ1ZSk7CiAgICAgICAgIG5vdGlmeUNsaWVudHNEYXRhV2Fz
UmVjZWl2ZWQoaW5jcmVtZW50YWxEYXRhLT5kYXRhKCksIGluY3JlbWVudGFsRGF0YS0+c2l6ZSgp
KTsKKyAgICB9CisKICAgICBpZiAoZGF0YUJ1ZmZlcmluZ1BvbGljeSgpID09IERvTm90QnVmZmVy
RGF0YSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCiAgICAgICAgICAgICBtX2xvYWRlci0+c2V0
RGF0YUJ1ZmZlcmluZ1BvbGljeShEb05vdEJ1ZmZlckRhdGEpOwogICAgICAgICBjbGVhcigpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIH0gZWxzZQorICAgICAgICBDYWNoZWRSZXNvdXJj
ZTo6dXBkYXRlQnVmZmVyKGRhdGEpOwogCi0gICAgQ2FjaGVkUmVzb3VyY2U6OnVwZGF0ZUJ1ZmZl
cihkYXRhKTsKKyAgICBpZiAobV9kZWxheWVkRmluaXNoTG9hZGluZykgeworICAgICAgICBhdXRv
IGRlbGF5ZWRGaW5pc2hMb2FkaW5nID0gc3RkOjpleGNoYW5nZShtX2RlbGF5ZWRGaW5pc2hMb2Fk
aW5nLCBzdGQ6Om51bGxvcHQpOworICAgICAgICBmaW5pc2hMb2FkaW5nKGRlbGF5ZWRGaW5pc2hM
b2FkaW5nLT5idWZmZXIuZ2V0KCkpOworICAgIH0KIH0KIAogdm9pZCBDYWNoZWRSYXdSZXNvdXJj
ZTo6dXBkYXRlRGF0YShjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCkBAIC04Miw2
ICs5MywxMiBAQCB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjp1cGRhdGVEYXRhKGNvbnN0CiAKIHZv
aWQgQ2FjaGVkUmF3UmVzb3VyY2U6OmZpbmlzaExvYWRpbmcoU2hhcmVkQnVmZmVyKiBkYXRhKQog
eworICAgIGlmIChtX2luSW5jcmVtZW50YWxEYXRhTm90aWZ5KSB7CisgICAgICAgIC8vIFdlIG1h
eSBnZXQgaGVyZSBzeW5jaHJvbm91c2x5IGZyb20gdXBkYXRlQnVmZmVyKCkgaWYgdGhlIGNhbGxi
YWNrIHRoZXJlIGVuZHMgdXAgc3Bpbm5pbmcgYSBydW5sb29wLgorICAgICAgICAvLyBJbiB0aGF0
IGNhc2UgZGVsYXkgdGhlIGNhbGwuCisgICAgICAgIG1fZGVsYXllZEZpbmlzaExvYWRpbmcgPSBz
dGQ6Om1ha2Vfb3B0aW9uYWwoRGVsYXllZEZpbmlzaExvYWRpbmcgeyBkYXRhIH0pOworICAgICAg
ICByZXR1cm47CisgICAgfTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNv
dXJjZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKICAgICBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFC
dWZmZXJpbmdQb2xpY3kgPSB0aGlzLT5kYXRhQnVmZmVyaW5nUG9saWN5KCk7CiAgICAgaWYgKGRh
dGFCdWZmZXJpbmdQb2xpY3kgPT0gQnVmZmVyRGF0YSkgewpJbmRleDogU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgJKHJldmlzaW9uIDIyODM4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NSw2ICs3NSw3IEBAIHByaXZhdGU6CiAKICAgICB1bnNpZ25lZCBsb25n
IG1faWRlbnRpZmllcjsKICAgICBib29sIG1fYWxsb3dFbmNvZGVkRGF0YVJlcGxhY2VtZW50Owor
ICAgIGJvb2wgbV9pbkluY3JlbWVudGFsRGF0YU5vdGlmeSB7IGZhbHNlIH07CiAKICAgICBzdHJ1
Y3QgUmVkaXJlY3RQYWlyIHsKICAgICBwdWJsaWM6CkBAIC04OSw2ICs5MCwxMSBAQCBwcml2YXRl
OgogICAgIH07CiAKICAgICBWZWN0b3I8UmVkaXJlY3RQYWlyPiBtX3JlZGlyZWN0Q2hhaW47CisK
KyAgICBzdHJ1Y3QgRGVsYXllZEZpbmlzaExvYWRpbmcgeworICAgICAgICBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBidWZmZXI7CisgICAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPERlbGF5ZWRGaW5pc2hM
b2FkaW5nPiBtX2RlbGF5ZWRGaW5pc2hMb2FkaW5nOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjI4Mzg0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMDItMTIgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIHdoZW4gYnJlYWtwb2ludCBo
aXQgaW4gdW5sb2FkIGhhbmRsZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2OTg1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg2ODM1Njc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzIGFuZCBKb3NlcGggUGVjb3Jhcm8uCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLmh0bWw6
IEFkZGVkLgorCiAyMDE4LTAyLTEyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBNYXJrIGltcG9ydGVkL21vemlsbGEvc3ZnL2NvbmRpdGlvbnMtMDcuc3Zn
IGFzIGEgZmxha3kgZmFpbHVyZSBvbiBXaW5kb3dzLgpJbmRleDogTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVzZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBh
dXNlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACittYWluIGZy
YW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorbWFpbiBmcmFtZSAtIGhhcyAxIG9udW5s
b2FkIGhhbmRsZXIocykKK1Rlc3QgdGhhdCByZWxvYWRpbmcgYSBwYXVzZWQgcGFnZSBkb2Vzbid0
IGNyYXNoLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogUmVsb2FkUGF1c2VkCistLSBSdW5u
aW5nIHRlc3QgY2FzZTogUmVsb2FkUGF1c2VkTm9DcmFzaAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvcmVsb2FkLXBhdXNlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZWxvYWQtcGF1c2VkLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3JlbG9hZC1wYXVzZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Vz
L2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnJl
YWstb24tZXhjZXB0aW9uLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB1
bmxvYWRIYW5kbGVyKCkKK3sKKyAgICBkZWJ1Z2dlcjsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFsbEV4Y2VwdGlvbnNCcmVha3BvaW50LmRpc2FibGVk
ID0gZmFsc2U7CisKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3Vp
dGUoIlJlbG9hZFBhdXNlZCIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgIG5h
bWU6ICJSZWxvYWRQYXVzZWROb0NyYXNoIiwKKyAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoKTsKKyAgICAgICAgICAgYXdhaXQgV0kuZGVi
dWdnZXJNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCk7
CisgICAgICAgICAgIGF3YWl0IFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKTsKKyAgICAgICB9
CisgICB9KTsKKworICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIiBvbnVubG9hZD0idW5sb2FkSGFu
ZGxlcigpIj4KKzxwPlRlc3QgdGhhdCByZWxvYWRpbmcgYSBwYXVzZWQgcGFnZSBkb2Vzbid0IGNy
YXNoLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>