<?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>156831</bug_id>
          
          <creation_ts>2016-04-20 20:03:22 -0700</creation_ts>
          <short_desc>Heap corruption is detected when destructing JSGlobalObject</short_desc>
          <delta_ts>2016-04-26 01:22:25 -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>JavaScriptCore</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="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1185668</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-20 20:03:22 -0700</bug_when>
    <thetext>[WinCairo] heap corruption is detected when destructing JSGlobalObject

trunk@199765
perl Tools/Scripts/build-webkit --debug --wincairo --64-bit

fast/dom/insertedIntoDocument-iframe.html

Log:

&gt; Critical error detected c0000374

Callstack:

&gt; ntdll.dll!00007fff7168e6db()	Unknown
&gt; ntdll.dll!00007fff71690dc6()	Unknown
&gt; ntdll.dll!00007fff71644b4a()	Unknown
&gt; ntdll.dll!00007fff715c0f36()	Unknown
&gt; ntdll.dll!00007fff715c09fd()	Unknown
&gt; JavaScriptCore.dll!_free_base(void * block) Line 107	C++
&gt; [External Code]	
&gt; JavaScriptCore.dll!WTF::HashTable&lt;OpaqueJSClass * __ptr64,WTF::KeyValuePair&lt;OpaqueJSClass * __ptr64,std::unique_ptr&lt;OpaqueJSClassContextData,std::default_delete&lt;OpaqueJSClassContextData&gt; &gt; &gt;,WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;OpaqueJSClass * __ptr64,std::unique_ptr&lt;OpaqueJSClassContextData,std::default_delete&lt;OpaqueJSClassContextData&gt; &gt; &gt; &gt;,WTF::PtrHash&lt;OpaqueJSClass * __ptr64&gt;,WTF::HashMap&lt;OpaqueJSClass * __ptr64,std::unique_ptr&lt;OpaqueJSClassContextData,std::default_delete&lt;OpaqueJSClassContextData&gt; &gt;,WTF::PtrHash&lt;OpaqueJSClass * __ptr64&gt;,WTF::HashTraits&lt;OpaqueJSClass * __ptr64&gt;,WTF::HashTraits&lt;std::unique_ptr&lt;OpaqueJSClassContextData,std::default_delete&lt;OpaqueJSClassContextData&gt; &gt; &gt; &gt;::KeyValuePairTraits,WTF::HashTraits&lt;OpaqueJSClass * __ptr64&gt; &gt;::~HashTable&lt;OpaqueJSClass * __ptr64,WTF::KeyValuePair&lt;OpaqueJSClass * __ptr64,std::unique_ptr&lt;OpaqueJSClassContextData,std::default_delete&lt;OpaqueJSClassContextData&gt; &gt; &gt;,WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;OpaqueJSClass * __ptr64,std::unique_ptr&lt;OpaqueJSClassContextData,std::default_delete&lt;OpaqueJSClassContextData&gt; &gt; &gt; &gt;,WTF::PtrHash&lt;OpaqueJSClass * __ptr64&gt;,WTF::HashMap&lt;OpaqueJSClass * __ptr64,std::unique_ptr&lt;OpaqueJSClassContextData,std::default_delete&lt;OpaqueJSClassContextData&gt; &gt;,WTF::PtrHash&lt;OpaqueJSClass * __ptr64&gt;,WTF::HashTraits&lt;OpaqueJSClass * __ptr64&gt;,WTF::HashTraits&lt;std::unique_ptr&lt;OpaqueJSClassContextData,std::default_delete&lt;OpaqueJSClassContextData&gt; &gt; &gt; &gt;::KeyValuePairTraits,WTF::HashTraits&lt;OpaqueJSClass * __ptr64&gt; &gt;() Line 363	C++
&gt; [External Code]	
&gt; JavaScriptCore.dll!JSC::JSGlobalObject::~JSGlobalObject() Line 248	C++
&gt; [External Code]	
&gt; WebKit.dll!WebCore::JSDOMWindowBase::destroy(JSC::JSCell * cell) Line 100	C++
&gt; JavaScriptCore.dll!JSC::Heap::FinalizerOwner::finalize(JSC::Handle&lt;enum JSC::Unknown&gt; handle, void * context) Line 1560	C++
&gt; JavaScriptCore.dll!JSC::WeakBlock::finalize(JSC::WeakImpl * weakImpl) Line 53	C++
&gt; JavaScriptCore.dll!JSC::WeakBlock::sweep() Line 85	C++
&gt; JavaScriptCore.dll!JSC::WeakSet::sweep() Line 51	C++
&gt; JavaScriptCore.dll!JSC::MarkedBlock::sweep(JSC::MarkedBlock::SweepMode sweepMode) Line 134	C++
&gt; JavaScriptCore.dll!JSC::Sweep::operator()(JSC::MarkedBlock * block) Line 48	C++
&gt; JavaScriptCore.dll!JSC::MarkedAllocator::forEachBlock&lt;JSC::Sweep&gt;(JSC::Sweep &amp; functor) Line 159	C++
&gt; JavaScriptCore.dll!JSC::MarkedSpace::forEachBlock&lt;JSC::Sweep&gt;(JSC::Sweep &amp; functor) Line 228	C++
&gt; JavaScriptCore.dll!JSC::MarkedSpace::forEachBlock&lt;JSC::Sweep&gt;() Line 244	C++
&gt; JavaScriptCore.dll!JSC::MarkedSpace::sweep() Line 95	C++
&gt; JavaScriptCore.dll!JSC::Heap::collectAndSweep(JSC::HeapOperation collectionType) Line 1102	C++
&gt; WebKit.dll!JSC::Heap::collectAllGarbage() Line 168	C++
&gt; WebKit.dll!WebCore::GCController::garbageCollectNow() Line 87	C++
&gt; WebKit.dll!WebJavaScriptCollector::collect() Line 97	C++
&gt; DumpRenderTreeLib.dll!GCController::collect() Line 43	C++
&gt; DumpRenderTreeLib.dll!collectCallback(const OpaqueJSContext * context, OpaqueJSValue * function, OpaqueJSValue * thisObject, unsigned __int64 argumentCount, const OpaqueJSValue * const * arguments, const OpaqueJSValue * * exception) Line 49	C++
&gt; JavaScriptCore.dll!JSC::APICallbackFunction::call&lt;JSC::JSCallbackFunction&gt;(JSC::ExecState * exec) Line 61	C++
&gt; JavaScriptCore.dll!JSC::LLInt::handleHostCall(JSC::ExecState * execCallee, JSC::Instruction * pc, JSC::JSValue callee, JSC::CodeSpecializationKind kind) Line 1132	C++
&gt; JavaScriptCore.dll!JSC::LLInt::setUpCall(JSC::ExecState * execCallee, JSC::Instruction * pc, JSC::CodeSpecializationKind kind, JSC::JSValue calleeAsValue, JSC::LLIntCallLinkInfo * callLinkInfo) Line 1178	C++
&gt; JavaScriptCore.dll!JSC::LLInt::genericCall(JSC::ExecState * exec, JSC::Instruction * pc, JSC::CodeSpecializationKind kind) Line 1262	C++
&gt; JavaScriptCore.dll!llint_slow_path_call(JSC::ExecState * exec, JSC::Instruction * pc) Line 1268	C++
&gt; JavaScriptCore.dll!llint_entry() Line 8582	Unknown
&gt; [External Code]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185670</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-20 20:08:44 -0700</bug_when>
    <thetext>This is caused by the heaps mismatch of allocating and deallocating.
Allocating in the heap of WebKit.dll, but Deallocating in JavaScriptCore.dll.

JSGlobalObject::createRareDataIfNeeded is inlined,
but JSGlobalObject::~JSGlobalObject is not inlined.

Callstack of allocation:

&gt; WebKit.dll!WTF::Lock::Lock() Line 119	C++
&gt; [External Code]	
&gt; WebKit.dll!WTF::HashTable&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt;,WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt;,WTF::IdentityExtractor,WTF::PtrHash&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt; &gt;::HashTable&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt;,WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt;,WTF::IdentityExtractor,WTF::PtrHash&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt; &gt;() Line 557	C++
&gt; WebKit.dll!WTF::HashSet&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt;,WTF::PtrHash&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt; &gt;::HashSet&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt;,WTF::PtrHash&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt;,WTF::HashTraits&lt;WTF::RefPtr&lt;OpaqueJSWeakObjectMap&gt; &gt; &gt;() Line 56	C++
&gt; WebKit.dll!JSC::JSGlobalObject::JSGlobalObjectRareData::JSGlobalObjectRareData() Line 188	C++
&gt; [External Code]	
&gt; WebKit.dll!JSC::JSGlobalObject::createRareDataIfNeeded() Line 354	C++
&gt; WebKit.dll!JSC::JSGlobalObject::setProfileGroup(unsigned int value) Line 626	C++
&gt; WebKit.dll!WebCore::ScriptController::initScript(WebCore::DOMWrapperWorld &amp; world) Line 262	C++
&gt; WebKit.dll!WebCore::ScriptController::windowShell(WebCore::DOMWrapperWorld &amp; world) Line 90	C++
&gt; WebKit.dll!WebCore::ScriptController::evaluateInWorld(const WebCore::ScriptSourceCode &amp; sourceCode, WebCore::DOMWrapperWorld &amp; world, WebCore::ExceptionDetails * exceptionDetails) Line 154	C++
&gt; WebKit.dll!WebCore::ScriptController::evaluate(const WebCore::ScriptSourceCode &amp; sourceCode, WebCore::ExceptionDetails * exceptionDetails) Line 180	C++
&gt; WebKit.dll!WebCore::ScriptElement::executeScript(const WebCore::ScriptSourceCode &amp; sourceCode) Line 321	C++
&gt; WebKit.dll!WebCore::ScriptElement::prepareScript(const WTF::TextPosition &amp; scriptStartPosition, WebCore::ScriptElement::LegacyTypeSupport supportLegacyTypes) Line 245	C++
&gt; WebKit.dll!WebCore::HTMLScriptRunner::runScript(WebCore::Element * script, const WTF::TextPosition &amp; scriptStartPosition) Line 304	C++
&gt; WebKit.dll!WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr&lt;WebCore::Element&gt; scriptElement, const WTF::TextPosition &amp; scriptStartPosition) Line 177	C++
&gt; WebKit.dll!WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() Line 215	C++
&gt; WebKit.dll!WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode mode, bool parsingFragment, WebCore::PumpSession &amp; session) Line 234	C++
&gt; WebKit.dll!WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode mode) Line 282	C++
&gt; WebKit.dll!WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode mode) Line 169	C++
&gt; WebKit.dll!WebCore::HTMLDocumentParser::append(WTF::RefPtr&lt;WTF::StringImpl&gt; &amp;&amp; inputSource) Line 396	C++
&gt; WebKit.dll!WebCore::DecodedDataDocumentParser::flush(WebCore::DocumentWriter &amp; writer) Line 60	C++
&gt; WebKit.dll!WebCore::DocumentWriter::end() Line 255	C++
&gt; WebKit.dll!WebCore::DocumentLoader::finishedLoading(double finishTime) Line 437	C++
&gt; WebKit.dll!WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource * resource) Line 384	C++
&gt; WebKit.dll!WebCore::CachedResource::checkNotify() Line 299	C++
&gt; WebKit.dll!WebCore::CachedResource::finishLoading(WebCore::SharedBuffer * __formal) Line 316	C++
&gt; WebKit.dll!WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer * data) Line 104	C++
&gt; WebKit.dll!WebCore::SubresourceLoader::didFinishLoading(double finishTime) Line 431	C++
&gt; WebKit.dll!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle * __formal, double finishTime) Line 643	C++
&gt; WebKit.dll!WebCore::ResourceHandleManager::downloadTimerCallback() Line 700	C++
&gt; [External Code]	
&gt; WebKit.dll!WebCore::Timer::fired() Line 142	C++
&gt; WebKit.dll!WebCore::ThreadTimers::sharedTimerFiredInternal() Line 124	C++
&gt; WebKit.dll!WebCore::ThreadTimers::setSharedTimer::__l8::&lt;lambda&gt;() Line 73	C++
&gt; [External Code]	
&gt; WebKit.dll!WebCore::MainThreadSharedTimer::fired() Line 53	C++
&gt; WebKit.dll!WebCore::TimerWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 91	C++
&gt; [External Code]	
&gt; DumpRenderTreeLib.dll!runTest(const std::basic_string&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt; &gt; &amp; inputLine) Line 1145	C++
&gt; DumpRenderTreeLib.dll!main(int argc, const char * * argv) Line 1486	C++
&gt; DumpRenderTreeLib.dll!dllLauncherEntryPoint(int argc, const char * * argv) Line 1517	C++
&gt; DumpRenderTree.exe!main(int argc, const char * * argv) Line 260	C++
&gt; [External Code]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185677</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-20 20:57:44 -0700</bug_when>
    <thetext>There are two ways to solve this problem:

1) Not inlined JSGlobalObject::createRareDataIfNeeded or part of it
2) Apply WTF_MAKE_FAST_ALLOCATED the classes allocated from inline functions

I don&apos;t know why AppleWin port does not have this problem, but WinCairo port does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185680</commentid>
    <comment_count>3</comment_count>
      <attachid>276896</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-20 21:17:37 -0700</bug_when>
    <thetext>Created attachment 276896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185858</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-21 11:30:14 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This is caused by the heaps mismatch of allocating and deallocating.
&gt; Allocating in the heap of WebKit.dll, but Deallocating in JavaScriptCore.dll.
&gt; 
&gt; JSGlobalObject::createRareDataIfNeeded is inlined,
&gt; but JSGlobalObject::~JSGlobalObject is not inlined.

Why is this an issue?  Shouldn&apos;t both WebKit.dll and JavaScripCore.dll be allocating/deallocating from the same heap of the process that loaded them?

Can you please elaborate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186105</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-21 21:08:05 -0700</bug_when>
    <thetext>Thank you for reviewing my patch.

(In reply to comment #4)
&gt; Why is this an issue?  Shouldn&apos;t both WebKit.dll and JavaScripCore.dll be
&gt; allocating/deallocating from the same heap of the process that loaded them?

WebKit uses CRT static libarary.
In Source/cmake/OptionsWin.cmake:

&gt; # Use the multithreaded static runtime library instead of the default DLL runtime.
&gt; string(REGEX REPLACE &quot;/MD&quot; &quot;/MT&quot; ${flag_var} &quot;${${flag_var}}&quot;)

Then,

Potential Errors Passing CRT Objects Across DLL Boundaries
https://msdn.microsoft.com/en-US/library/ms235460(v=vs.110).aspx

&gt; Also, because each copy of the CRT library has its own heap
&gt; manager, allocating memory in one CRT library and passing the
&gt; pointer across a DLL boundary to be freed by a different copy of
&gt; the CRT library is a potential cause for heap corruption.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186321</commentid>
    <comment_count>6</comment_count>
      <attachid>276896</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-22 10:57:28 -0700</bug_when>
    <thetext>Comment on attachment 276896
Patch

(In reply to comment #5)
&gt; Thank you for reviewing my patch.
&gt; 
&gt; (In reply to comment #4)
&gt; &gt; Why is this an issue?  Shouldn&apos;t both WebKit.dll and JavaScripCore.dll be
&gt; &gt; allocating/deallocating from the same heap of the process that loaded them?
&gt; 
&gt; WebKit uses CRT static libarary.
&gt; In Source/cmake/OptionsWin.cmake:
&gt; 
&gt; &gt; # Use the multithreaded static runtime library instead of the default DLL runtime.
&gt; &gt; string(REGEX REPLACE &quot;/MD&quot; &quot;/MT&quot; ${flag_var} &quot;${${flag_var}}&quot;)
&gt; 
&gt; Then,
&gt; 
&gt; Potential Errors Passing CRT Objects Across DLL Boundaries
&gt; https://msdn.microsoft.com/en-US/library/ms235460(v=vs.110).aspx
&gt; 
&gt; &gt; Also, because each copy of the CRT library has its own heap
&gt; &gt; manager, allocating memory in one CRT library and passing the
&gt; &gt; pointer across a DLL boundary to be freed by a different copy of
&gt; &gt; the CRT library is a potential cause for heap corruption.

This is the kind of good information that we should have in the ChangeLog to justify the change.  Please add it.  The fix to add WTF_MAKE_FAST_ALLOCATED looks good to me.  I&apos;ll re-review after you&apos;ve updated the patch.

r- for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186828</commentid>
    <comment_count>7</comment_count>
      <attachid>277215</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-24 20:02:53 -0700</bug_when>
    <thetext>Created attachment 277215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186837</commentid>
    <comment_count>8</comment_count>
      <attachid>277215</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-04-24 22:16:52 -0700</bug_when>
    <thetext>Comment on attachment 277215
Patch

Looks like a good change.

I have these concerns:

1) A code change to shared code like this should not use the [WinCairo] prefix on the bug title.

2) The explanation covers why JSGlobalObjectRareData needs to be changed, but does not explain the Lock change at all.

3) Nothing has been done to prevent this kind of problem from happening in the future in the WinCairo port; other ports don’t depend so sensitively on the the use of WTF_MAKE_FAST_ALLOCATED. Someone needs to come up with a technique to prevent this kind of error from being reintroduced in the future.

Otherwise the patch looks OK to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186844</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-24 22:57:48 -0700</bug_when>
    <thetext>Thank you for reviewing my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186863</commentid>
    <comment_count>10</comment_count>
      <attachid>277226</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-24 23:32:39 -0700</bug_when>
    <thetext>Created attachment 277226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186958</commentid>
    <comment_count>11</comment_count>
      <attachid>277226</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-25 09:42:36 -0700</bug_when>
    <thetext>Comment on attachment 277226
Patch

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

Please fix the typos.

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        WebKit uses CRT static libarary on Windows.  Each copy of the CRT

typo: /libarary/library/.

&gt; Source/JavaScriptCore/ChangeLog:23
&gt; +        the inlined consturctor of JSGlobalObjectRareData.

typo: /consturctor/constructor/.

&gt; Source/WTF/ChangeLog:8
&gt; +        WebKit uses CRT static libarary on Windows.  Each copy of the CRT

Ditto.  Please fix typo.

&gt; Source/WTF/ChangeLog:23
&gt; +        the inlined consturctor of JSGlobalObjectRareData.

Please fix typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187147</commentid>
    <comment_count>12</comment_count>
      <attachid>277296</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-04-25 17:51:24 -0700</bug_when>
    <thetext>Created attachment 277296
Patch

Thank you for r+. I have no permission to commit, created a new patch by fixing the typos.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187175</commentid>
    <comment_count>13</comment_count>
      <attachid>277296</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-04-25 19:32:00 -0700</bug_when>
    <thetext>Comment on attachment 277296
Patch

r=me

👍</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187197</commentid>
    <comment_count>14</comment_count>
      <attachid>277296</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-25 20:21:42 -0700</bug_when>
    <thetext>Comment on attachment 277296
Patch

Clearing flags on attachment: 277296

Committed r200068: &lt;http://trac.webkit.org/changeset/200068&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187198</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-25 20:21:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187303</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-04-26 01:22:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/25926852&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276896</attachid>
            <date>2016-04-20 21:17:37 -0700</date>
            <delta_ts>2016-04-24 20:02:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156831-20160421131758.patch</filename>
            <type>text/plain</type>
            <size>2650</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5ODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
MDBlMDM1NjUxYjMwZTZkMWU2NzU0ZDU3NjU0NWZlMTMxYmI5Y2NjLi4wZDcxMjJmMWU0OWZhN2Q5
OTBjOWVmNTUwZThmZTI3YjBlMDhhYTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxNi0wNC0yMCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBbV2luQ2Fpcm9dIGhlYXAgY29ycnVwdGlvbiBpcyBkZXRlY3Rl
ZCB3aGVuIGRlc3RydWN0aW5nIEpTR2xvYmFsT2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY4MzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKU0dsb2JhbE9iamVjdDo6Y3JlYXRlUmFyZURhdGFJ
Zk5lZWRlZCBpcyBpbmxpbmVkIGJ1dAorICAgICAgICBKU0dsb2JhbE9iamVjdDo6fkpTR2xvYmFs
T2JqZWN0IGlzIG5vdCBpbmxpbmVkLiAgVGhpcyBjYXVzZXMgaGVhcAorICAgICAgICBtaXNtYXRj
aCBvZiBhbGxvY2F0aW5nIGFuZCBkZWFsbG9jYXRpbmcuICBBbGxvY2F0aW5nIGluIHRoZSBoZWFw
CisgICAgICAgIG9mIFdlYktpdC5kbGwsIGJ1dCBkZWFsbG9jYXRpbmcgaW4gb25lIG9mIEphdmFT
Y3JpcHRDb3JlLmRsbC4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9pbnNlcnRlZEludG9Eb2N1
bWVudC1pZnJhbWUuaHRtbAorCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgor
ICAgICAgICBBZGQgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgdG8gSlNHbG9iYWxPYmplY3RSYXJl
RGF0YS4KKwogMjAxNi0wNC0yMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAg
ICAgICAgIERGRyBkZWxfYnlfaWQgc3VwcG9ydCBmb3JnZXRzIHRvIHNldCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE1YWRl
ZDk0NDRkZDM0OTZiODIwNmJhOTZiZTBlZDk4NGQ3YzUzNWYuLmU2NTIzMjI1MzAzOTA5MWRiYjA5
ZmNkNWFiYTU3ZjRjNjJjNWQxYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDQtMjAgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbkNh
aXJvXSBoZWFwIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQgd2hlbiBkZXN0cnVjdGluZyBKU0dsb2Jh
bE9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU2ODMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3dGYvTG9jay5oOiBBZGQgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQuCisKIDIwMTYtMDQtMTkg
IE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgaVR1bmVzIGNy
YXNoaW5nIEphdmFTY3JpcHRDb3JlLmRsbApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggMTdmNzYyZWUwNjRjZDlmMzU5YWQ3MWI0NTdmYmQ1
MjY1ODgyZTYzMS4uNjhiNmRjMWI0ZTk1N2I3MTE3NWU4YWFlNTQyNzIzMTBiYTFjNWZiZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0x
ODQsNiArMTg0LDggQEAgcHJpdmF0ZToKICAgICB0eXBlZGVmIEhhc2hNYXA8T3BhcXVlSlNDbGFz
cyosIHN0ZDo6dW5pcXVlX3B0cjxPcGFxdWVKU0NsYXNzQ29udGV4dERhdGE+PiBPcGFxdWVKU0Ns
YXNzRGF0YU1hcDsKIAogICAgIHN0cnVjdCBKU0dsb2JhbE9iamVjdFJhcmVEYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBKU0dsb2Jh
bE9iamVjdFJhcmVEYXRhKCkKICAgICAgICAgICAgIDogcHJvZmlsZUdyb3VwKDApCiAgICAgICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvY2suaCBiL1NvdXJjZS9XVEYvd3RmL0xv
Y2suaAppbmRleCA4Mzk1NjUzZGMzYzlhMjA0YjA3MjM4MmRmY2IxOGRiODJjZWNkOTBhLi4wMDA3
ZGVjZTVkODc4NDkxNzJkNTkxNTEwZTY4MDY0Yzg5YmY0MDQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9Mb2NrLmgKKysrIGIvU291cmNlL1dURi93dGYvTG9jay5oCkBAIC0xMTMsNiArMTEz
LDcgQEAgcHJvdGVjdGVkOgogCiBjbGFzcyBMb2NrIDogcHVibGljIExvY2tCYXNlIHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMb2NrKTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBMb2NrKCkKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277215</attachid>
            <date>2016-04-24 20:02:53 -0700</date>
            <delta_ts>2016-04-24 23:32:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156831-20160425120319.patch</filename>
            <type>text/plain</type>
            <size>3107</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5OTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MDI5MWIwMTM0YWE5NjY0OWVjZmQwMmM1ZjdhY2RjZGJmNDlmYTI5Li5hNDBjY2U1ODRkZjdlNmYw
MWFmOTM0OWFhYzAwNTNlZDg2YTQyMTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOCBAQAorMjAxNi0wNC0yNCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBbV2luQ2Fpcm9dIGhlYXAgY29ycnVwdGlvbiBpcyBkZXRlY3Rl
ZCB3aGVuIGRlc3RydWN0aW5nIEpTR2xvYmFsT2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY4MzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJLaXQgdXNlcyBDUlQgc3RhdGljIGxpYmFyYXJ5
LiAgRWFjaCBjb3B5IG9mIHRoZSBDUlQgbGlicmFyeQorICAgICAgICBoYXMgaXRzIG93biBoZWFw
IG1hbmFnZXIsIGFsbG9jYXRpbmcgbWVtb3J5IGluIG9uZSBDUlQgbGlicmFyeQorICAgICAgICBh
bmQgcGFzc2luZyB0aGUgcG9pbnRlciBhY3Jvc3MgYSBETEwgYm91bmRhcnkgdG8gYmUgZnJlZWQg
YnkgYQorICAgICAgICBkaWZmZXJlbnQgY29weSBvZiB0aGUgQ1JUIGxpYnJhcnkgaXMgYSBwb3Rl
bnRpYWwgY2F1c2UgZm9yIGhlYXAKKyAgICAgICAgY29ycnVwdGlvbi4KKworICAgICAgICAgIFBv
dGVudGlhbCBFcnJvcnMgUGFzc2luZyBDUlQgT2JqZWN0cyBBY3Jvc3MgRExMIEJvdW5kYXJpZXMK
KyAgICAgICAgICA8aHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczIz
NTQ2MCh2PXZzLjE0MCkuYXNweD4KKworICAgICAgICBKU0dsb2JhbE9iamVjdDo6Y3JlYXRlUmFy
ZURhdGFJZk5lZWRlZCBpcyBpbmxpbmVkIGJ1dAorICAgICAgICBKU0dsb2JhbE9iamVjdDo6fkpT
R2xvYmFsT2JqZWN0IGlzIG5vdC4gIFRoZW4sIHRoZSBoZWFwIG9mCisgICAgICAgIGFsbG9jYXRp
bmcgaXMgaW4gV2ViS2l0LmRsbCwgYnV0IGRlYWxsb2NhdGluZyBKYXZhU2NyaXB0Q29yZS5kbGwu
CisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vaW5zZXJ0ZWRJbnRvRG9jdW1lbnQtaWZyYW1lLmh0
bWwKKworICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgQWRkIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEIHRvIEpTR2xvYmFsT2JqZWN0UmFyZURhdGEuCisKIDIwMTYt
MDQtMjQgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0pTQ10gT3B0aW1pemUgSlNPTi5wYXJzZSBzdHJpbmcgZmFzdCBwYXRoCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQ1ZWM5YmFk
NGE2NjkwY2YxYmNlZTIxZTViMDA3NjhjYThmNGUyYzYuLjhjYjllNjZhYzQyMGY1NzA2YmJjMDJm
MzgyNTA2MDgwZDJmOGY0MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDQtMjQgIEZ1amlp
IEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbkNhaXJv
XSBoZWFwIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQgd2hlbiBkZXN0cnVjdGluZyBKU0dsb2JhbE9i
amVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2
ODMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
dGYvTG9jay5oOiBBZGQgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQuCisKIDIwMTYtMDQtMjEgIFNh
YW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgTGV0cyBkbyBsZXNzIGxv
Y2tpbmcgb2Ygc3ltYm9sIHRhYmxlcyBpbiB0aGUgQnl0ZWNvZGVHZW5lcmF0b3Igd2hlcmUgd2Ug
ZG9uJ3QgaGF2ZSByYWNlIGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDE3Zjc2MmVlMDY0Y2Q5ZjM1OWFkNzFiNDU3ZmJk
NTI2NTg4MmU2MzEuLjY4YjZkYzFiNGU5NTdiNzExNzVlOGFhZTU0MjcyMzEwYmExYzVmYmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAt
MTg0LDYgKzE4NCw4IEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiBIYXNoTWFwPE9wYXF1ZUpTQ2xh
c3MqLCBzdGQ6OnVuaXF1ZV9wdHI8T3BhcXVlSlNDbGFzc0NvbnRleHREYXRhPj4gT3BhcXVlSlND
bGFzc0RhdGFNYXA7CiAKICAgICBzdHJ1Y3QgSlNHbG9iYWxPYmplY3RSYXJlRGF0YSB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgSlNHbG9i
YWxPYmplY3RSYXJlRGF0YSgpCiAgICAgICAgICAgICA6IHByb2ZpbGVHcm91cCgwKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2NrLmggYi9Tb3VyY2UvV1RGL3d0Zi9M
b2NrLmgKaW5kZXggODM5NTY1M2RjM2M5YTIwNGIwNzIzODJkZmNiMThkYjgyY2VjZDkwYS4uMDAw
N2RlY2U1ZDg3ODQ5MTcyZDU5MTUxMGU2ODA2NGM4OWJmNDA0MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvTG9jay5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvY2suaApAQCAtMTEzLDYgKzEx
Myw3IEBAIHByb3RlY3RlZDoKIAogY2xhc3MgTG9jayA6IHB1YmxpYyBMb2NrQmFzZSB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jayk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgTG9jaygpCiAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277226</attachid>
            <date>2016-04-24 23:32:39 -0700</date>
            <delta_ts>2016-04-25 17:51:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156831-20160425153305.patch</filename>
            <type>text/plain</type>
            <size>4321</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MDI5MWIwMTM0YWE5NjY0OWVjZmQwMmM1ZjdhY2RjZGJmNDlmYTI5Li44M2NhNjA2NWNiODBmYzE1
NjM5MWJhM2I2NmRkYjgyMDAyYTk3M2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxNi0wNC0yNCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBIZWFwIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQgd2hlbiBkZXN0
cnVjdGluZyBKU0dsb2JhbE9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU2ODMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViS2l0IHVzZXMgQ1JUIHN0YXRpYyBsaWJhcmFyeSBvbiBXaW5kb3dz
LiAgRWFjaCBjb3B5IG9mIHRoZSBDUlQKKyAgICAgICAgbGlicmFyeSBoYXMgaXRzIG93biBoZWFw
IG1hbmFnZXIsIGFsbG9jYXRpbmcgbWVtb3J5IGluIG9uZSBDUlQKKyAgICAgICAgbGlicmFyeSBh
bmQgcGFzc2luZyB0aGUgcG9pbnRlciBhY3Jvc3MgYSBETEwgYm91bmRhcnkgdG8gYmUgZnJlZWQK
KyAgICAgICAgYnkgYSBkaWZmZXJlbnQgY29weSBvZiB0aGUgQ1JUIGxpYnJhcnkgaXMgYSBwb3Rl
bnRpYWwgY2F1c2UgZm9yCisgICAgICAgIGhlYXAgY29ycnVwdGlvbi4KKworICAgICAgICAgIFBv
dGVudGlhbCBFcnJvcnMgUGFzc2luZyBDUlQgT2JqZWN0cyBBY3Jvc3MgRExMIEJvdW5kYXJpZXMK
KyAgICAgICAgICA8aHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczIz
NTQ2MCh2PXZzLjE0MCkuYXNweD4KKworICAgICAgICBKU0dsb2JhbE9iamVjdDo6Y3JlYXRlUmFy
ZURhdGFJZk5lZWRlZCBpcyBpbmxpbmVkIGJ1dAorICAgICAgICBKU0dsb2JhbE9iamVjdDo6fkpT
R2xvYmFsT2JqZWN0IGlzIG5vdC4gIFRoZW4sIHRoZSBoZWFwIG9mCisgICAgICAgIGFsbG9jYXRp
bmcgSlNHbG9iYWxPYmplY3RSYXJlRGF0YSBpcyBXZWJLaXQuZGxsLCBidXQgZGVhbGxvY2F0aW5n
CisgICAgICAgIEphdmFTY3JpcHRDb3JlLmRsbC4gIEFkZGluZyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRCB0bworICAgICAgICBKU0dsb2JhbE9iamVjdFJhcmVEYXRhIGVuc3VyZXMgaGVhcCBjb25z
aXN0ZW5jeSBvZiBpdC4gIFdURjo6TG9jaworICAgICAgICBhbHNvIG5lZWRzIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEIGJlY2F1c2UgaXQgaXMgYWxsb2NhdGVkIGZyb20KKyAgICAgICAgdGhlIGlu
bGluZWQgY29uc3R1cmN0b3Igb2YgSlNHbG9iYWxPYmplY3RSYXJlRGF0YS4KKworICAgICAgICBU
ZXN0OiBmYXN0L2RvbS9pbnNlcnRlZEludG9Eb2N1bWVudC1pZnJhbWUuaHRtbAorCisgICAgICAg
ICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICBBZGQgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQgdG8gSlNHbG9iYWxPYmplY3RSYXJlRGF0YS4KKwogMjAxNi0wNC0yNCAgWXVzdWtl
IFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXSBPcHRpbWl6
ZSBKU09OLnBhcnNlIHN0cmluZyBmYXN0IHBhdGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZDVlYzliYWQ0YTY2OTBjZjFiY2Vl
MjFlNWIwMDc2OGNhOGY0ZTJjNi4uOGFlNzFhMjM1ZTZkYWNlZjhkOWFjODA3NDUzYjBiMDNmNWQ2
MDA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNi0wNC0yNCAgRnVqaWkgSGlyb25vcmkgIDxI
aXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBIZWFwIGNvcnJ1cHRpb24gaXMgZGV0
ZWN0ZWQgd2hlbiBkZXN0cnVjdGluZyBKU0dsb2JhbE9iamVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2ODMxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0IHVzZXMgQ1JUIHN0YXRpYyBsaWJh
cmFyeSBvbiBXaW5kb3dzLiAgRWFjaCBjb3B5IG9mIHRoZSBDUlQKKyAgICAgICAgbGlicmFyeSBo
YXMgaXRzIG93biBoZWFwIG1hbmFnZXIsIGFsbG9jYXRpbmcgbWVtb3J5IGluIG9uZSBDUlQKKyAg
ICAgICAgbGlicmFyeSBhbmQgcGFzc2luZyB0aGUgcG9pbnRlciBhY3Jvc3MgYSBETEwgYm91bmRh
cnkgdG8gYmUgZnJlZWQKKyAgICAgICAgYnkgYSBkaWZmZXJlbnQgY29weSBvZiB0aGUgQ1JUIGxp
YnJhcnkgaXMgYSBwb3RlbnRpYWwgY2F1c2UgZm9yCisgICAgICAgIGhlYXAgY29ycnVwdGlvbi4K
KworICAgICAgICAgIFBvdGVudGlhbCBFcnJvcnMgUGFzc2luZyBDUlQgT2JqZWN0cyBBY3Jvc3Mg
RExMIEJvdW5kYXJpZXMKKyAgICAgICAgICA8aHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4t
dXMvbGlicmFyeS9tczIzNTQ2MCh2PXZzLjE0MCkuYXNweD4KKworICAgICAgICBKU0dsb2JhbE9i
amVjdDo6Y3JlYXRlUmFyZURhdGFJZk5lZWRlZCBpcyBpbmxpbmVkIGJ1dAorICAgICAgICBKU0ds
b2JhbE9iamVjdDo6fkpTR2xvYmFsT2JqZWN0IGlzIG5vdC4gIFRoZW4sIHRoZSBoZWFwIG9mCisg
ICAgICAgIGFsbG9jYXRpbmcgSlNHbG9iYWxPYmplY3RSYXJlRGF0YSBpcyBXZWJLaXQuZGxsLCBi
dXQgZGVhbGxvY2F0aW5nCisgICAgICAgIEphdmFTY3JpcHRDb3JlLmRsbC4gIEFkZGluZyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRCB0bworICAgICAgICBKU0dsb2JhbE9iamVjdFJhcmVEYXRhIGVu
c3VyZXMgaGVhcCBjb25zaXN0ZW5jeSBvZiBpdC4gIFdURjo6TG9jaworICAgICAgICBhbHNvIG5l
ZWRzIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIGJlY2F1c2UgaXQgaXMgYWxsb2NhdGVkIGZyb20K
KyAgICAgICAgdGhlIGlubGluZWQgY29uc3R1cmN0b3Igb2YgSlNHbG9iYWxPYmplY3RSYXJlRGF0
YS4KKworICAgICAgICAqIHd0Zi9Mb2NrLmg6IEFkZCBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRC4K
KwogMjAxNi0wNC0yMSAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBMZXRzIGRvIGxlc3MgbG9ja2luZyBvZiBzeW1ib2wgdGFibGVzIGluIHRoZSBCeXRlY29kZUdl
bmVyYXRvciB3aGVyZSB3ZSBkb24ndCBoYXZlIHJhY2UgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggMTdmNzYyZWUwNjRj
ZDlmMzU5YWQ3MWI0NTdmYmQ1MjY1ODgyZTYzMS4uNjhiNmRjMWI0ZTk1N2I3MTE3NWU4YWFlNTQy
NzIzMTBiYTFjNWZiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCkBAIC0xODQsNiArMTg0LDggQEAgcHJpdmF0ZToKICAgICB0eXBlZGVmIEhh
c2hNYXA8T3BhcXVlSlNDbGFzcyosIHN0ZDo6dW5pcXVlX3B0cjxPcGFxdWVKU0NsYXNzQ29udGV4
dERhdGE+PiBPcGFxdWVKU0NsYXNzRGF0YU1hcDsKIAogICAgIHN0cnVjdCBKU0dsb2JhbE9iamVj
dFJhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgogICAgICAgICBKU0dsb2JhbE9iamVjdFJhcmVEYXRhKCkKICAgICAgICAgICAgIDogcHJvZmls
ZUdyb3VwKDApCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvY2suaCBi
L1NvdXJjZS9XVEYvd3RmL0xvY2suaAppbmRleCA4Mzk1NjUzZGMzYzlhMjA0YjA3MjM4MmRmY2Ix
OGRiODJjZWNkOTBhLi4wMDA3ZGVjZTVkODc4NDkxNzJkNTkxNTEwZTY4MDY0Yzg5YmY0MDQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2NrLmgKKysrIGIvU291cmNlL1dURi93dGYvTG9j
ay5oCkBAIC0xMTMsNiArMTEzLDcgQEAgcHJvdGVjdGVkOgogCiBjbGFzcyBMb2NrIDogcHVibGlj
IExvY2tCYXNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NrKTsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBMb2NrKCkKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277296</attachid>
            <date>2016-04-25 17:51:24 -0700</date>
            <delta_ts>2016-04-25 20:21:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156831-20160426095151.patch</filename>
            <type>text/plain</type>
            <size>4292</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
OTA5OWM3ODc4ZWVmMGM0N2IzOGY3MDNhMmYxZmM5YzI3NzBlNWU3Li4wNjBjMzY0Y2ZmZTllZGVh
MGFkZjBlNWY0YjFlYzE3ODA1YTQxY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxNi0wNC0yNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBIZWFwIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQgd2hlbiBkZXN0
cnVjdGluZyBKU0dsb2JhbE9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU2ODMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisK
KyAgICAgICAgV2ViS2l0IHVzZXMgQ1JUIHN0YXRpYyBsaWJyYXJ5IG9uIFdpbmRvd3MuICBFYWNo
IGNvcHkgb2YgdGhlIENSVAorICAgICAgICBsaWJyYXJ5IGhhcyBpdHMgb3duIGhlYXAgbWFuYWdl
ciwgYWxsb2NhdGluZyBtZW1vcnkgaW4gb25lIENSVAorICAgICAgICBsaWJyYXJ5IGFuZCBwYXNz
aW5nIHRoZSBwb2ludGVyIGFjcm9zcyBhIERMTCBib3VuZGFyeSB0byBiZSBmcmVlZAorICAgICAg
ICBieSBhIGRpZmZlcmVudCBjb3B5IG9mIHRoZSBDUlQgbGlicmFyeSBpcyBhIHBvdGVudGlhbCBj
YXVzZSBmb3IKKyAgICAgICAgaGVhcCBjb3JydXB0aW9uLgorCisgICAgICAgICAgUG90ZW50aWFs
IEVycm9ycyBQYXNzaW5nIENSVCBPYmplY3RzIEFjcm9zcyBETEwgQm91bmRhcmllcworICAgICAg
ICAgIDxodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zMjM1NDYwKHY9
dnMuMTQwKS5hc3B4PgorCisgICAgICAgIEpTR2xvYmFsT2JqZWN0OjpjcmVhdGVSYXJlRGF0YUlm
TmVlZGVkIGlzIGlubGluZWQgYnV0CisgICAgICAgIEpTR2xvYmFsT2JqZWN0Ojp+SlNHbG9iYWxP
YmplY3QgaXMgbm90LiAgVGhlbiwgdGhlIGhlYXAgb2YKKyAgICAgICAgYWxsb2NhdGluZyBKU0ds
b2JhbE9iamVjdFJhcmVEYXRhIGlzIFdlYktpdC5kbGwsIGJ1dCBkZWFsbG9jYXRpbmcKKyAgICAg
ICAgSmF2YVNjcmlwdENvcmUuZGxsLiAgQWRkaW5nIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIHRv
CisgICAgICAgIEpTR2xvYmFsT2JqZWN0UmFyZURhdGEgZW5zdXJlcyBoZWFwIGNvbnNpc3RlbmN5
IG9mIGl0LiAgV1RGOjpMb2NrCisgICAgICAgIGFsc28gbmVlZHMgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQgYmVjYXVzZSBpdCBpcyBhbGxvY2F0ZWQgZnJvbQorICAgICAgICB0aGUgaW5saW5lZCBj
b25zdHJ1Y3RvciBvZiBKU0dsb2JhbE9iamVjdFJhcmVEYXRhLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL2luc2VydGVkSW50b0RvY3VtZW50LWlmcmFtZS5odG1sCisKKyAgICAgICAgKiBydW50
aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIEFkZCBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RCB0byBKU0dsb2JhbE9iamVjdFJhcmVEYXRhLgorCiAyMDE2LTA0LTI1ICBNaWNoYWVsIFNhYm9m
ZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIHVzaW5nIEB0cnlHZXRCeUlk
IGluIERGRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0No
YW5nZUxvZwppbmRleCBkNWVjOWJhZDRhNjY5MGNmMWJjZWUyMWU1YjAwNzY4Y2E4ZjRlMmM2Li5h
Y2I0NDc1NzIzMjNiYzFjZWIwMWM1MWNiNjYwNGNkOTY5NzRlZWQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDE2LTA0LTI1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIEhlYXAgY29ycnVwdGlvbiBpcyBkZXRlY3RlZCB3aGVuIGRlc3RydWN0aW5n
IEpTR2xvYmFsT2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTY4MzEKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAg
ICBXZWJLaXQgdXNlcyBDUlQgc3RhdGljIGxpYnJhcnkgb24gV2luZG93cy4gIEVhY2ggY29weSBv
ZiB0aGUgQ1JUCisgICAgICAgIGxpYnJhcnkgaGFzIGl0cyBvd24gaGVhcCBtYW5hZ2VyLCBhbGxv
Y2F0aW5nIG1lbW9yeSBpbiBvbmUgQ1JUCisgICAgICAgIGxpYnJhcnkgYW5kIHBhc3NpbmcgdGhl
IHBvaW50ZXIgYWNyb3NzIGEgRExMIGJvdW5kYXJ5IHRvIGJlIGZyZWVkCisgICAgICAgIGJ5IGEg
ZGlmZmVyZW50IGNvcHkgb2YgdGhlIENSVCBsaWJyYXJ5IGlzIGEgcG90ZW50aWFsIGNhdXNlIGZv
cgorICAgICAgICBoZWFwIGNvcnJ1cHRpb24uCisKKyAgICAgICAgICBQb3RlbnRpYWwgRXJyb3Jz
IFBhc3NpbmcgQ1JUIE9iamVjdHMgQWNyb3NzIERMTCBCb3VuZGFyaWVzCisgICAgICAgICAgPGh0
dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXMyMzU0NjAodj12cy4xNDAp
LmFzcHg+CisKKyAgICAgICAgSlNHbG9iYWxPYmplY3Q6OmNyZWF0ZVJhcmVEYXRhSWZOZWVkZWQg
aXMgaW5saW5lZCBidXQKKyAgICAgICAgSlNHbG9iYWxPYmplY3Q6On5KU0dsb2JhbE9iamVjdCBp
cyBub3QuICBUaGVuLCB0aGUgaGVhcCBvZgorICAgICAgICBhbGxvY2F0aW5nIEpTR2xvYmFsT2Jq
ZWN0UmFyZURhdGEgaXMgV2ViS2l0LmRsbCwgYnV0IGRlYWxsb2NhdGluZworICAgICAgICBKYXZh
U2NyaXB0Q29yZS5kbGwuICBBZGRpbmcgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgdG8KKyAgICAg
ICAgSlNHbG9iYWxPYmplY3RSYXJlRGF0YSBlbnN1cmVzIGhlYXAgY29uc2lzdGVuY3kgb2YgaXQu
ICBXVEY6OkxvY2sKKyAgICAgICAgYWxzbyBuZWVkcyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBi
ZWNhdXNlIGl0IGlzIGFsbG9jYXRlZCBmcm9tCisgICAgICAgIHRoZSBpbmxpbmVkIGNvbnN0cnVj
dG9yIG9mIEpTR2xvYmFsT2JqZWN0UmFyZURhdGEuCisKKyAgICAgICAgKiB3dGYvTG9jay5oOiBB
ZGQgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQuCisKIDIwMTYtMDQtMjEgIFNhYW0gYmFyYXRpICA8
c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgTGV0cyBkbyBsZXNzIGxvY2tpbmcgb2Ygc3lt
Ym9sIHRhYmxlcyBpbiB0aGUgQnl0ZWNvZGVHZW5lcmF0b3Igd2hlcmUgd2UgZG9uJ3QgaGF2ZSBy
YWNlIGNvbmRpdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oCmluZGV4IDE3Zjc2MmVlMDY0Y2Q5ZjM1OWFkNzFiNDU3ZmJkNTI2NTg4MmU2MzEu
LjY4YjZkYzFiNGU5NTdiNzExNzVlOGFhZTU0MjcyMzEwYmExYzVmYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMTg0LDYgKzE4NCw4
IEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiBIYXNoTWFwPE9wYXF1ZUpTQ2xhc3MqLCBzdGQ6OnVu
aXF1ZV9wdHI8T3BhcXVlSlNDbGFzc0NvbnRleHREYXRhPj4gT3BhcXVlSlNDbGFzc0RhdGFNYXA7
CiAKICAgICBzdHJ1Y3QgSlNHbG9iYWxPYmplY3RSYXJlRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgSlNHbG9iYWxPYmplY3RSYXJl
RGF0YSgpCiAgICAgICAgICAgICA6IHByb2ZpbGVHcm91cCgwKQogICAgICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2NrLmggYi9Tb3VyY2UvV1RGL3d0Zi9Mb2NrLmgKaW5kZXgg
ODM5NTY1M2RjM2M5YTIwNGIwNzIzODJkZmNiMThkYjgyY2VjZDkwYS4uMDAwN2RlY2U1ZDg3ODQ5
MTcyZDU5MTUxMGU2ODA2NGM4OWJmNDA0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTG9j
ay5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvY2suaApAQCAtMTEzLDYgKzExMyw3IEBAIHByb3Rl
Y3RlZDoKIAogY2xhc3MgTG9jayA6IHB1YmxpYyBMb2NrQmFzZSB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTG9jayk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgTG9jaygpCiAgICAgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>