Bug 220674 - [AppleWin][DumpRenderTree] random crashes on svg and mathml tests in computeSHA1HashStringForBitmapContext
Summary: [AppleWin][DumpRenderTree] random crashes on svg and mathml tests in computeS...
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: InRadar
Depends on:
Blocks:
 
Reported: 2021-01-15 14:34 PST by Fujii Hironori
Modified: 2023-07-16 13:22 PDT (History)
2 users (show)

See Also:


Attachments
r417626-72196.zip (974.39 KB, application/x-zip-compressed)
2021-01-15 14:36 PST, Fujii Hironori
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2021-01-15 14:34:58 PST
[AppleWin][DumpRenderTree] flaky crashes in computeSHA1HashStringForBitmapContext

I'm observing flaky crashes in computeSHA1HashStringForBitmapContext on AppleWin EWS.
For example,
attachment 417626 [details]
https://ews-build.webkit.org/#/builders/10/builds/72196

The following three tests crashed:
  mathml/presentation/semantics-2.html
  svg/animations/animate-marker-orienttype-4.html
  svg/as-background-image/svg-transformed-background.html

Callstack:

> DumpRenderTreeLib!computeSHA1HashStringForBitmapContext(class BitmapContext * context = 0x00000000`00000000, char * hashString = 0x00000030`93afcfa8 "")+0x2b [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Tools\DumpRenderTree\cg\PixelDumpSupportCG.cpp @ 75]
> DumpRenderTreeLib!dumpWebViewAsPixelsAndCompareWithExpected(class std::basic_string<char,std::char_traits<char>,std::allocator<char> > * expectedHash = <Value unavailable error>)+0xa7 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Tools\DumpRenderTree\PixelDumpSupport.cpp @ 62]
> DumpRenderTreeLib!dump(void)+0x56f [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Tools\DumpRenderTree\win\DumpRenderTree.cpp @ 787]
> DumpRenderTreeLib!FrameLoadDelegate::didFinishLoadForFrame(struct IWebView * __formal = 0x0000013e`d7180540, struct IWebFrame * frame = 0x0000013e`d717a5c0)+0x9b [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Tools\DumpRenderTree\win\FrameLoadDelegate.cpp @ 281]
> WebKit!WebFrameLoaderClient::dispatchDidFinishLoad(void)+0x55 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebKitLegacy\win\WebCoreSupport\WebFrameLoaderClient.cpp @ 480]
> WebKit!WebCore::FrameLoader::checkLoadCompleteForThisFrame(void)+0x19a [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\FrameLoader.cpp @ 2575]
> WebKit!WebCore::FrameLoader::checkLoadComplete(void)+0x1a1 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\FrameLoader.cpp @ 2727]
> WebKit!WebCore::FrameLoader::checkCompleted(void)+0x218 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\FrameLoader.cpp @ 888]
> WebKit!WebCore::CachedResourceLoader::loadDone(WebCore::LoadCompletionType type = Finish (0n0), bool shouldPerformPostLoadActions = true)+0x80 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\cache\CachedResourceLoader.cpp @ 1386]
> WebKit!WebCore::SubresourceLoader::notifyDone(WebCore::LoadCompletionType type = Finish (0n0))+0x50 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\SubresourceLoader.cpp @ 846]
> WebKit!WebCore::SubresourceLoader::didFinishLoading(class WebCore::NetworkLoadMetrics * networkLoadMetrics = 0x00000030`93afd4b0)+0x134 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\SubresourceLoader.cpp @ 745]
> WebKit!WebCore::ResourceLoader::loadDataURL::__l2::<lambda_4bb71c130a64b0d249d1556fa88f5c51>::+0x75 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\ResourceLoader.cpp @ 288]
> WebKit!WTF::Detail::CallableWrapper<<lambda_258490eb38645f89a3ae8aa570ac231c>,void>::call(void)+0x93 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\Function.h @ 52]
> WebKit!WTF::Function<void __cdecl+0x9 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\Function.h @ 83]
> WebKit!WTF::CompletionHandler<void __cdecl+0x11 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\CompletionHandler.h @ 67]
> WebKit!WTF::CompletionHandlerCallingScope::{dtor}+0x1d [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\CompletionHandler.h @ 150]
> WebKit!<lambda_57b09ff16487a8df0b17dc6fcaf95ce1>::~<lambda_57b09ff16487a8df0b17dc6fcaf95ce1>(void)+0x27
> WebKit!WTF::Detail::CallableWrapper<<lambda_57b09ff16487a8df0b17dc6fcaf95ce1>,void>::`scalar deleting destructor'(void)+0x18
> WebKit!std::default_delete<WTF::Detail::CallableWrapperBase<void> >::operator()+0xd [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\memory @ 1767]
> WebKit!std::unique_ptr<WTF::Detail::CallableWrapperBase<void>,std::default_delete<WTF::Detail::CallableWrapperBase<void> > >::{dtor}+0xd [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\memory @ 1875]
> WebKit!WTF::CompletionHandler<void __cdecl+0x16 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\CompletionHandler.h @ 67]
> WebKit!WTF::CompletionHandlerCallingScope::{dtor}+0x1b [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\CompletionHandler.h @ 150]
> WebKit!WebCore::ResourceLoader::didReceiveResponse(class WebCore::ResourceResponse * r = <Value unavailable error>, class WTF::CompletionHandler<void __cdecl(void)> * policyCompletionHandler = <Value unavailable error>)+0x1f1 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\ResourceLoader.cpp @ 518]
> WebKit!WebCore::SubresourceLoader::didReceiveResponse(class WebCore::ResourceResponse * response = 0x00000030`93afd990, class WTF::CompletionHandler<void __cdecl(void)> * policyCompletionHandler = <Value unavailable error>)+0x948 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\SubresourceLoader.cpp @ 451]
> WebKit!<lambda_4bb71c130a64b0d249d1556fa88f5c51>::operator()<WTF::Optional<WebCore::DataURLDecoder::Result> >(class WTF::Optional<WebCore::DataURLDecoder::Result> * decodeResult = 0x00000030`93afdb00)+0x339 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WebCore\loader\ResourceLoader.cpp @ 282]
> WebKit!WTF::Detail::CallableWrapper<<lambda_4bb71c130a64b0d249d1556fa88f5c51>,void,WTF::Optional<WebCore::DataURLDecoder::Result> >::call(class WTF::Optional<WebCore::DataURLDecoder::Result> * <in_0> = 0x00000030`93afdb60)+0x7d [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\Function.h @ 52]
> WebKit!WTF::Function<void __cdecl(class WTF::Optional<WebCore::DataURLDecoder::Result> * <in_0> = 0x00000030`93afdbd0)+0x7d [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\Function.h @ 83]
> WebKit!WTF::Detail::CallableWrapper<<lambda_71b7383409cb0a1a0bd182e9439a1d21>,void>::call(void)+0x72 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\WebKitBuild\Release\DerivedSources\ForwardingHeaders\wtf\Function.h @ 52]
> WTF!WTF::Function<void __cdecl+0x1e [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WTF\wtf\Function.h @ 83]
> WTF!WTF::RunLoop::performWork(void)+0x22f [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WTF\wtf\RunLoop.cpp @ 129]
> WTF!WTF::RunLoop::wndProc+0x36 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WTF\wtf\win\RunLoopWin.cpp @ 56]
> WTF!WTF::RunLoop::RunLoopWndProc(struct HWND__ * hWnd = 0x00000000`003c1218, unsigned int message = 0x401, unsigned int64 wParam = 0x0000013e`93928750, int64 lParam = 0n0)+0x5c [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Source\WTF\wtf\win\RunLoopWin.cpp @ 39]
> USER32!UserCallWinProcCheckWow+0x2bd
> USER32!DispatchMessageWorker+0x1e2
> DumpRenderTreeLib!runTest(class std::basic_string<char,std::char_traits<char>,std::allocator<char> > * inputLine = <Value unavailable error>)+0xaf5 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Tools\DumpRenderTree\win\DumpRenderTree.cpp @ 1292]
> DumpRenderTreeLib!main(int argc = <Value unavailable error>, char ** argv = <Value unavailable error>)+0x5d3 [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Tools\DumpRenderTree\win\DumpRenderTree.cpp @ 1663]
> DumpRenderTree!main(int argc = 0n2, char ** argv = 0x0000013e`938b5c10)+0x88b [C:\cygwin\home\buildbot\worker\Windows-EWS\build\Tools\win\DLLLauncher\DLLLauncherMain.cpp @ 222]
> DumpRenderTree!invoke_main+0x22 [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78]
> DumpRenderTree!__scrt_common_main_seh(void)+0x10c [d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
> KERNEL32!BaseThreadInitThunk+0x14
> ntdll!RtlUserThreadStart+0x21
Comment 1 Fujii Hironori 2021-01-15 14:36:06 PST
Created attachment 417740 [details]
r417626-72196.zip
Comment 2 Fujii Hironori 2021-01-15 14:38:50 PST
Another example,

attachment:417677
https://ews-build.s3-us-west-2.amazonaws.com/Windows-EWS/r417677-72237-rerun/results.html

mathml/presentation/non-bmp-operators-spacing.html
svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t.svg
Comment 3 Fujii Hironori 2021-01-15 14:44:16 PST
One more example,

attachment 417495 [details]
https://ews-build.s3-us-west-2.amazonaws.com/Windows-EWS/r417495-72091/results.html

svg/clip-path/clip-path-css-transform-002.svg
Comment 4 Radar WebKit Bug Importer 2021-01-22 14:35:15 PST
<rdar://problem/73516129>
Comment 5 Fujii Hironori 2023-07-16 13:22:43 PDT
AppleWin port was removed.