<?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>197621</bug_id>
          
          <creation_ts>2019-05-06 12:15:52 -0700</creation_ts>
          <short_desc>Add assertions to CachedFrame to help figure out crash in CachedFrame constructor</short_desc>
          <delta_ts>2022-10-31 07:39:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=247259</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1533474</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-06 12:15:52 -0700</bug_when>
    <thetext>Add assertions to CachedFrame to help figure out crash in CachedFrame constructor :
Thread[0] EXC_BREAKPOINT (SIGTRAP) (0x0000000000000002, 0x0000000000000000)
[  0] 0x00000007d81eddc3 WebCore`WTFCrashWithInfo(int, char const*, char const*, int) + 19

     0x00000007d81eddb7:     movq %rsi, -0x18(%rbp)
     0x00000007d81eddbb:     movq %rdx, -0x10(%rbp)
     0x00000007d81eddbf:     movl %ecx, -0x4(%rbp)
     0x00000007d81eddc2:     int3 
 -&gt;  0x00000007d81eddc3:      ud2 
     0x00000007d81eddc5:     nopw %cs:(%rax,%rax)

[  1] 0x00000007d904a204 WebCore`WebCore::CachedFrame::CachedFrame(WebCore::Frame&amp;) + 724 at CachedFrame.cpp:150:5
       146 	    // Create the CachedFrames for all Frames in the FrameTree.
       147 	    for (Frame* child = frame.tree().firstChild(); child; child = child-&gt;tree().nextSibling())
       148 	        m_childFrames.append(std::make_unique&lt;CachedFrame&gt;(*child));
       149 	
    -&gt; 150 	    RELEASE_ASSERT(m_document-&gt;domWindow()-&gt;frame());
       151 	
       152 	    // Active DOM objects must be suspended before we cache the frame script data.
       153 	    m_document-&gt;suspend(ReasonForSuspension::PageCache);
       154 	
    
[  2] 0x00000007d904bf9b WebCore`WebCore::PageCache::addIfCacheable(WebCore::HistoryItem&amp;, WebCore::Page*) [inlined] WebCore::CachedFrame::CachedFrame(WebCore::Frame&amp;) + 10 at CachedFrame.cpp:137:1
       133 	}
       134 	
       135 	CachedFrame::CachedFrame(Frame&amp; frame)
       136 	    : CachedFrameBase(frame)
    -&gt; 137 	{
       138 	#ifndef NDEBUG
       139 	    cachedFrameCounter.increment();
       140 	#endif
       141 	    ASSERT(m_document);
    
[  2] 0x00000007d904bf91 WebCore`WebCore::PageCache::addIfCacheable(WebCore::HistoryItem&amp;, WebCore::Page*) [inlined] std::__1::__unique_if&lt;WebCore::CachedFrame&gt;::__unique_single std::__1::make_unique&lt;WebCore::CachedFrame, WebCore::Frame&amp;&gt;(WebCore::Frame&amp;) + 13 at memory:3078
       3074	
       3075	template &lt;class _T1, class _D1&gt;
       3076	inline _LIBCPP_INLINE_VISIBILITY
       3077	bool
    -&gt; 3078	operator&gt;=(const unique_ptr&lt;_T1, _D1&gt;&amp; __x, nullptr_t)
       3079	{
       3080	    return !(__x &lt; nullptr);
       3081	}
       3082	
    
[  2] 0x00000007d904bf84 WebCore`WebCore::PageCache::addIfCacheable(WebCore::HistoryItem&amp;, WebCore::Page*) [inlined] WebCore::CachedPage::CachedPage(WebCore::Page&amp;) + 34 at CachedPage.cpp:59
       55  	
       56  	CachedPage::CachedPage(Page&amp; page)
       57  	    : m_page(page)
       58  	    , m_expirationTime(MonotonicTime::now() + Seconds(page.settings().backForwardCacheExpirationInterval()))
    -&gt; 59  	    , m_cachedMainFrame(std::make_unique&lt;CachedFrame&gt;(page.mainFrame()))
       60  	{
       61  	#ifndef NDEBUG
       62  	    cachedPageCounter.increment();
       63  	#endif
    
[  2] 0x00000007d904bf62 WebCore`WebCore::PageCache::addIfCacheable(WebCore::HistoryItem&amp;, WebCore::Page*) [inlined] WebCore::CachedPage::CachedPage(WebCore::Page&amp;) at CachedPage.cpp:60
       56  	CachedPage::CachedPage(Page&amp; page)
       57  	    : m_page(page)
       58  	    , m_expirationTime(MonotonicTime::now() + Seconds(page.settings().backForwardCacheExpirationInterval()))
       59  	    , m_cachedMainFrame(std::make_unique&lt;CachedFrame&gt;(page.mainFrame()))
    -&gt; 60  	{
       61  	#ifndef NDEBUG
       62  	    cachedPageCounter.increment();
       63  	#endif
       64  	}
    
[  2] 0x00000007d904bf62 WebCore`WebCore::PageCache::addIfCacheable(WebCore::HistoryItem&amp;, WebCore::Page*) [inlined] std::__1::__unique_if&lt;WebCore::CachedPage&gt;::__unique_single std::__1::make_unique&lt;WebCore::CachedPage, WebCore::Page&amp;&gt;(WebCore::Page&amp;) + 13 at memory:3078
       3074	
       3075	template &lt;class _T1, class _D1&gt;
       3076	inline _LIBCPP_INLINE_VISIBILITY
       3077	bool
    -&gt; 3078	operator&gt;=(const unique_ptr&lt;_T1, _D1&gt;&amp; __x, nullptr_t)
       3079	{
       3080	    return !(__x &lt; nullptr);
       3081	}
       3082	
    
[  2] 0x00000007d904bf55 WebCore`WebCore::PageCache::addIfCacheable(WebCore::HistoryItem&amp;, WebCore::Page*) + 437 at PageCache.cpp:463
       459 	    {
       460 	        // Make sure we don&apos;t fire any JS events in this scope.
       461 	        ScriptDisallowedScope::InMainThread scriptDisallowedScope;
       462 	
    -&gt; 463 	        item.m_cachedPage = std::make_unique&lt;CachedPage&gt;(*page);
       464 	        item.m_pruningReason = PruningReason::None;
       465 	        m_items.add(&amp;item);
       466 	    }
       467 	    prune(PruningReason::ReachedMaxSize);
    
[  3] 0x00000007d801a246 WebCore`WebCore::FrameLoader::commitProvisionalLoad() + 262 at FrameLoader.cpp:1999:32
       1995	
       1996	    if (!m_frame.tree().parent() &amp;&amp; history().currentItem() &amp;&amp; history().currentItem() != history().provisionalItem()) {
       1997	        // Check to see if we need to cache the page we are navigating away from into the back/forward cache.
       1998	        // We are doing this here because we know for sure that a new page is about to be loaded.
    -&gt; 1999	        PageCache::singleton().addIfCacheable(*history().currentItem(), m_frame.page());
       2000	        
       2001	        WebCore::jettisonExpensiveObjectsOnTopLevelNavigation();
       2002	    }
       2003	
    
[  4] 0x00000007d9243ec2 WebCore`WebCore::DocumentLoader::finishedLoading() [inlined] WebCore::DocumentLoader::commitIfReady() + 35 at DocumentLoader.cpp:366:24
       362 	void DocumentLoader::commitIfReady()
       363 	{
       364 	    if (!m_committed) {
       365 	        m_committed = true;
    -&gt; 366 	        frameLoader()-&gt;commitProvisionalLoad();
       367 	    }
       368 	}
       369 	
       370 	bool DocumentLoader::isLoading() const
    
[  4] 0x00000007d9243e9f WebCore`WebCore::DocumentLoader::finishedLoading() + 351 at DocumentLoader.cpp:433
       429 	
       430 	    MonotonicTime responseEndTime = m_timeOfLastDataReceived ? m_timeOfLastDataReceived : MonotonicTime::now();
       431 	    timing().setResponseEnd(responseEndTime);
       432 	
    -&gt; 433 	    commitIfReady();
       434 	    if (!frameLoader())
       435 	        return;
       436 	
       437 	    if (!maybeCreateArchive()) {
    
[  5] 0x00000007d8019c15 WebCore`WebCore::DocumentLoader::maybeLoadEmpty() + 741 at DocumentLoader.cpp:1710:5
       1706	    }
       1707	
       1708	    String mimeType = shouldLoadEmpty ? &quot;text/html&quot; : frameLoader()-&gt;client().generatedMIMETypeForURLScheme(m_request.url().protocol().toStringWithoutCopying());
       1709	    m_response = ResourceResponse(m_request.url(), mimeType, 0, String());
    -&gt; 1710	    finishedLoading();
       1711	    return true;
       1712	}
       1713	
       1714	void DocumentLoader::startLoadingMainResource()
    
[  6] 0x00000007d92462c9 WebCore`WebCore::DocumentLoader::loadMainResource(WebCore::ResourceRequest&amp;&amp;) + 2009 at DocumentLoader.cpp:1884:9
       1880	        // If the load was aborted by clearing m_request, it&apos;s possible the ApplicationCacheHost
       1881	        // is now in a state where starting an empty load will be inconsistent. Replace it with
       1882	        // a new ApplicationCacheHost.
       1883	        m_applicationCacheHost = std::make_unique&lt;ApplicationCacheHost&gt;(*this);
    -&gt; 1884	        maybeLoadEmpty();
       1885	        return;
       1886	    }
       1887	
       1888	    ASSERT(m_frame);

See &lt;rdar://problem/49877867&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533476</commentid>
    <comment_count>1</comment_count>
      <attachid>369155</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-06 12:19:53 -0700</bug_when>
    <thetext>Created attachment 369155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533492</commentid>
    <comment_count>2</comment_count>
      <attachid>369155</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-05-06 12:56:03 -0700</bug_when>
    <thetext>Comment on attachment 369155
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533523</commentid>
    <comment_count>3</comment_count>
      <attachid>369155</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-06 13:25:33 -0700</bug_when>
    <thetext>Comment on attachment 369155
Patch

Clearing flags on attachment: 369155

Committed r244971: &lt;https://trac.webkit.org/changeset/244971&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533524</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-06 13:25:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533525</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-06 13:26:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/50510471&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1909207</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-10-30 05:45:35 -0700</bug_when>
    <thetext>Should we remove these assertions now? Or should we update the comments and keep them permanently?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369155</attachid>
            <date>2019-05-06 12:19:53 -0700</date>
            <delta_ts>2019-05-06 13:25:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197621-20190506121953.patch</filename>
            <type>text/plain</type>
            <size>4126</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZjMWY3Njc5ZjU0NWQ5
NGE0MDE2NmIyYTRiN2QzNjRmZjg1YjdiMS4uNzg4NTU0MDU0MWJkNTk0MDBmNjEzYzg0ODEyOTBk
YjlmMTcxZmI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTA1LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFzc2VydGlvbnMgdG8g
Q2FjaGVkRnJhbWUgdG8gaGVscCBmaWd1cmUgb3V0IGNyYXNoIGluIENhY2hlZEZyYW1lIGNvbnN0
cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTc2MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgcmVsZWFzZSBhc3NlcnRpb25zIHRvIHRyeSBhbmQgZmlndXJlIG91dCB3aG8gaXMgc29tZXRp
bWVzIGRldGFjaGluZyB0aGUgZG9jdW1lbnQgZnJvbSBpdHMKKyAgICAgICAgZnJhbWUgd2hpbGUg
Y29uc3RydWN0aW5nIENhY2hlZEZyYW1lcyBmb3IgaXRzIGRlc2NlbmRhbnRzLgorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkZXRhY2hG
cm9tRnJhbWUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnNldE1heUJlRGV0YWNoZWRGcm9tRnJhbWUpOgorICAgICAgICAqIGhpc3Rvcnkv
Q2FjaGVkRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRnJhbWU6OkNhY2hlZEZy
YW1lKToKKwogMjAxOS0wNS0wNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dMaWJdIFdlYkNvcmU6Ok1haW5UaHJlYWRTaGFyZWRUaW1lciBzaG91bGQg
dXNlIHRoZSBhcHByb3ByaWF0ZSBHU291cmNlIHByaW9yaXR5LCBuYW1lCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAppbmRleCA5MTM2ZDljZjc4YzVjMTA5NjA1YzM5YjU0YjBhMGY2YTNmZDljMjMwLi45
NjYxNzlkZmMyNDI0YTI2NDcyZWM5ZjFjNTQyMDM3OGJkODlhMjlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTgxMzAsNiArODEzMCwxMCBAQCBib29sIERvY3VtZW50OjpyZWdpc3RlckNT
U1Byb3BlcnR5KENTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eSYmIHByb3ApCiAKIHZvaWQgRG9j
dW1lbnQ6OmRldGFjaEZyb21GcmFtZSgpCiB7CisgICAgLy8gQXNzZXJ0aW9uIHRvIGhlbHAgcGlu
cGludCByZGFyOi8vcHJvYmxlbS80OTg3Nzg2Ny4gSWYgdGhpcyBoaXRzLCB0aGUgY3Jhc2ggdHJh
Y2Ugc2hvdWxkIHRlbGwgdXMKKyAgICAvLyB3aGljaCBwaWVjZSBvZiBjb2RlIGlzIGRldGFjaGlu
ZyB0aGUgZG9jdW1lbnQgZnJvbSBpdHMgZnJhbWUgd2hpbGUgY29uc3RydWN0aW5nIHRoZSBDYWNo
ZWRGcmFtZXMuCisgICAgUkVMRUFTRV9BU1NFUlQobV9tYXlCZURldGFjaGVkRnJvbUZyYW1lKTsK
KwogICAgIG9ic2VydmVGcmFtZShudWxscHRyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCA5NDFkNWY1ZGJkZjUzZmYwNDJhYWQwMjMwMWMyNTZjNmU2MmQwZGM1Li5kZGRjODNkMDliOTRj
NTg1MTdjNGE5YTMyZTZmNmU1MjcwMDI3MTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTQ2
Miw2ICsxNDYyLDkgQEAgcHVibGljOgogICAgIFRleHRBdXRvU2l6aW5nJiB0ZXh0QXV0b1Npemlu
ZygpOwogI2VuZGlmCiAKKyAgICAvLyBGb3IgZGVidWdnaW5nIHJkYXI6Ly9wcm9ibGVtLzQ5ODc3
ODY3LgorICAgIHZvaWQgc2V0TWF5QmVEZXRhY2hlZEZyb21GcmFtZShib29sIG1heUJlRGV0YWNo
ZWRGcm9tRnJhbWUpIHsgbV9tYXlCZURldGFjaGVkRnJvbUZyYW1lID0gbWF5QmVEZXRhY2hlZEZy
b21GcmFtZTsgfQorCiAgICAgTG9nZ2VyJiBsb2dnZXIoKTsKIAogICAgIHZvaWQgaGFzU3RvcmFn
ZUFjY2VzcyhSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBhc3NlZFByb21pc2UpOwpAQCAtMjA1OSw2
ICsyMDYyLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9oYXNFdmFsdWF0ZWRVc2VyQWdlbnRT
Y3JpcHRzIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSdW5uaW5nVXNlclNjcmlwdHMgeyBmYWxz
ZSB9OworICAgIGJvb2wgbV9tYXlCZURldGFjaGVkRnJvbUZyYW1lIHsgdHJ1ZSB9OwogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCiAgICAgYm9vbCBtX2hhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24geyBm
YWxzZSB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hl
ZEZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCmluZGV4
IGU0NjE2NDk5NjBkYjNhNTRjNmYwNjE0ZmZkYzY2MTdiODAzYjQ0MDcuLjZhYmE5MjgwM2UwNmJl
ZWVlMDAxOTIxZjFiYWJkOTBhNjNmNWFjODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvQ2FjaGVkRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVk
RnJhbWUuY3BwCkBAIC0xNDMsMTAgKzE0MywyMCBAQCBDYWNoZWRGcmFtZTo6Q2FjaGVkRnJhbWUo
RnJhbWUmIGZyYW1lKQogICAgIEFTU0VSVChtX3ZpZXcpOwogICAgIEFTU0VSVChtX2RvY3VtZW50
LT5wYWdlQ2FjaGVTdGF0ZSgpID09IERvY3VtZW50OjpJblBhZ2VDYWNoZSk7CiAKKyAgICBSRUxF
QVNFX0FTU0VSVChtX2RvY3VtZW50LT5kb21XaW5kb3coKSk7CisgICAgUkVMRUFTRV9BU1NFUlQo
bV9kb2N1bWVudC0+ZnJhbWUoKSk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9kb2N1bWVudC0+ZG9t
V2luZG93KCktPmZyYW1lKCkpOworCisgICAgLy8gRklYTUU6IFdlIGhhdmUgZXZpZGVuY2UgdGhh
dCBjb25zdHJ1Y3RpbmcgQ2FjaGVkRnJhbWVzIGZvciBkZXNjZW5kYW50IGZyYW1lcyBtYXkgZGV0
YWNoIHRoZSBkb2N1bWVudCBmcm9tIGl0cyBmcmFtZSAocmRhcjovL3Byb2JsZW0vNDk4Nzc4Njcp
LgorICAgIC8vIFRoaXMgc2V0cyB0aGUgZmxhZyB0byBoZWxwIGZpbmQgdGhlIGd1aWx0eSBjb2Rl
LgorICAgIG1fZG9jdW1lbnQtPnNldE1heUJlRGV0YWNoZWRGcm9tRnJhbWUoZmFsc2UpOworCiAg
ICAgLy8gQ3JlYXRlIHRoZSBDYWNoZWRGcmFtZXMgZm9yIGFsbCBGcmFtZXMgaW4gdGhlIEZyYW1l
VHJlZS4KICAgICBmb3IgKEZyYW1lKiBjaGlsZCA9IGZyYW1lLnRyZWUoKS5maXJzdENoaWxkKCk7
IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkubmV4dFNpYmxpbmcoKSkKICAgICAgICAgbV9j
aGlsZEZyYW1lcy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxDYWNoZWRGcmFtZT4oKmNoaWxkKSk7
CiAKKyAgICBSRUxFQVNFX0FTU0VSVChtX2RvY3VtZW50LT5kb21XaW5kb3coKSk7CisgICAgUkVM
RUFTRV9BU1NFUlQobV9kb2N1bWVudC0+ZnJhbWUoKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9k
b2N1bWVudC0+ZG9tV2luZG93KCktPmZyYW1lKCkpOwogCiAgICAgLy8gQWN0aXZlIERPTSBvYmpl
Y3RzIG11c3QgYmUgc3VzcGVuZGVkIGJlZm9yZSB3ZSBjYWNoZSB0aGUgZnJhbWUgc2NyaXB0IGRh
dGEuCkBAIC0xOTMsNiArMjAzLDcgQEAgQ2FjaGVkRnJhbWU6OkNhY2hlZEZyYW1lKEZyYW1lJiBm
cmFtZSkKICAgICB9CiAjZW5kaWYKIAorICAgIG1fZG9jdW1lbnQtPnNldE1heUJlRGV0YWNoZWRG
cm9tRnJhbWUodHJ1ZSk7CiAgICAgbV9kb2N1bWVudC0+ZGV0YWNoRnJvbUNhY2hlZEZyYW1lKCp0
aGlzKTsKIAogICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFtX2RvY3VtZW50
TG9hZGVyLT5pc0xvYWRpbmcoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>