Bug 185632 - [WinCairo][Ninja] DRT crashes on launch after incremental build.
Summary: [WinCairo][Ninja] DRT crashes on launch after incremental build.
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-14 15:14 PDT by Ross Kirsling
Modified: 2023-03-14 01:22 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ross Kirsling 2018-05-14 15:14:51 PDT
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
Comment 1 Ross Kirsling 2018-05-15 11:02:51 PDT
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]
Comment 2 Ross Kirsling 2018-05-15 11:12:51 PDT
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]
Comment 3 Fujii Hironori 2023-03-14 01:22:01 PDT
The Windows WK1 was removed.