Detected by WinCairo test bot: https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Tests%29/builds/81/steps/layout-test/logs/stdio Repro steps: 0. Delete build directory. 1. Build r231703 (e7d8f1c2d620436400ee58ef73fb035af0e62d6c). 2. Run tests, confirm everything is normal. 3. Build r231704 (07c00cf1cf8625bcd5abd80857c9bf98f9d2b9ab). 4. Run tests, DRT crashes on every test. 5. Build again as-is. 6. Run tests, confirm everything is normal again. Notes: - Only reproes with Ninja, not with MSVC (`--no-ninja`); Release vs. Debug doesn't matter. - There may be revisions other than r231704 which repro. - Error dialog upon DRT crash says "the procedure entry point SSL_CTX_set1_groups_list could not be located in bin64\WebKit.dll". - Step 5 takes about 1.5 minutes and builds/links the following: Building CXX object Source\WebKitLegacy\CMakeFiles\WebKitLegacy\win\WebDocumentLoader.cpp.obj Building CXX object Source\WebKitLegacy\CMakeFiles\WebKitLegacy\win\Plugins\PluginStream.cpp.obj Building CXX object Source\WebKitLegacy\CMakeFiles\WebKitLegacy\WebCoreSupport\WebResourceLoadScheduler.cpp.obj Building CXX object Source\WebKitLegacy\CMakeFiles\WebKitLegacy\win\WebCoreSupport\WebVisitedLinkStore.cpp.obj Building CXX object Source\WebKitLegacy\CMakeFiles\WebKitLegacy\win\WebDataSource.cpp.obj Building CXX object Source\WebKitLegacy\CMakeFiles\WebKitLegacy\win\WebCoreStatistics.cpp.obj Building CXX object Source\WebKitLegacy\CMakeFiles\WebKitLegacy\win\Plugins\PluginViewWin.cpp.obj Building CXX object Source\WebKitLegacy\CMakeFiles\WebKitLegacy\win\Plugins\PluginView.cpp.obj Linking CXX shared library bin64\WebKit.dll Creating library lib64\WebKit.lib and object lib64\WebKit.exp
Whoops, the error dialog mentioned above was a fluke (Visual Studio just wasn't able to resolve WEBKIT_LIBRARIES when debugging a Ninja build). The actual crash is evidently happening inside malloc. Debug mode call stack ("n" is 512): > ntdll.dll!00007ff94773877a() > ntdll.dll!00007ff94773fcfa() > ntdll.dll!00007ff9476df9c2() > ntdll.dll!00007ff94766cb60() > ntdll.dll!00007ff947668deb() > ucrtbase.dll!00007ff94444ec76() > WTF.dll!WTF::fastMalloc(unsigned __int64 n) Line 185 > WTF.dll!WTF::fastZeroedMalloc(unsigned __int64 n) Line 79 > WebKit.dll!WTF::HashTable<WTF::String,WTF::KeyValuePair<WTF::String,unsigned int>,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String,unsigned int> >,WTF::StringHash,WTF::HashMap<WTF::String,unsigned int,WTF::StringHash,WTF::HashTraits<WTF::String>,WTF::HashTraits<unsigned int> >::KeyValuePairTraits,WTF::HashTraits<WTF::String> >::allocateTable(unsigned int size) Line 1146 > WebKit.dll!WTF::HashTable<WTF::String,WTF::KeyValuePair<WTF::String,unsigned int>,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String,unsigned int> >,WTF::StringHash,WTF::HashMap<WTF::String,unsigned int,WTF::StringHash,WTF::HashTraits<WTF::String>,WTF::HashTraits<unsigned int> >::KeyValuePairTraits,WTF::HashTraits<WTF::String> >::rehash(unsigned int newTableSize, WTF::KeyValuePair<WTF::String,unsigned int> * entry) Line 1197 > WebKit.dll!WTF::HashTable<WTF::String,WTF::KeyValuePair<WTF::String,unsigned int>,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String,unsigned int> >,WTF::StringHash,WTF::HashMap<WTF::String,unsigned int,WTF::StringHash,WTF::HashTraits<WTF::String>,WTF::HashTraits<unsigned int> >::KeyValuePairTraits,WTF::HashTraits<WTF::String> >::expand(WTF::KeyValuePair<WTF::String,unsigned int> * entry) Line 1175 > WebKit.dll!WTF::HashTable<WTF::String,WTF::KeyValuePair<WTF::String,unsigned int>,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String,unsigned int> >,WTF::StringHash,WTF::HashMap<WTF::String,unsigned int,WTF::StringHash,WTF::HashTraits<WTF::String>,WTF::HashTraits<unsigned int> >::KeyValuePairTraits,WTF::HashTraits<WTF::String> >::add<WTF::HashMapTranslator<WTF::HashMap<WTF::String,unsigned int,WTF::StringHash,WTF::HashTraits<WTF::String>,WTF::HashTraits<unsigned int> >::KeyValuePairTraits,WTF::StringHash>,WTF::String,int>(WTF::String && key, int && extra) Line 938 > WebKit.dll!WTF::HashMap<WTF::String,unsigned int,WTF::StringHash,WTF::HashTraits<WTF::String>,WTF::HashTraits<unsigned int> >::inlineAdd<WTF::String,int>(WTF::String && key, int && value) Line 346 > WebKit.dll!WTF::HashMap<WTF::String,unsigned int,WTF::StringHash,WTF::HashTraits<WTF::String>,WTF::HashTraits<unsigned int> >::add<int>(WTF::String && key, int && mapped) Line 388 > WebKit.dll!WTF::HashCountedSet<WTF::String,WTF::StringHash,WTF::HashTraits<WTF::String> >::add(WTF::String && value) Line 211 > WebKit.dll!WebDataSource::WebDataSource(WebDocumentLoader * loader) Line 60 > WebKit.dll!WebDataSource::createInstance(WebDocumentLoader * loader) Line 74 > WebKit.dll!WebFrameLoaderClient::createDocumentLoader(const WebCore::ResourceRequest & request, const WebCore::SubstituteData & substituteData) Line 933 > WebKit.dll!WebCore::FrameLoader::init() Line 310 > WebKit.dll!WebCore::Frame::init() Line 204 > WebKit.dll!WebView::initWithFrame(tagRECT frame, wchar_t * frameName, wchar_t * groupName) Line 3149 > DumpRenderTreeLib.dll!createWebViewAndOffscreenWindow(HWND__ * * webViewWindow) Line 1339 > DumpRenderTreeLib.dll!main(int argc, const char * * argv) Line 1592 > DumpRenderTreeLib.dll!dllLauncherEntryPoint(int argc, const char * * argv) Line 1665 > DumpRenderTree.exe!main(int argc, const char * * argv) Line 249 > [External Code]
FWIW, the trace when attempting to launch MiniBrowser is roughly the same ("n" is 1296): > ntdll.dll!00007ff9477387bb() > ntdll.dll!00007ff94773fcfa() > ntdll.dll!00007ff9476df9c2() > ntdll.dll!00007ff94773fc23() > ntdll.dll!00007ff94766cb38() > ntdll.dll!00007ff947668deb() > ucrtbase.dll!00007ff94444ec76() > WTF.dll!WTF::fastMalloc(unsigned __int64 n) Line 185 > WebKit.dll!WebCore::FrameView::operator new(unsigned __int64 size) Line 72 > WebKit.dll!WebCore::FrameView::create(WebCore::Frame & frame, const WebCore::IntSize & initialSize) Line 235 > WebKit.dll!WebCore::Frame::createView(const WebCore::IntSize & viewportSize, const WebCore::Color & backgroundColor, bool transparent, const WebCore::IntSize & fixedLayoutSize, const WebCore::IntRect & fixedVisibleContentRect, bool useFixedLayout, WebCore::ScrollbarMode horizontalScrollbarMode, bool horizontalLock, WebCore::ScrollbarMode verticalScrollbarMode, bool verticalLock) Line 923 > WebKit.dll!WebFrameLoaderClient::transitionToCommittedForNewPage() Line 1004 > WebKit.dll!WebCore::FrameLoader::transitionToCommitted(WebCore::CachedPage * cachedPage) Line 2088 > WebKit.dll!WebCore::FrameLoader::commitProvisionalLoad() Line 1910 > WebKit.dll!WebCore::DocumentLoader::commitIfReady() Line 360 > WebKit.dll!WebCore::DocumentLoader::finishedLoading() Line 423 > WebKit.dll!WebCore::DocumentLoader::maybeLoadEmpty() Line 1670 > WebKit.dll!WebCore::DocumentLoader::startLoadingMainResource(WebCore::ShouldContinue shouldContinue) Line 1685 > WebKit.dll!WebCore::FrameLoader::init() Line 314 > WebKit.dll!WebCore::Frame::init() Line 204 > WebKit.dll!WebView::initWithFrame(tagRECT frame, wchar_t * frameName, wchar_t * groupName) Line 3149 > MiniBrowserLib.dll!MiniBrowser::prepareViews(HWND__ * mainWnd, const tagRECT & clientRect, wchar_t * const & requestedURL) Line 100 > MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 160 > MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 877 > MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 251 > [External Code]
The Windows WK1 was removed.