<?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>220145</bug_id>
          
          <creation_ts>2020-12-24 09:00:54 -0800</creation_ts>
          <short_desc>[Win][DumpRenderTree] Some JS tests are timing out only in Debug builds since r269157</short_desc>
          <delta_ts>2021-01-02 13:12:05 -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>WebKit 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>
          
          
          <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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>pvollan</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>sam</cc>
    
    <cc>stephan.szabo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1716582</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-24 17:00:54 -0800</bug_when>
    <thetext>[WinCairo] Some JS tests are timing out only in Debug builds

js/comparison-operators-greater.html
js/comparison-operators-less.html
js/comparison-operators.html
js/dfg-get-by-val-clobber.html
js/dfg-get-by-val-getter-cse.html
js/dfg-inline-arguments-out-of-bounds.html
js/dfg-inline-many-blocks.html
js/dfg-inlining-reg-alloc.html
js/dfg-integer-optimization.html
js/dfg-resolve-global-polymorphic-non-dictionary.html
js/dfg-string-stricteq.html
js/dfg-weak-js-constant-silent-fill.html
js/dom/dfg-put-by-id-reallocate-storage-polymorphic.html
js/dom/dfg-put-by-id-reallocate-storage.html
js/dom/reserved-words-as-property.html
js/dom/toInt32UInt32.html
js/integer-division-neg2tothe32-by-neg1.html
js/math-transforms.html

r269150 (3749) Good
r269175 (3752) Bad

https://build.webkit.org/results/WinCairo-64-bit-WKL-Debug-Tests/r269150%20%283749%29/results.html
https://build.webkit.org/results/WinCairo-64-bit-WKL-Debug-Tests/r269175%20%283752%29/results.html

https://trac.webkit.org/log/webkit/?action=stop_on_copy&amp;mode=stop_on_copy&amp;rev=269175&amp;stop_rev=269150&amp;limit=100</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716583</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-24 17:12:00 -0800</bug_when>
    <thetext>This issue is reproducible by invoking DumpRenderTree.exe manually.
DumpRenderTree.exe took 41 seconds, while WebKitTestRunner.exe took 4 seconds.

PS C:\home\webkit\gc&gt; Measure-Command { .\WebKitBuild\Debug\bin64\DumpRenderTree.exe file:///C:/home/webkit/gc/LayoutTests/js/comparison-operators-greater.html }
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 41
Milliseconds      : 762
Ticks             : 417627073
TotalDays         : 0.000483364667824074
TotalHours        : 0.0116007520277778
TotalMinutes      : 0.696045121666667
TotalSeconds      : 41.7627073
TotalMilliseconds : 41762.7073
PS C:\home\webkit\gc&gt; Measure-Command { .\WebKitBuild\Debug\bin64\WebKitTestRunner.exe file:///C:/home/webkit/gc/LayoutTests/js/comparison-operators-greater.html }
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 4
Milliseconds      : 813
Ticks             : 48136172
TotalDays         : 5.5713162037037E-05
TotalHours        : 0.00133711588888889
TotalMinutes      : 0.0802269533333333
TotalSeconds      : 4.8136172
TotalMilliseconds : 4813.6172
PS C:\home\webkit\gc&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716584</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-24 17:15:30 -0800</bug_when>
    <thetext>Here is the callstack of DumpRenderTree.exe after it outputs a test result.

&gt; WebKit.dll!WebCore::Style::BuilderState::applyPropertyToVisitedLinkStyle() Line 82	C++
&gt; WebKit.dll!WebCore::Style::Builder::applyProperty(WebCore::CSSPropertyID id, WebCore::CSSValue &amp; value, WebCore::SelectorChecker::LinkMatchMask linkMatchMask) Line 331	C++
&gt; WebKit.dll!WebCore::Style::Builder::applyCascadeProperty::__l2::&lt;lambda&gt;(WebCore::SelectorChecker::LinkMatchMask linkMatch) Line 253	C++
&gt; WebKit.dll!WebCore::Style::Builder::applyCascadeProperty(const WebCore::Style::PropertyCascade::Property &amp; property) Line 258	C++
&gt; WebKit.dll!WebCore::Style::Builder::applyPropertiesImpl&lt;1&gt;(int firstProperty, int lastProperty) Line 176	C++
&gt; WebKit.dll!WebCore::Style::Builder::applyProperties(int firstProperty, int lastProperty) Line 143	C++
&gt; WebKit.dll!WebCore::Style::Builder::applyHighPriorityProperties() Line 110	C++
&gt; WebKit.dll!WebCore::Style::Resolver::applyMatchedProperties(WebCore::Style::Resolver::State &amp; state, const WebCore::Style::MatchResult &amp; matchResult, WebCore::Style::Resolver::UseMatchedDeclarationsCache useMatchedDeclarationsCache) Line 548	C++
&gt; WebKit.dll!WebCore::Style::Resolver::applyMatchedProperties(WebCore::Style::Resolver::State &amp; state, const WebCore::Style::MatchResult &amp; matchResult, WebCore::Style::Resolver::UseMatchedDeclarationsCache useMatchedDeclarationsCache) Line 551	C++
&gt; WebKit.dll!WebCore::Style::Resolver::styleForElement(const WebCore::Element &amp; element, const WebCore::RenderStyle * parentStyle, const WebCore::RenderStyle * parentBoxStyle, WebCore::RuleMatchingBehavior matchingBehavior, const WebCore::SelectorFilter * selectorFilter) Line 243	C++
&gt; WebKit.dll!WebCore::Style::TreeResolver::styleForStyleable(const WebCore::Styleable &amp; styleable, const WebCore::RenderStyle &amp; inheritedStyle) Line 149	C++
&gt; WebKit.dll!WebCore::Style::TreeResolver::resolveElement(WebCore::Element &amp; element) Line 214	C++
&gt; WebKit.dll!WebCore::Style::TreeResolver::resolveComposedTree() Line 552	C++
&gt; WebKit.dll!WebCore::Style::TreeResolver::resolve() Line 610	C++
&gt; WebKit.dll!WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType type) Line 2035	C++
&gt; WebKit.dll!WebFrame::invalidate() Line 1112	C++
&gt; WebKit.dll!WebView::notifyPreferencesChanged(IWebNotification * notification) Line 5568	C++
&gt; WebKit.dll!WebView::onNotify(IWebNotification * notification) Line 5108	C++
&gt; WebKit.dll!WebNotificationCenter::postNotificationInternal(IWebNotification * notification, wchar_t * notificationName, IUnknown * anObject) Line 132	C++
&gt; WebKit.dll!WebNotificationCenter::postNotificationName(wchar_t * notificationName, IUnknown * anObject, IPropertyBag * userInfo) Line 182	C++
&gt; WebKit.dll!WebPreferences::postPreferencesChangesNotification() Line 155	C++
&gt; WebKit.dll!WebPreferences::setBoolPreferenceForTesting(wchar_t * key, int value) Line 2346	C++
&gt; DumpRenderTreeLib.dll!setWebPreferencesForTestOptions(IWebPreferences * preferences, const WTR::TestOptions &amp; options) Line 944	C++
&gt; DumpRenderTreeLib.dll!resetWebViewToConsistentStateBeforeTesting(const WTR::TestOptions &amp; options) Line 1051	C++
&gt; DumpRenderTreeLib.dll!runTest(const std::string &amp; inputLine) Line 1333	C++
&gt; DumpRenderTreeLib.dll!main(int argc, const char * * argv) Line 1668	C++
&gt; DumpRenderTreeLib.dll!dllLauncherEntryPoint(int argc, const char * * argv) Line 1704	C++
&gt; DumpRenderTree.exe!main(int argc, const char * * argv) Line 222	C++
&gt; [Inline Frame] DumpRenderTree.exe!invoke_main() Line 78	C++
&gt; DumpRenderTree.exe!__scrt_common_main_seh() Line 288	C++
&gt; kernel32.dll!00007fffd5997c24()	Unknown
&gt; ntdll.dll!00007fffd6d4d4d1()	Unknown

It is running Document::resolveStyle under resetWebViewToConsistentStateBeforeTesting !?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716585</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-24 17:37:40 -0800</bug_when>
    <thetext>r269157 seems the culprit.
Bug 218291 – [Testing] Remove requirement of adding new SPI for each preference that needs testing (WebKitLegacy Windows)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716586</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-24 17:57:37 -0800</bug_when>
    <thetext>Hi Sam and Brent,

Calling postPreferencesChangesNotification for every preference is costy.
Do you have a idea?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716588</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-24 19:47:58 -0800</bug_when>
    <thetext>There are two ways to solve it.

1. Don&apos;t call postPreferencesChangesNotification for every preference
2. Call resetWebViewToConsistentStateBeforeTesting after loading about:blank

Any other else? I&apos;m going to submit my proposed patch for #2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716607</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-12-25 12:11:20 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #5)
&gt; There are two ways to solve it.
&gt; 
&gt; 1. Don&apos;t call postPreferencesChangesNotification for every preference
&gt; 2. Call resetWebViewToConsistentStateBeforeTesting after loading about:blank
&gt; 
&gt; Any other else? I&apos;m going to submit my proposed patch for #2.

Is this a regression? What changed to make this happen and why does this only effect some JS tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716610</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-25 13:13:45 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #6)
&gt; (In reply to Fujii Hironori from comment #5)
&gt; &gt; There are two ways to solve it.
&gt; &gt; 
&gt; &gt; 1. Don&apos;t call postPreferencesChangesNotification for every preference
&gt; &gt; 2. Call resetWebViewToConsistentStateBeforeTesting after loading about:blank
&gt; &gt; 
&gt; &gt; Any other else? I&apos;m going to submit my proposed patch for #2.
&gt; 
&gt; Is this a regression? What changed to make this happen and why does this
&gt; only effect some JS tests?

Yes. Those JS test cases are generating large pages. It take long time to do resolveStyle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716613</commentid>
    <comment_count>8</comment_count>
      <attachid>416760</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-25 13:26:56 -0800</bug_when>
    <thetext>Created attachment 416760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716621</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-12-25 16:52:53 -0800</bug_when>
    <thetext>Ok, I think I see what the regression is, and I don&apos;t think this is the right fix.

The issue is that the old, function based preference setting goes through WebPreferences::setBoolValue() (or whatever specific type is being used) and WebPreferences::setBoolValue() does an early return if the preference is not going to change:

void WebPreferences::setBoolValue(const char* key, BOOL value)
{
    if (boolValueForKey(key) == value)
        return;


and therefore does not call postPreferencesChangesNotification() if the preference doesn&apos;t change.

We should have mimic&apos;d that for WebPreferences::setBoolPreferenceForTesting() but instead, we unconditionally call postPreferencesChangesNotification(), which is wrong.

We should update the new functions to early return. Something like this:

HRESULT WebPreferences::setBoolPreferenceForTesting(_In_ BSTR key, _In_ BOOL value)
{
    if (!SysStringLen(key))
        return E_FAIL;

#if USE(CF)
    auto keyString = String(key).createCFString();
    if (booleanValueForPreferencesValue(valueForKey(keyString.get()).get()) == value)
        return S_OK;
    setValueForKey(keyString.get(), value ? kCFBooleanTrue : kCFBooleanFalse);
#endif

    postPreferencesChangesNotification();

    return S_OK;
}

Your change seems ok as well, but it would be better to fix the actual issue here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716919</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-31 09:01:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/72756207&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716976</commentid>
    <comment_count>11</comment_count>
      <attachid>416891</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-01 21:56:55 -0800</bug_when>
    <thetext>Created attachment 416891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717010</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-02 13:12:03 -0800</bug_when>
    <thetext>Committed r271122: &lt;https://trac.webkit.org/changeset/271122&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416891.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416760</attachid>
            <date>2020-12-25 13:26:56 -0800</date>
            <delta_ts>2021-01-01 21:56:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220145-20201226062655.patch</filename>
            <type>text/plain</type>
            <size>2442</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDg0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjg0MDdhYWI0ZjNjZmY0MTJmOThjOTZhMmMwODE5ODFi
ZjJiNjljOS4uM2VjMDc3MzhlOWIzZWEzNDQxMDFlNzRhNWUwNDRiMDIwNzM4YjQ4OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDIwLTEyLTI1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dW0R1bXBSZW5kZXJUcmVlXSBTb21lIEpTIHRlc3RzIGFyZSB0aW1p
bmcgb3V0IG9ubHkgaW4gRGVidWcgYnVpbGRzIHNpbmNlIHIyNjkxNTcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDE0NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHIyNjkxNTcgYWRkZWQgYSBuZXcgV2Vi
S2l0MSBBUEkgdG8gc2V0IGEgcHJlZmVyZW5jZSwgYW5kCisgICAgICAgIER1bXBSZW5kZXJUcmVl
IHVzZXMgaXQgdG8gcmVzZXQgYWxsIHByZWZlcmVuY2VzIGFmdGVyIGVhY2gKKyAgICAgICAgdGVz
dGluZy4gSG93ZXZlciwgaXQgdG9vayBsb25nIHRpbWUgZm9yIGEgbGFyZ2UgcGFnZSBiZWNhdXNl
IHRoZQorICAgICAgICBBUEkgaXMgY2F1c2luZyByZXNvbHZlU3R5bGUgZm9yIGV2ZXJ5IHByZWZl
cmVuY2UuIFNvbWUgSlMgdGVzdHMKKyAgICAgICAgYXJlIGdlbmVyYXRpbmcgbGFyZ2UgcGFnZXMs
IGFuZCBmYWlsZWQgYXMgdGltZW91dCBpbiBkZWJ1ZyBidWlsZHMuCisKKyAgICAgICAgVGhlcmUg
YXJlIHR3byB3YXlzIHRvIHNvbHZlIGl0LgorICAgICAgICAxLiBEb24ndCBjYWxsIHBvc3RQcmVm
ZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRpb24gZm9yIGV2ZXJ5IHByZWZlcmVuY2UKKyAgICAgICAg
Mi4gQ2FsbCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcgYWZ0ZXIg
bG9hZGluZyBhIGJsYW5rIHBhZ2UKKworICAgICAgICBUYWtlIHRoZSBhcHByb2FjaCAjMi4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAg
IChydW5UZXN0KToKKwogMjAyMC0xMi0yMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+
CiAKICAgICAgICAgU2ltdWxhdGVkIFB5dGhvbiBjcmFzaCBkdXJpbmcgdGVzdCBydW5zCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBiZjJmYTcyNGJk
ZDhhY2IzZTI2NWI5ODA5ZDE4YmYyNDI1ZWE4ZDk5Li5iZGU3OTUzOTViYmEzYWNmNWFmNjRkOTUy
Yzk1ZmVjZDFiNzdhYmIxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHAKQEAgLTEzMjYsOCArMTMyNiw2IEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qg
c3RyaW5nJiBpbnB1dExpbmUpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXNldFdlYlZpZXdU
b0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3Rpbmcob3B0aW9ucyk7Ci0KICAgICAvLyBMb2FkaW5n
IGFuIGVtcHR5IHJlcXVlc3Qgc3luY2hyb25vdXNseSByZXBsYWNlcyB0aGUgZG9jdW1lbnQgd2l0
aCBhIGJsYW5rIG9uZSwgd2hpY2ggaXMgbmVjZXNzYXJ5CiAgICAgLy8gdG8gc3RvcCB0aW1lcnMs
IFdlYlNvY2tldHMgYW5kIG90aGVyIGFjdGl2aXR5IHRoYXQgY291bGQgb3RoZXJ3aXNlIHNwaWxs
IG91dHB1dCBpbnRvIG5leHQgdGVzdCdzIHJlc3VsdHMuCiAgICAgaWYgKFNVQ0NFRURFRChXZWJL
aXRDcmVhdGVJbnN0YW5jZShDTFNJRF9XZWJNdXRhYmxlVVJMUmVxdWVzdCwgMCwgSUlEX0lXZWJN
dXRhYmxlVVJMUmVxdWVzdCwgKHZvaWQqKikmZW1wdHlSZXF1ZXN0KSkpIHsKQEAgLTEzNDEsNiAr
MTMzOSwxMCBAQCBzdGF0aWMgdm9pZCBydW5UZXN0KGNvbnN0IHN0cmluZyYgaW5wdXRMaW5lKQog
ICAgIEFTU0VSVChvcGVuV2luZG93cygpLnNpemUoKSA9PSAxKTsKICAgICBBU1NFUlQob3Blbldp
bmRvd3MoKVswXSA9PSBob3N0V2luZG93KTsKIAorICAgIC8vIFJlc2V0IHByZWZlcmVuY2VzIGFm
dGVyIGxvYWRpbmcgYSBibGFuayBwYWdlIGJlY2F1c2UgaXQgaXMgdG9vCisgICAgLy8gc2xvdyBm
b3IgbGFyZ2UgcGFnZXMuCisgICAgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVU
ZXN0aW5nKG9wdGlvbnMpOworCiBleGl0OgogICAgIHJlbW92ZUZvbnRGYWxsYmFja0lmUHJlc2Vu
dChmYWxsYmFja1BhdGgpOwogICAgIDo6Z1Rlc3RSdW5uZXItPmNsZWFudXAoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416891</attachid>
            <date>2021-01-01 21:56:55 -0800</date>
            <delta_ts>2021-01-02 13:12:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220145-20210102145654.patch</filename>
            <type>text/plain</type>
            <size>3851</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5k
ZXggYTE1ODNkOGE3MmRiOGVmNDAwY2ZlNzRiMDhiNWVkNzI2OGM5ZmI5Ny4uZTM2MThkNGZlMTcx
N2VhZmZiYmFmNGQ3MzhjMDNlNmVlZjg5MzYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAxLTAxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5dW0R1bXBSZW5kZXJUcmVlXSBTb21lIEpT
IHRlc3RzIGFyZSB0aW1pbmcgb3V0IG9ubHkgaW4gRGVidWcgYnVpbGRzIHNpbmNlIHIyNjkxNTcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDE0NQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzI3NTYyMDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcjI2OTE1NyBhZGRlZCBuZXcgV2ViS2l0MSBBUElz
IHRvIHNldCBhIHByZWZlcmVuY2UsIGFuZAorICAgICAgICBEdW1wUmVuZGVyVHJlZSB1c2VzIHRo
ZW0gdG8gcmVzZXQgYWxsIHByZWZlcmVuY2VzIGFmdGVyIGVhY2gKKyAgICAgICAgdGVzdGluZy4g
SG93ZXZlciwgaXQgd2FzIHRvbyBzbG93IGZvciBsYXJnZSBwYWdlcyBiZWNhdXNlIHRoZSBBUEkK
KyAgICAgICAgaXMgY2F1c2luZyByZXNvbHZlU3R5bGUgZm9yIGV2ZXJ5IHByZWZlcmVuY2UuIFNv
bWUgSlMgdGVzdHMgZmFpbGVkCisgICAgICAgIGFzIHRpbWVvdXQgaW4gZGVidWcgYnVpbGRzIGJl
Y2F1c2UgdGhleSBhcmUgZ2VuZXJhdGluZyBsYXJnZQorICAgICAgICBwYWdlcy4KKworICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKHN0cmluZ1ZhbHVlRm9yUHJlZmVyZW5j
ZXNWYWx1ZSk6IEFkZGVkLgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldEJvb2xQcmVmZXJl
bmNlRm9yVGVzdGluZyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0VUludDMyUHJlZmVy
ZW5jZUZvclRlc3RpbmcpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldERvdWJsZVByZWZl
cmVuY2VGb3JUZXN0aW5nKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRTdHJpbmdQcmVm
ZXJlbmNlRm9yVGVzdGluZyk6CisgICAgICAgIERvIG5vdGhpbmcgaWYgdGhlIG5ldyBwcmVmZXJl
bmNlIHZhbHVlIGlzIHNhbWUgd2l0aCB0aGUgY3VycmVudAorICAgICAgICB2YWx1ZS4KKwogMjAy
MC0xMi0xOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE1vdmUgRnJh
bWVMb2FkZXI6OmFyZVBsdWdpbnNFbmFibGVkIHRvIEZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggMTVhYTM3YjUzMTY2M2JlYjQ4MTg0NjZjZTk2
NzJjM2VkYjljYTUwNS4uYzFiN2MwZjhlNzZmZTdmMTIwZTEyMDIwMjE2NGZkMzJmODg4OTIxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcApAQCAtMTA1LDYg
KzEwNSwxNiBAQCBzdGF0aWMgYm9vbCBib29sZWFuVmFsdWVGb3JQcmVmZXJlbmNlc1ZhbHVlKENG
UHJvcGVydHlMaXN0UmVmIHZhbHVlKQogICAgIHJldHVybiBudW1iZXJWYWx1ZUZvclByZWZlcmVu
Y2VzVmFsdWU8aW50Pih2YWx1ZSk7CiB9CiAKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+
IHN0cmluZ1ZhbHVlRm9yUHJlZmVyZW5jZXNWYWx1ZShDRlByb3BlcnR5TGlzdFJlZiB2YWx1ZSkK
K3sKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoQ0ZH
ZXRUeXBlSUQodmFsdWUpICE9IENGU3RyaW5nR2V0VHlwZUlEKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPih2YWx1ZSk7Cit9
CisKIC8vIFdlYlByZWZlcmVuY2VzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogc3RhdGljIENGRGljdGlvbmFyeVJlZiBk
ZWZhdWx0U2V0dGluZ3M7CkBAIC0yMzM4LDYgKzIzNDgsOCBAQCBIUkVTVUxUIFdlYlByZWZlcmVu
Y2VzOjpzZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyBCT09M
IHZhbAogCiAjaWYgVVNFKENGKQogICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3Jl
YXRlQ0ZTdHJpbmcoKTsKKyAgICBpZiAoYm9vbGVhblZhbHVlRm9yUHJlZmVyZW5jZXNWYWx1ZSh2
YWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCkpLmdldCgpKSA9PSAhIXZhbHVlKQorICAgICAgICBy
ZXR1cm4gU19PSzsKICAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIHZhbHVlID8g
a0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UpOwogI2VuZGlmCiAKQEAgLTIzNTMsNiAr
MjM2NSw4IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFVJbnQzMlByZWZlcmVuY2VGb3JU
ZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gdW5zaWduCiAKICNpZiBVU0UoQ0YpCiAgICAgYXV0
byBrZXlTdHJpbmcgPSBTdHJpbmcoa2V5KS5jcmVhdGVDRlN0cmluZygpOworICAgIGlmIChudW1i
ZXJWYWx1ZUZvclByZWZlcmVuY2VzVmFsdWU8aW50Pih2YWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0
KCkpLmdldCgpKSA9PSB2YWx1ZSkKKyAgICAgICAgcmV0dXJuIFNfT0s7CiAgICAgc2V0VmFsdWVG
b3JLZXkoa2V5U3RyaW5nLmdldCgpLCBjZk51bWJlcihzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSku
Z2V0KCkpOwogI2VuZGlmCiAKQEAgLTIzNjgsNiArMjM4Miw4IEBAIEhSRVNVTFQgV2ViUHJlZmVy
ZW5jZXM6OnNldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8g
ZG91YmxlCiAKICNpZiBVU0UoQ0YpCiAgICAgYXV0byBrZXlTdHJpbmcgPSBTdHJpbmcoa2V5KS5j
cmVhdGVDRlN0cmluZygpOworICAgIGlmIChudW1iZXJWYWx1ZUZvclByZWZlcmVuY2VzVmFsdWU8
ZmxvYXQ+KHZhbHVlRm9yS2V5KGtleVN0cmluZy5nZXQoKSkuZ2V0KCkpID09IHZhbHVlKQorICAg
ICAgICByZXR1cm4gU19PSzsKICAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIGNm
TnVtYmVyKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSkpLmdldCgpKTsKICNlbmRpZgogCkBAIC0y
Mzg0LDYgKzI0MDAsOCBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRTdHJpbmdQcmVmZXJl
bmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIEJTVFIgdgogI2lmIFVTRShDRikKICAg
ICBhdXRvIGtleVN0cmluZyA9IFN0cmluZyhrZXkpLmNyZWF0ZUNGU3RyaW5nKCk7CiAgICAgYXV0
byB2YWx1ZVN0cmluZyA9IFN0cmluZyh2YWx1ZSkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBpZiAo
IUNGU3RyaW5nQ29tcGFyZShzdHJpbmdWYWx1ZUZvclByZWZlcmVuY2VzVmFsdWUodmFsdWVGb3JL
ZXkoa2V5U3RyaW5nLmdldCgpKS5nZXQoKSkuZ2V0KCksIHZhbHVlU3RyaW5nLmdldCgpLCAwKSkK
KyAgICAgICAgcmV0dXJuIFNfT0s7CiAgICAgc2V0VmFsdWVGb3JLZXkoa2V5U3RyaW5nLmdldCgp
LCB2YWx1ZVN0cmluZy5nZXQoKSk7CiAjZW5kaWYKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>