<?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>171800</bug_id>
          
          <creation_ts>2017-05-08 03:21:48 -0700</creation_ts>
          <short_desc>[Win] StaticStringImpl in HTMLNames.cpp aren&apos;t constructed</short_desc>
          <delta_ts>2017-05-10 00:23:03 -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>Web Template Framework</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>171586</dependson>
    
    <dependson>171702</dependson>
    
    <dependson>171861</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mark.lam</cc>
    
    <cc>pvollan</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1305831</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-08 03:21:48 -0700</bug_when>
    <thetext>Since Bug 171586, when I start MiniBrowser of WinCairo port, the following assertion fails:

&gt; ASSERTION FAILED: hasHash()
&gt; C:\webkit\ga\WebKitBuild\Debug\DerivedSources\ForwardingHeaders\wtf/text/StringImpl.h(883) : WTF::StringImpl::assertHashIsCorrect

Callstack:

&gt; WTF.dll!WTFCrash() Line 292	C++
&gt; WebKit.dll!WTF::StringImpl::assertHashIsCorrect() Line 883	C++
&gt; WebKit.dll!WebCore::HTMLNames::init() Line 1666	C++
&gt; WebKit.dll!WebCore::Frame::Frame(WebCore::Page &amp; page, WebCore::HTMLFrameOwnerElement * ownerElement, WebCore::FrameLoaderClient &amp; frameLoaderClient) Line 175	C++
&gt; WebKit.dll!WebCore::MainFrame::MainFrame(WebCore::Page &amp; page, WebCore::PageConfiguration &amp; configuration) Line 56	C++
&gt; WebKit.dll!WebCore::MainFrame::create(WebCore::Page &amp; page, WebCore::PageConfiguration &amp; configuration) Line 68	C++
&gt; WebKit.dll!WebCore::Page::Page(WebCore::PageConfiguration &amp;&amp; pageConfiguration) Line 271	C++
&gt; WebKit.dll!WebView::initWithFrame(tagRECT frame, wchar_t * frameName, wchar_t * groupName) Line 3122	C++
&gt; MiniBrowserLib.dll!MiniBrowser::prepareViews(HWND__ * mainWnd, const tagRECT &amp; clientRect, wchar_t * const &amp; requestedURL, HWND__ * &amp; viewHwnd) Line 100	C++
&gt; MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 160	C++
&gt; MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 857	C++
&gt; MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 249	C++
&gt; [External Code]	

All layout test of AppleWin port also fail:
https://build.webkit.org/builders/Apple%20Win%207%20Release%20%28Tests%29/builds/593</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306293</commentid>
    <comment_count>1</comment_count>
      <attachid>309479</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-05-09 00:12:21 -0700</bug_when>
    <thetext>Created attachment 309479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306296</commentid>
    <comment_count>2</comment_count>
      <attachid>309480</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-05-09 00:15:19 -0700</bug_when>
    <thetext>Created attachment 309480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306302</commentid>
    <comment_count>3</comment_count>
      <attachid>309480</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-09 00:35:40 -0700</bug_when>
    <thetext>Comment on attachment 309480
Patch

Hmm, I think we should fix this issue by ensuring StaticStringImpl is correctly initialized at compile time in Windows even in it is a global variable.
Current fix is moving it to static variables in functions. It does not work well for StringImpl::empty()&apos;s static string.
And we don&apos;t want to make it static string inside function because we cannot make StringImpl::empty() inline-function.

Since assertHashIsCorrect() exists before Bug 171586, I guess Bug 171586 change makes these strings non-compile-time-initialized in Windows.
Can you ensure that this `assertHashIsCorrect()` does not fire before Bug 171586?
We can guarantee that they are compile-time-initialized in OSX since we fail to compile if the code includes global constructor invocations.

If we can ensure that this `assertHashIsCorrect()` does not fire before Bug 171586, we can assume that Bug 171586 changes these strings non-compile-time-initialized thing in Windows. And I think the right fix is changing them compile-time-string again (as is in OSX).
I guess non-constexpr StringImplShape is called from StaticStringImpl constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306319</commentid>
    <comment_count>4</comment_count>
      <attachid>309486</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-05-09 02:12:11 -0700</bug_when>
    <thetext>Created attachment 309486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306320</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-05-09 02:13:26 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #3)
&gt; Comment on attachment 309480 [details]
&gt; Patch
&gt; 
&gt; Hmm, I think we should fix this issue by ensuring StaticStringImpl is
&gt; correctly initialized at compile time in Windows even in it is a global
&gt; variable.
&gt; Current fix is moving it to static variables in functions. It does not work
&gt; well for StringImpl::empty()&apos;s static string.
&gt; And we don&apos;t want to make it static string inside function because we cannot
&gt; make StringImpl::empty() inline-function.
&gt; 
&gt; Since assertHashIsCorrect() exists before Bug 171586, I guess Bug 171586
&gt; change makes these strings non-compile-time-initialized in Windows.
&gt; Can you ensure that this `assertHashIsCorrect()` does not fire before Bug
&gt; 171586?
&gt; We can guarantee that they are compile-time-initialized in OSX since we fail
&gt; to compile if the code includes global constructor invocations.
&gt; 
&gt; If we can ensure that this `assertHashIsCorrect()` does not fire before Bug
&gt; 171586, we can assume that Bug 171586 changes these strings
&gt; non-compile-time-initialized thing in Windows. And I think the right fix is
&gt; changing them compile-time-string again (as is in OSX).
&gt; I guess non-constexpr StringImplShape is called from StaticStringImpl
&gt; constructor.

Thanks for reviewing! Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306323</commentid>
    <comment_count>6</comment_count>
      <attachid>309486</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-09 02:47:35 -0700</bug_when>
    <thetext>Comment on attachment 309486
Patch

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

&gt; Source/WebCore/dom/make_names.pl:577
&gt; +    print F &quot;#undef SKIP_STATIC_CONSTRUCTORS_ON_MSVC\n\n&quot;;

Oops, sorry for my misleading comment.

We should not allow static constructors here.
I mean that we should ensure that Windows works before Bug 171586.
Not invoking static constructors is fine. (so above change is not correct).

But these variables should be initialized because these variables invokes `constexpr` constructors.
I suspect that Bug 171586 change makes these variables uninitialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306330</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-05-09 03:55:36 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #6)
&gt; Comment on attachment 309486 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=309486&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/make_names.pl:577
&gt; &gt; +    print F &quot;#undef SKIP_STATIC_CONSTRUCTORS_ON_MSVC\n\n&quot;;
&gt; 
&gt; Oops, sorry for my misleading comment.
&gt; 
&gt; We should not allow static constructors here.
&gt; I mean that we should ensure that Windows works before Bug 171586.
&gt; Not invoking static constructors is fine. (so above change is not correct).
&gt; 
&gt; But these variables should be initialized because these variables invokes
&gt; `constexpr` constructors.
&gt; I suspect that Bug 171586 change makes these variables uninitialized.

Yes, I believe this was working before Bug 171586.
When SKIP_STATIC_CONSTRUCTORS_ON_MSVC is defined on Windows, not only static constructors are skipped, but also compile time initialization of objects is incorrect. When not defining SKIP_STATIC_CONSTRUCTORS_ON_MSVC, the compile time initialization of these objects seem to be correct.

From StaticConstructors.h:

#ifdef SKIP_STATIC_CONSTRUCTORS_ON_MSVC
// - Assume that all includes of this header want ALL of their static
//   initializers ignored. This is currently the case. This means that if
//   a .cc includes this header (or it somehow gets included), all static
//   initializers after the include will not be executed.
// - We do this with a pragma, so that all of the static initializer pointers
//   go into our own section, and the CRT won&apos;t call them. Eventually it would
//   be nice if the section was discarded, because we don&apos;t want the pointers.
//   See: http://msdn.microsoft.com/en-us/library/7977wcck(VS.80).aspx
#pragma warning(disable:4075)
#pragma init_seg(&quot;.unwantedstaticinits&quot;)
#endif

This will skip static constructors as expected, but also seem to have the side effect of not initializing the objects in HTMLNames.cpp at compile time. Please correct me if I am wrong. Perhaps we should investigate whether  this pragma should be used at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306332</commentid>
    <comment_count>8</comment_count>
      <attachid>309486</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-09 04:06:21 -0700</bug_when>
    <thetext>Comment on attachment 309486
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/make_names.pl:577
&gt;&gt;&gt; +    print F &quot;#undef SKIP_STATIC_CONSTRUCTORS_ON_MSVC\n\n&quot;;
&gt;&gt; 
&gt;&gt; Oops, sorry for my misleading comment.
&gt;&gt; 
&gt;&gt; We should not allow static constructors here.
&gt;&gt; I mean that we should ensure that Windows works before Bug 171586.
&gt;&gt; Not invoking static constructors is fine. (so above change is not correct).
&gt;&gt; 
&gt;&gt; But these variables should be initialized because these variables invokes `constexpr` constructors.
&gt;&gt; I suspect that Bug 171586 change makes these variables uninitialized.
&gt; 
&gt; Yes, I believe this was working before Bug 171586.
&gt; When SKIP_STATIC_CONSTRUCTORS_ON_MSVC is defined on Windows, not only static constructors are skipped, but also compile time initialization of objects is incorrect. When not defining SKIP_STATIC_CONSTRUCTORS_ON_MSVC, the compile time initialization of these objects seem to be correct.
&gt; 
&gt; From StaticConstructors.h:
&gt; 
&gt; #ifdef SKIP_STATIC_CONSTRUCTORS_ON_MSVC
&gt; // - Assume that all includes of this header want ALL of their static
&gt; //   initializers ignored. This is currently the case. This means that if
&gt; //   a .cc includes this header (or it somehow gets included), all static
&gt; //   initializers after the include will not be executed.
&gt; // - We do this with a pragma, so that all of the static initializer pointers
&gt; //   go into our own section, and the CRT won&apos;t call them. Eventually it would
&gt; //   be nice if the section was discarded, because we don&apos;t want the pointers.
&gt; //   See: http://msdn.microsoft.com/en-us/library/7977wcck(VS.80).aspx
&gt; #pragma warning(disable:4075)
&gt; #pragma init_seg(&quot;.unwantedstaticinits&quot;)
&gt; #endif
&gt; 
&gt; This will skip static constructors as expected, but also seem to have the side effect of not initializing the objects in HTMLNames.cpp at compile time. Please correct me if I am wrong. Perhaps we should investigate whether  this pragma should be used at all?

If this was working before Bug 171586, should we fix StaticStringImpl side instead of adding the above undef?
This is because our StaticStringImpl work fine even if SKIP_STATIC_CONSTRUCTORS_ON_MSVC is defined before Bug 171586.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306335</commentid>
    <comment_count>9</comment_count>
      <attachid>309486</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-09 04:19:45 -0700</bug_when>
    <thetext>Comment on attachment 309486
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/dom/make_names.pl:577
&gt;&gt;&gt;&gt; +    print F &quot;#undef SKIP_STATIC_CONSTRUCTORS_ON_MSVC\n\n&quot;;
&gt;&gt;&gt; 
&gt;&gt;&gt; Oops, sorry for my misleading comment.
&gt;&gt;&gt; 
&gt;&gt;&gt; We should not allow static constructors here.
&gt;&gt;&gt; I mean that we should ensure that Windows works before Bug 171586.
&gt;&gt;&gt; Not invoking static constructors is fine. (so above change is not correct).
&gt;&gt;&gt; 
&gt;&gt;&gt; But these variables should be initialized because these variables invokes `constexpr` constructors.
&gt;&gt;&gt; I suspect that Bug 171586 change makes these variables uninitialized.
&gt;&gt; 
&gt;&gt; Yes, I believe this was working before Bug 171586.
&gt;&gt; When SKIP_STATIC_CONSTRUCTORS_ON_MSVC is defined on Windows, not only static constructors are skipped, but also compile time initialization of objects is incorrect. When not defining SKIP_STATIC_CONSTRUCTORS_ON_MSVC, the compile time initialization of these objects seem to be correct.
&gt;&gt; 
&gt;&gt; From StaticConstructors.h:
&gt;&gt; 
&gt;&gt; #ifdef SKIP_STATIC_CONSTRUCTORS_ON_MSVC
&gt;&gt; // - Assume that all includes of this header want ALL of their static
&gt;&gt; //   initializers ignored. This is currently the case. This means that if
&gt;&gt; //   a .cc includes this header (or it somehow gets included), all static
&gt;&gt; //   initializers after the include will not be executed.
&gt;&gt; // - We do this with a pragma, so that all of the static initializer pointers
&gt;&gt; //   go into our own section, and the CRT won&apos;t call them. Eventually it would
&gt;&gt; //   be nice if the section was discarded, because we don&apos;t want the pointers.
&gt;&gt; //   See: http://msdn.microsoft.com/en-us/library/7977wcck(VS.80).aspx
&gt;&gt; #pragma warning(disable:4075)
&gt;&gt; #pragma init_seg(&quot;.unwantedstaticinits&quot;)
&gt;&gt; #endif
&gt;&gt; 
&gt;&gt; This will skip static constructors as expected, but also seem to have the side effect of not initializing the objects in HTMLNames.cpp at compile time. Please correct me if I am wrong. Perhaps we should investigate whether  this pragma should be used at all?
&gt; 
&gt; If this was working before Bug 171586, should we fix StaticStringImpl side instead of adding the above undef?
&gt; This is because our StaticStringImpl work fine even if SKIP_STATIC_CONSTRUCTORS_ON_MSVC is defined before Bug 171586.

I guess, StaticStringImpl should call StringImplShape base constructor with the form like `StringImplShape&lt;charactersCount&gt;(...)`. And maybe, constexpr StringImplShape constructor needs changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306336</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-09 04:26:02 -0700</bug_when>
    <thetext>I tested a following code with VS2015Update3.

&gt; #include &quot;stdio.h&quot;
&gt; 
&gt; class Foo {
&gt; public:
&gt;     Foo(int x, int y) : m_x(x), m_y(y) { }
&gt;     constexpr Foo(int x) : m_x(x), m_y(0) { }
&gt;     int m_x;
&gt;     int m_y;
&gt; };
&gt; 
&gt; Foo f1(1, 2);
&gt; Foo f2(2);
&gt; 
&gt; #pragma init_seg(&quot;.hoge&quot;)
&gt; 
&gt; Foo f3(1, 2);
&gt; Foo f4(2);
&gt; 
&gt; int main()
&gt; {
&gt;     printf(&quot;%d\n&quot;, f1 .m_x);
&gt;     printf(&quot;%d\n&quot;, f2 .m_x);
&gt;     printf(&quot;%d\n&quot;, f3 .m_x);
&gt;     printf(&quot;%d\n&quot;, f4 .m_x);
&gt;     return 0;
&gt; }

Result:

&gt; 1
&gt; 2
&gt; 0
&gt; 2

The init_seg trick skips only non-constexpr constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306337</commentid>
    <comment_count>11</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-05-09 04:33:48 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #8)
&gt; Comment on attachment 309486 [details]
&gt; Patch
&gt; 
&gt; If this was working before Bug 171586, should we fix StaticStringImpl side
&gt; instead of adding the above undef?
&gt; This is because our StaticStringImpl work fine even if
&gt; SKIP_STATIC_CONSTRUCTORS_ON_MSVC is defined before Bug 171586.

Sorry, I might be misunderstanding here :)

Instead of adding the undef, perhaps we should look into removing #pragma init_seg(&quot;.unwantedstaticinits&quot;) from StaticConstructors.h, since it seems to break compile time initialization?

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306338</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-09 05:06:00 -0700</bug_when>
    <thetext>(In reply to Per Arne Vollan from comment #11)
&gt; (In reply to Yusuke Suzuki from comment #8)
&gt; &gt; Comment on attachment 309486 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; If this was working before Bug 171586, should we fix StaticStringImpl side
&gt; &gt; instead of adding the above undef?
&gt; &gt; This is because our StaticStringImpl work fine even if
&gt; &gt; SKIP_STATIC_CONSTRUCTORS_ON_MSVC is defined before Bug 171586.
&gt; 
&gt; Sorry, I might be misunderstanding here :)
&gt; 
&gt; Instead of adding the undef, perhaps we should look into removing #pragma
&gt; init_seg(&quot;.unwantedstaticinits&quot;) from StaticConstructors.h, since it seems
&gt; to break compile time initialization?

Ah, no. Instead of adding undef / changing pragma init_seg, we should fix the current implementation of StaticStringImpl. If this was working before Bug 171586, the patch introduced in Bug 171586 breaks the StaticStringImpl.

&gt; 
&gt; Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306392</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-05-09 08:49:02 -0700</bug_when>
    <thetext>@Per, thanks for investigating and identifying what is going wrong here.  I agree with Yusuke&apos;s point that StaticStringImpl should use the constexpr forms of StringImplShape&apos;s constructors.  However, I&apos;m not 100% certain that that&apos;s all there is to it.

So, I&apos;ll file a separate bug to implement Yusuke&apos;s solution, and we&apos;ll see how the bots fare thereafter.  If the issue is resolved, we can close this bug as a dupe.  If not, we&apos;ll use this bug to investigate the next issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306396</commentid>
    <comment_count>14</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-05-09 08:57:47 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #13)
&gt; @Per, thanks for investigating and identifying what is going wrong here.  I
&gt; agree with Yusuke&apos;s point that StaticStringImpl should use the constexpr
&gt; forms of StringImplShape&apos;s constructors.  However, I&apos;m not 100% certain that
&gt; that&apos;s all there is to it.
&gt; 
&gt; So, I&apos;ll file a separate bug to implement Yusuke&apos;s solution, and we&apos;ll see
&gt; how the bots fare thereafter.  If the issue is resolved, we can close this
&gt; bug as a dupe.  If not, we&apos;ll use this bug to investigate the next issue.

Sounds good, thanks guys!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306535</commentid>
    <comment_count>15</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-05-09 13:41:28 -0700</bug_when>
    <thetext>@Per, the fix for https://bugs.webkit.org/show_bug.cgi?id=171861 has landed in r216512, but from the looks of the bot, I suspect that it didn&apos;t work.  Can you investigate further and see whether VC++ is honoring constexprs at all?  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306714</commentid>
    <comment_count>16</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-09 20:10:12 -0700</bug_when>
    <thetext>A lot of compilation warnings are output while compiling HTMLNames.cpp of WinCairo port:

&gt;------ Build started: Project: WebCoreDerivedSources, Configuration: Debug x64 ------
&gt;  HTMLNames.cpp
&gt;C:\webkit\ga\WebKitBuild\Debug\DerivedSources\WebCore\HTMLNames.cpp(54): warning C4592: &apos;WebCore::HTMLNames::aData&apos;: symbol will be dynamically initialized (implementation limitation)
&gt;C:\webkit\ga\WebKitBuild\Debug\DerivedSources\WebCore\HTMLNames.cpp(55): warning C4592: &apos;WebCore::HTMLNames::abbrData&apos;: symbol will be dynamically initialized (implementation limitation)
&gt;C:\webkit\ga\WebKitBuild\Debug\DerivedSources\WebCore\HTMLNames.cpp(56): warning C4592: &apos;WebCore::HTMLNames::acceptData&apos;: symbol will be dynamically initialized (implementation limitation)
&gt;C:\webkit\ga\WebKitBuild\Debug\DerivedSources\WebCore\HTMLNames.cpp(57): warning C4592: &apos;WebCore::HTMLNames::accept_charsetData&apos;: symbol will be dynamically initialized (implementation limitation)
&gt;C:\webkit\ga\WebKitBuild\Debug\DerivedSources\WebCore\HTMLNames.cpp(58): warning C4592: &apos;WebCore::HTMLNames::accesskeyData&apos;: symbol will be dynamically initialized (implementation limitation)
&gt;(...)

Supprisingly, these warnings had been output even before Bug 171586 change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306730</commentid>
    <comment_count>17</comment_count>
      <attachid>309578</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-09 21:29:48 -0700</bug_when>
    <thetext>Created attachment 309578
WIP patch

&gt;    constexpr StringImplShape(unsigned refCount, unsigned length, const char (&amp;characters)[charactersCount], unsigned hashAndFlags, ConstructWithConstExprTag)
&gt;        : m_refCount(refCount)
&gt;        , m_length(length)
&gt;        , m_data8(reinterpret_cast&lt;const LChar*&gt;(characters))
&gt;        , m_hashAndFlags(hashAndFlags)
&gt;    { }

It seems that this reinterpret_cast prevents the compile-time-initialization.
This reinterpret_cast has been introduced in Bug 171586.

I removed the reinterpret_cast in the WIP patch. It works fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306734</commentid>
    <comment_count>18</comment_count>
      <attachid>309579</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-09 22:26:35 -0700</bug_when>
    <thetext>Created attachment 309579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306745</commentid>
    <comment_count>19</comment_count>
      <attachid>309579</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-05-09 23:54:42 -0700</bug_when>
    <thetext>Comment on attachment 309579
Patch

r=me. Right, reinterpret_cast is not constexpr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306751</commentid>
    <comment_count>20</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-05-10 00:22:32 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #18)
&gt; Created attachment 309579 [details]
&gt; Patch

Great work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306752</commentid>
    <comment_count>21</comment_count>
      <attachid>309579</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-10 00:23:00 -0700</bug_when>
    <thetext>Comment on attachment 309579
Patch

Clearing flags on attachment: 309579

Committed r216566: &lt;http://trac.webkit.org/changeset/216566&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306753</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-10 00:23:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309479</attachid>
            <date>2017-05-09 00:12:21 -0700</date>
            <delta_ts>2017-05-09 00:15:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171800-20170509001221.patch</filename>
            <type>text/plain</type>
            <size>2975</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjQ4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA1LTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2luXSBTdGF0aWNTdHJp
bmdJbXBsIGluIEhUTUxOYW1lcy5jcHAgYXJlbid0IGNvbnN0cnVjdGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE4MDAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgdW5rbm93biByZWFzb25zLCB0
aGUgY29uc3RydWN0b3JzIG9mIHRoZSBTdGF0aWNTdHJpbmdJbXBsIG9iamVjdHMgYXJlIGN1cnJl
bnRseSBub3QgY2FsbGVkLAorICAgICAgICB0aGlzIGlzIHBvc3NpYmx5IGEgY29tcGlsZXIgaXNz
dWVzLiBBZnRlciBtb3ZpbmcgdGhlIGRlZmluaXRpb24gb2YgdGhlc2Ugb2JqZWN0cyBpbnRvIHRo
ZSBpbml0KCkKKyAgICAgICAgbWV0aG9kLCB0aGUgY29uc3RydWN0b3JzIGFyZSBjYWxsZWQuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL1N0YXRpY1N0cmluZy5wbToKKyAgICAgICAgKEdl
bmVyYXRlU3RyaW5ncyk6CisgICAgICAgICogZG9tL21ha2VfbmFtZXMucGw6CisgICAgICAgIChw
cmludE5hbWVzQ3BwRmlsZSk6CisKIDIwMTctMDUtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciAvIENsZWFuIHVwIERPTVdpbmRvdy5pZGwKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvU3RhdGljU3RyaW5nLnBtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvU3RhdGljU3RyaW5nLnBt
CShyZXZpc2lvbiAyMTY0NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL1N0
YXRpY1N0cmluZy5wbQkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQCBFTkQKIAogICAg
IGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVzdHJpbmdzKSB7CiAgICAgICAgIG15ICR2YWx1ZSA9
ICRzdHJpbmdzeyRuYW1lfTsKLSAgICAgICAgcHVzaChAcmVzdWx0LCAic3RhdGljIFN0cmluZ0lt
cGw6OlN0YXRpY1N0cmluZ0ltcGwgJHtuYW1lfURhdGEoXCIke3ZhbHVlfVwiKTtcbiIpOworICAg
ICAgICBwdXNoKEByZXN1bHQsICIgICAgc3RhdGljIFN0cmluZ0ltcGw6OlN0YXRpY1N0cmluZ0lt
cGwgJHtuYW1lfURhdGEoXCIke3ZhbHVlfVwiKTtcbiIpOwogICAgIH0KIAogICAgIHB1c2goQHJl
c3VsdCwgPDxFTkQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwJKHJldmlzaW9uIDIx
NjQ3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjUsOCArMTI1LDYgQEAgaWYgKGxlbmd0aCgkZm9udE5hbWVzSW4pKSB7CiAgICAgcHJp
bnRMaWNlbnNlSGVhZGVyKCRGKTsKICAgICBwcmludENwcEhlYWQoJEYsICJDU1MiLCAkZmFtaWx5
TmFtZXNGaWxlQmFzZSwgIldURiIpOwogCi0gICAgcHJpbnQgRiBTdGF0aWNTdHJpbmc6OkdlbmVy
YXRlU3RyaW5ncyhcJXBhcmFtZXRlcnMpOwotCiAgICAgZm9yIG15ICRuYW1lIChzb3J0IGtleXMg
JXBhcmFtZXRlcnMpIHsKICAgICAgICAgcHJpbnQgRiAiREVGSU5FX0dMT0JBTChBdG9taWNTdHJp
bmcsICRuYW1lKVxuIjsKICAgICB9CkBAIC0xMzQsNiArMTMyLDkgQEAgaWYgKGxlbmd0aCgkZm9u
dE5hbWVzSW4pKSB7CiAgICAgcHJpbnRJbml0KCRGLCAwKTsKIAogICAgIHByaW50IEYgIlxuIjsK
KworICAgIHByaW50IEYgU3RhdGljU3RyaW5nOjpHZW5lcmF0ZVN0cmluZ3MoXCVwYXJhbWV0ZXJz
KTsKKwogICAgIHByaW50IEYgU3RhdGljU3RyaW5nOjpHZW5lcmF0ZVN0cmluZ0Fzc2VydHMoXCVw
YXJhbWV0ZXJzKTsKIAogICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVwYXJhbWV0ZXJzKSB7
CkBAIC03NjMsOCArNzY0LDYgQEAgc3ViIHByaW50TmFtZXNDcHBGaWxlCiAKICAgICBwcmludCBG
ICJXRUJDT1JFX0VYUE9SVCBERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgJHtsb3dlcmNhc2VO
YW1lc3BhY2VQcmVmaXh9TmFtZXNwYWNlVVJJKVxuXG4iOwogCi0gICAgcHJpbnQgRiBTdGF0aWNT
dHJpbmc6OkdlbmVyYXRlU3RyaW5ncyhcJWFsbFN0cmluZ3MpOwotCiAgICAgaWYgKGtleXMgJWFs
bFRhZ3MpIHsKICAgICAgICAgcHJpbnQgRiAiLy8gVGFnc1xuIjsKICAgICAgICAgZm9yIG15ICRu
YW1lIChzb3J0IGtleXMgJWFsbFRhZ3MpIHsKQEAgLTgwMyw2ICs4MDIsOSBAQCBzdWIgcHJpbnRO
YW1lc0NwcEZpbGUKICAgICBwcmludChGICIgICAgLy8gTmFtZXNwYWNlXG4iKTsKICAgICBwcmlu
dChGICIgICAgbmV3IChOb3ROdWxsLCAodm9pZCopJiR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4
fU5hbWVzcGFjZVVSSSkgQXRvbWljU3RyaW5nKCR7bG93ZXJjYXNlTmFtZXNwYWNlUHJlZml4fU5T
KTtcbiIpOwogICAgIHByaW50KEYgIlxuIik7CisKKyAgICBwcmludCBGIFN0YXRpY1N0cmluZzo6
R2VuZXJhdGVTdHJpbmdzKFwlYWxsU3RyaW5ncyk7CisKICAgICBwcmludCBGIFN0YXRpY1N0cmlu
Zzo6R2VuZXJhdGVTdHJpbmdBc3NlcnRzKFwlYWxsU3RyaW5ncyk7CiAKICAgICBpZiAoa2V5cyAl
YWxsVGFncykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309480</attachid>
            <date>2017-05-09 00:15:19 -0700</date>
            <delta_ts>2017-05-09 02:12:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171800-20170509001518.patch</filename>
            <type>text/plain</type>
            <size>2974</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjQ4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA1LTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2luXSBTdGF0aWNTdHJp
bmdJbXBsIGluIEhUTUxOYW1lcy5jcHAgYXJlbid0IGNvbnN0cnVjdGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE4MDAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgdW5rbm93biByZWFzb25zLCB0
aGUgY29uc3RydWN0b3JzIG9mIHRoZSBTdGF0aWNTdHJpbmdJbXBsIG9iamVjdHMgYXJlIGN1cnJl
bnRseSBub3QgY2FsbGVkLAorICAgICAgICB0aGlzIGlzIHBvc3NpYmx5IGEgY29tcGlsZXIgaXNz
dWUuIEFmdGVyIG1vdmluZyB0aGUgZGVmaW5pdGlvbiBvZiB0aGVzZSBvYmplY3RzIGludG8gdGhl
IGluaXQoKQorICAgICAgICBtZXRob2QsIHRoZSBjb25zdHJ1Y3RvcnMgYXJlIGNhbGxlZC4KKwor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvU3RhdGljU3RyaW5nLnBtOgorICAgICAgICAoR2Vu
ZXJhdGVTdHJpbmdzKToKKyAgICAgICAgKiBkb20vbWFrZV9uYW1lcy5wbDoKKyAgICAgICAgKHBy
aW50TmFtZXNDcHBGaWxlKToKKwogMjAxNy0wNS0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIC8gQ2xlYW4gdXAgRE9NV2luZG93LmlkbApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9TdGF0aWNTdHJpbmcucG0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9TdGF0aWNTdHJpbmcucG0J
KHJldmlzaW9uIDIxNjQ3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvU3Rh
dGljU3RyaW5nLnBtCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIEVORAogCiAgICAg
Zm9yIG15ICRuYW1lIChzb3J0IGtleXMgJXN0cmluZ3MpIHsKICAgICAgICAgbXkgJHZhbHVlID0g
JHN0cmluZ3N7JG5hbWV9OwotICAgICAgICBwdXNoKEByZXN1bHQsICJzdGF0aWMgU3RyaW5nSW1w
bDo6U3RhdGljU3RyaW5nSW1wbCAke25hbWV9RGF0YShcIiR7dmFsdWV9XCIpO1xuIik7CisgICAg
ICAgIHB1c2goQHJlc3VsdCwgIiAgICBzdGF0aWMgU3RyaW5nSW1wbDo6U3RhdGljU3RyaW5nSW1w
bCAke25hbWV9RGF0YShcIiR7dmFsdWV9XCIpO1xuIik7CiAgICAgfQogCiAgICAgcHVzaChAcmVz
dWx0LCA8PEVORCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAkocmV2aXNpb24gMjE2
NDc4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwJKHdvcmtpbmcgY29weSkK
QEAgLTEyNSw4ICsxMjUsNiBAQCBpZiAobGVuZ3RoKCRmb250TmFtZXNJbikpIHsKICAgICBwcmlu
dExpY2Vuc2VIZWFkZXIoJEYpOwogICAgIHByaW50Q3BwSGVhZCgkRiwgIkNTUyIsICRmYW1pbHlO
YW1lc0ZpbGVCYXNlLCAiV1RGIik7CiAKLSAgICBwcmludCBGIFN0YXRpY1N0cmluZzo6R2VuZXJh
dGVTdHJpbmdzKFwlcGFyYW1ldGVycyk7Ci0KICAgICBmb3IgbXkgJG5hbWUgKHNvcnQga2V5cyAl
cGFyYW1ldGVycykgewogICAgICAgICBwcmludCBGICJERUZJTkVfR0xPQkFMKEF0b21pY1N0cmlu
ZywgJG5hbWUpXG4iOwogICAgIH0KQEAgLTEzNCw2ICsxMzIsOSBAQCBpZiAobGVuZ3RoKCRmb250
TmFtZXNJbikpIHsKICAgICBwcmludEluaXQoJEYsIDApOwogCiAgICAgcHJpbnQgRiAiXG4iOwor
CisgICAgcHJpbnQgRiBTdGF0aWNTdHJpbmc6OkdlbmVyYXRlU3RyaW5ncyhcJXBhcmFtZXRlcnMp
OworCiAgICAgcHJpbnQgRiBTdGF0aWNTdHJpbmc6OkdlbmVyYXRlU3RyaW5nQXNzZXJ0cyhcJXBh
cmFtZXRlcnMpOwogCiAgICAgZm9yIG15ICRuYW1lIChzb3J0IGtleXMgJXBhcmFtZXRlcnMpIHsK
QEAgLTc2Myw4ICs3NjQsNiBAQCBzdWIgcHJpbnROYW1lc0NwcEZpbGUKIAogICAgIHByaW50IEYg
IldFQkNPUkVfRVhQT1JUIERFRklORV9HTE9CQUwoQXRvbWljU3RyaW5nLCAke2xvd2VyY2FzZU5h
bWVzcGFjZVByZWZpeH1OYW1lc3BhY2VVUkkpXG5cbiI7CiAKLSAgICBwcmludCBGIFN0YXRpY1N0
cmluZzo6R2VuZXJhdGVTdHJpbmdzKFwlYWxsU3RyaW5ncyk7Ci0KICAgICBpZiAoa2V5cyAlYWxs
VGFncykgewogICAgICAgICBwcmludCBGICIvLyBUYWdzXG4iOwogICAgICAgICBmb3IgbXkgJG5h
bWUgKHNvcnQga2V5cyAlYWxsVGFncykgewpAQCAtODAzLDYgKzgwMiw5IEBAIHN1YiBwcmludE5h
bWVzQ3BwRmlsZQogICAgIHByaW50KEYgIiAgICAvLyBOYW1lc3BhY2VcbiIpOwogICAgIHByaW50
KEYgIiAgICBuZXcgKE5vdE51bGwsICh2b2lkKikmJHtsb3dlcmNhc2VOYW1lc3BhY2VQcmVmaXh9
TmFtZXNwYWNlVVJJKSBBdG9taWNTdHJpbmcoJHtsb3dlcmNhc2VOYW1lc3BhY2VQcmVmaXh9TlMp
O1xuIik7CiAgICAgcHJpbnQoRiAiXG4iKTsKKworICAgIHByaW50IEYgU3RhdGljU3RyaW5nOjpH
ZW5lcmF0ZVN0cmluZ3MoXCVhbGxTdHJpbmdzKTsKKwogICAgIHByaW50IEYgU3RhdGljU3RyaW5n
OjpHZW5lcmF0ZVN0cmluZ0Fzc2VydHMoXCVhbGxTdHJpbmdzKTsKIAogICAgIGlmIChrZXlzICVh
bGxUYWdzKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309486</attachid>
            <date>2017-05-09 02:12:11 -0700</date>
            <delta_ts>2017-05-09 22:26:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171800-20170509021210.patch</filename>
            <type>text/plain</type>
            <size>1266</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNjQ4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA1LTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2luXSBTdGF0aWNTdHJp
bmdJbXBsIGluIEhUTUxOYW1lcy5jcHAgYXJlbid0IGNvbnN0cnVjdGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE4MDAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHbG9iYWwgU3RhdGljU3RyaW5nSW1w
bCBvYmplY3RzIGFyZSBub3QgaW5pdGlhbGl6ZWQgYXQgY29tcGlsZSB0aW1lIGJlY2F1c2Ugd2Ug
ZGlzYWJsZSBpbXBsaWNpdAorICAgICAgICBjb25zdHJ1Y3Rpb24gb2YgZ2xvYmFsIHN0YXRpYyBv
YmplY3RzIHdoZW4gU0tJUF9TVEFUSUNfQ09OU1RSVUNUT1JTX09OX01TVkMgaXMgZGVmaW5lZC4K
KworICAgICAgICAqIGRvbS9tYWtlX25hbWVzLnBsOgorICAgICAgICAocHJpbnRDcHBIZWFkKToK
KwogMjAxNy0wNS0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlZmFjdG9yIC8gQ2xlYW4gdXAgRE9NV2luZG93LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL21ha2VfbmFtZXMucGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL21ha2Vf
bmFtZXMucGwJKHJldmlzaW9uIDIxNjQ3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25h
bWVzLnBsCSh3b3JraW5nIGNvcHkpCkBAIC01NzQsNiArNTc0LDcgQEAgc3ViIHByaW50Q3BwSGVh
ZAogICAgIHByaW50IEYgIiNlbmRpZlxuXG4iOwogCiAgICAgcHJpbnQgRiAiI2luY2x1ZGUgXCIk
e25hbWVzcGFjZX1OYW1lcy5oXCJcblxuIjsKKyAgICBwcmludCBGICIjdW5kZWYgU0tJUF9TVEFU
SUNfQ09OU1RSVUNUT1JTX09OX01TVkNcblxuIjsKICAgICBwcmludCBGICIjaW5jbHVkZSA8d3Rm
L1N0YXRpY0NvbnN0cnVjdG9ycy5oPlxuIjsKIAogICAgIHByaW50IEYgIm5hbWVzcGFjZSBXZWJD
b3JlIHtcblxuIjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309578</attachid>
            <date>2017-05-09 21:29:48 -0700</date>
            <delta_ts>2017-05-09 22:26:32 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.patch</filename>
            <type>text/plain</type>
            <size>814</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdJbXBsLmgKaW5kZXggNDhkZTcyYmFkZTIuLjdiODgzNDAxN2EwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaApAQCAtMTUyLDcgKzE1Miw3IEBAIHByb3RlY3RlZDoK
ICAgICBjb25zdGV4cHIgU3RyaW5nSW1wbFNoYXBlKHVuc2lnbmVkIHJlZkNvdW50LCB1bnNpZ25l
ZCBsZW5ndGgsIGNvbnN0IGNoYXIgKCZjaGFyYWN0ZXJzKVtjaGFyYWN0ZXJzQ291bnRdLCB1bnNp
Z25lZCBoYXNoQW5kRmxhZ3MsIENvbnN0cnVjdFdpdGhDb25zdEV4cHJUYWcpCiAgICAgICAgIDog
bV9yZWZDb3VudChyZWZDb3VudCkKICAgICAgICAgLCBtX2xlbmd0aChsZW5ndGgpCi0gICAgICAg
ICwgbV9kYXRhOChyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oY2hhcmFjdGVycykpCisg
ICAgICAgICwgbV9kYXRhOF9jaGFyKGNoYXJhY3RlcnMpCiAgICAgICAgICwgbV9oYXNoQW5kRmxh
Z3MoaGFzaEFuZEZsYWdzKQogICAgIHsgfQogICAgIApAQCAtMTY4LDYgKzE2OCw3IEBAIHByb3Rl
Y3RlZDoKICAgICB1bnNpZ25lZCBtX2xlbmd0aDsKICAgICB1bmlvbiB7CiAgICAgICAgIGNvbnN0
IExDaGFyKiBtX2RhdGE4OworICAgICAgICBjb25zdCBjaGFyKiBtX2RhdGE4X2NoYXI7CiAgICAg
ICAgIGNvbnN0IFVDaGFyKiBtX2RhdGExNjsKICAgICB9OwogICAgIG11dGFibGUgdW5zaWduZWQg
bV9oYXNoQW5kRmxhZ3M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309579</attachid>
            <date>2017-05-09 22:26:35 -0700</date>
            <delta_ts>2017-05-10 00:23:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171800-20170510142628.patch</filename>
            <type>text/plain</type>
            <size>2528</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQzZDQzY2VmMjkwYzUyYjgyZTQ1ZDY0
YWQ1MjFlODMxMDNmZjU4MWYuLjc4NmZhZGMyYmU5OTJlMTYxOGI2ZTk3MTkzZWY2MzUxNTdjZjBl
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTctMDUtMDkgIEZ1amlpIEhpcm9ub3JpICA8SGly
b25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl0gU3RhdGljU3RyaW5nSW1wbCBp
biBIVE1MTmFtZXMuY3BwIGFyZW4ndCBjb25zdHJ1Y3RlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2xvYmFsIHZhcmlhYmxlcyBvZiBTdGF0aWNTdHJp
bmdJbXBsIGluIEhUTUxOYW1lcy5jcHAgYXJlbid0CisgICAgICAgIGNvbnN0cnVjdGVkIG9uIFdp
bmRvd3Mgc2luY2UgQnVnIDE3MTU4Ni4gSXQgc2VlbXMgdGhhdAorICAgICAgICByZWludGVycHJl
dF9jYXN0IHByZXZlbnRzIGNvbnN0ZXhwcidzIGNvbXBpbGUgdGltZSBpbml0aWFsaXphdGlvbgor
ICAgICAgICBpbiBWQysrLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5oOgorICAg
ICAgICAoV1RGOjpTdHJpbmdJbXBsU2hhcGU6OlN0cmluZ0ltcGxTaGFwZSk6IEFkZGVkIGNvbnN0
IGNoYXIqIGFuZAorICAgICAgICBjb25zdCBjaGFyMTZfdCogbWVtYmVycyBpbiB0aGUgdW5pb24u
IERvIG5vdCB1c2UgcmVpbnRlcnByZXRfY2FzdAorICAgICAgICBpbiBjb25zdGV4cHIgY29uc3Ry
dWN0b3JzLgorCiAyMDE3LTA1LTA5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGb3JjZSBTdGF0aWNTdHJpbmdJbXBsIGNvbnN0cnVjdG9yIHRvIHVzZSB0aGUgY29u
c3RleHByIHZlcnNpb25zIG9mIFN0cmluZ0ltcGxTaGFwZSBjb25zdHJ1Y3RvcnMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaCBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5oCmluZGV4IDQ4ZGU3MmJhZGUyNWEyNzM3MzQ3ZThmNzk4NGY2OTY2YTFj
OTlmNGMuLjViZWMyNGFmZTQ4YzdkNjMxMDk2ZDdiZTcwMWE4MjVjNTQwN2JkN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvU3RyaW5nSW1wbC5oCkBAIC0xNTIsNyArMTUyLDcgQEAgcHJvdGVjdGVkOgogICAgIGNv
bnN0ZXhwciBTdHJpbmdJbXBsU2hhcGUodW5zaWduZWQgcmVmQ291bnQsIHVuc2lnbmVkIGxlbmd0
aCwgY29uc3QgY2hhciAoJmNoYXJhY3RlcnMpW2NoYXJhY3RlcnNDb3VudF0sIHVuc2lnbmVkIGhh
c2hBbmRGbGFncywgQ29uc3RydWN0V2l0aENvbnN0RXhwclRhZykKICAgICAgICAgOiBtX3JlZkNv
dW50KHJlZkNvdW50KQogICAgICAgICAsIG1fbGVuZ3RoKGxlbmd0aCkKLSAgICAgICAgLCBtX2Rh
dGE4KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihjaGFyYWN0ZXJzKSkKKyAgICAgICAg
LCBtX2RhdGE4Q2hhcihjaGFyYWN0ZXJzKQogICAgICAgICAsIG1faGFzaEFuZEZsYWdzKGhhc2hB
bmRGbGFncykKICAgICB7IH0KICAgICAKQEAgLTE2MCw3ICsxNjAsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgY29uc3RleHByIFN0cmluZ0ltcGxTaGFwZSh1bnNpZ25lZCByZWZDb3VudCwgdW5zaWduZWQg
bGVuZ3RoLCBjb25zdCBjaGFyMTZfdCAoJmNoYXJhY3RlcnMpW2NoYXJhY3RlcnNDb3VudF0sIHVu
c2lnbmVkIGhhc2hBbmRGbGFncywgQ29uc3RydWN0V2l0aENvbnN0RXhwclRhZykKICAgICAgICAg
OiBtX3JlZkNvdW50KHJlZkNvdW50KQogICAgICAgICAsIG1fbGVuZ3RoKGxlbmd0aCkKLSAgICAg
ICAgLCBtX2RhdGExNihyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4oY2hhcmFjdGVycykp
CisgICAgICAgICwgbV9kYXRhMTZDaGFyKGNoYXJhY3RlcnMpCiAgICAgICAgICwgbV9oYXNoQW5k
RmxhZ3MoaGFzaEFuZEZsYWdzKQogICAgIHsgfQogCkBAIC0xNjksNiArMTY5LDEwIEBAIHByb3Rl
Y3RlZDoKICAgICB1bmlvbiB7CiAgICAgICAgIGNvbnN0IExDaGFyKiBtX2RhdGE4OwogICAgICAg
ICBjb25zdCBVQ2hhciogbV9kYXRhMTY7CisgICAgICAgIC8vIEl0IHNlZW1zIHRoYXQgcmVpbnRl
cnByZXRfY2FzdCBwcmV2ZW50cyBjb25zdGV4cHIncyBjb21waWxlIHRpbWUgaW5pdGlhbGl6YXRp
b24gaW4gVkMrKy4KKyAgICAgICAgLy8gVGhlc2UgYXJlIG5lZWRlZCB0byBhdm9pZCByZWludGVy
cHJldF9jYXN0LgorICAgICAgICBjb25zdCBjaGFyKiBtX2RhdGE4Q2hhcjsKKyAgICAgICAgY29u
c3QgY2hhcjE2X3QqIG1fZGF0YTE2Q2hhcjsKICAgICB9OwogICAgIG11dGFibGUgdW5zaWduZWQg
bV9oYXNoQW5kRmxhZ3M7CiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>