<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [WinCairo] heap corruption is detected when destructing JSGlobalObject"
   href="https://bugs.webkit.org/show_bug.cgi?id=156831#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [WinCairo] heap corruption is detected when destructing JSGlobalObject"
   href="https://bugs.webkit.org/show_bug.cgi?id=156831">bug 156831</a>
              from <span class="vcard"><a class="email" href="mailto:Hironori.Fujii&#64;sony.com" title="Fujii Hironori &lt;Hironori.Fujii&#64;sony.com&gt;"> <span class="fn">Fujii Hironori</span></a>
</span></b>
        <pre>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:

<span class="quote">&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]</span ></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>