[Webkit-unassigned] [Bug 274765] New: [Win][clang-cl] Enabling HAVE_INT128_T generates unaligned movaps instructions

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 27 21:16:07 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=274765

            Bug ID: 274765
           Summary: [Win][clang-cl] Enabling HAVE_INT128_T generates
                    unaligned movaps instructions
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: Hironori.Fujii at sony.com

If I enable HAVE_INT128_T for 279362 at main Windows port Debug build, MiniBrowser crashes immediately.

Exception thrown at 0x00007FFC5AD9E639 (WebCore.dll) in WebKitWebProcess.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.

Callstack:

> WebCore.dll!WTF::operator==(const WTF::UUID &, const WTF::UUID &) Line 95	C++
> WebCore.dll!WebCore::operator==(const WebCore::ProcessQualified<WTF::UUID> &, const WebCore::ProcessQualified<WTF::UUID> &) Line 63	C++
> WebCore.dll!WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>::equal(const WebCore::ProcessQualified<WTF::UUID> & a, const WebCore::ProcessQualified<WTF::UUID> & b) Line 127	C++
> WebCore.dll!WTF::IdentityHashTranslator<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>>::equal<WebCore::ProcessQualified<WTF::UUID>,WebCore::ProcessQualified<WTF::UUID>>(const WebCore::ProcessQualified<WTF::UUID> & a, const WebCore::ProcessQualified<WTF::UUID> & b) Line 301	C++
> WebCore.dll!WTF::HashMapTranslatorAdapter<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::IdentityHashTranslator<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>>>::equal<WebCore::ProcessQualified<WTF::UUID>,WebCore::ProcessQualified<WTF::UUID>>(const WebCore::ProcessQualified<WTF::UUID> & a, const WebCore::ProcessQualified<WTF::UUID> & b) Line 264	C++
> WebCore.dll!WTF::HashTable<WebCore::ProcessQualified<WTF::UUID>,WTF::KeyValuePair<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>>::checkKey<WTF::HashMapTranslatorAdapter<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::IdentityHashTranslator<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>>>,WebCore::ProcessQualified<WTF::UUID>>(const WebCore::ProcessQualified<WTF::UUID> & key) Line 649	C++
> WebCore.dll!WTF::HashTable<WebCore::ProcessQualified<WTF::UUID>,WTF::KeyValuePair<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>>::inlineLookup<WTF::HashMapTranslatorAdapter<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::IdentityHashTranslator<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>>>,WebCore::ProcessQualified<WTF::UUID>>(const WebCore::ProcessQualified<WTF::UUID> & key) Line 671	C++
> WebCore.dll!WTF::HashTable<WebCore::ProcessQualified<WTF::UUID>,WTF::KeyValuePair<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>>::lookup<WTF::HashMapTranslatorAdapter<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::IdentityHashTranslator<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>>>,WebCore::ProcessQualified<WTF::UUID>>(const WebCore::ProcessQualified<WTF::UUID> & key) Line 663	C++
> WebCore.dll!WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::get<WTF::IdentityHashTranslator<WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::KeyValuePairTraits,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>>,WebCore::ProcessQualified<WTF::UUID>>(const WebCore::ProcessQualified<WTF::UUID> & value) Line 373	C++
> WebCore.dll!WTF::HashMap<WebCore::ProcessQualified<WTF::UUID>,WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>,WTF::DefaultHash<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WebCore::ProcessQualified<WTF::UUID>>,WTF::HashTraits<WTF::WeakRef<WebCore::Document,WebCore::WeakPtrImplWithEventTargetData>>,WTF::HashTableTraits>::get(const WebCore::ProcessQualified<WTF::UUID> & key) Line 506	C++
> WebCore.dll!WebCore::DocumentLoader::willSendRequest(WebCore::ResourceRequest && newRequest, const WebCore::ResourceResponse & redirectResponse, WTF::CompletionHandler<void (WebCore::ResourceRequest &&)> && completionHandler) Line 665	C++
> WebCore.dll!WebCore::DocumentLoader::startLoadingMainResource() Line 2147	C++
> WebCore.dll!WebCore::FrameLoader::continueLoadAfterNavigationPolicy::<lambda_12>::operator()() Line 3953	C++
> WebCore.dll!WTF::Detail::CallableWrapper<`lambda at C:\webkit\wc\Source\WebCore\loader\FrameLoader.cpp:3930:51',void>::call() Line 53	C++
> WebCore.dll!WTF::Function<void ()>::operator()() Line 82	C++
> WebCore.dll!WTF::CompletionHandler<void ()>::operator()() Line 78	C++
> WebCore.dll!WebCore::FrameLoader::continueLoadAfterNavigationPolicy(const WebCore::ResourceRequest & request, WebCore::FormState * formState, WebCore::NavigationPolicyDecision navigationPolicyDecision, WebCore::AllowNavigationToInvalidURL allowNavigationToInvalidURL) Line 3957	C++
> WebCore.dll!WebCore::FrameLoader::loadWithDocumentLoader::<lambda_8>::operator()(const WebCore::ResourceRequest & request, WTF::WeakPtr<WebCore::FormState,WTF::DefaultWeakPtrImpl,WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>> && weakFormState, WebCore::NavigationPolicyDecision navigationPolicyDecision) Line 1811	C++
> WebCore.dll!WTF::Detail::CallableWrapper<`lambda at C:\webkit\wc\Source\WebCore\loader\FrameLoader.cpp:1810:152',void,WebCore::ResourceRequest &&,WTF::WeakPtr<WebCore::FormState,WTF::DefaultWeakPtrImpl,WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>> &&,WebCore::NavigationPolicyDecision>::call(WebCore::ResourceRequest && in, WTF::WeakPtr<WebCore::FormState,WTF::DefaultWeakPtrImpl,WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>> && in, WebCore::NavigationPolicyDecision in) Line 53	C++
> WebCore.dll!WTF::Function<void (WebCore::ResourceRequest &&, WTF::WeakPtr<WebCore::FormState,WTF::DefaultWeakPtrImpl,WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>> &&, WebCore::NavigationPolicyDecision)>::operator()(WebCore::ResourceRequest && in, WTF::WeakPtr<WebCore::FormState,WTF::DefaultWeakPtrImpl,WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>> && in, WebCore::NavigationPolicyDecision in) Line 82	C++
> WebCore.dll!WTF::CompletionHandler<void (WebCore::ResourceRequest &&, WTF::WeakPtr<WebCore::FormState,WTF::DefaultWeakPtrImpl,WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>> &&, WebCore::NavigationPolicyDecision)>::operator()(WebCore::ResourceRequest && in, WTF::WeakPtr<WebCore::FormState,WTF::DefaultWeakPtrImpl,WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>> && in, WebCore::NavigationPolicyDecision in) Line 78	C++
> WebCore.dll!WebCore::PolicyChecker::checkNavigationPolicy::<lambda_0>::operator()(WebCore::PolicyAction policyAction) Line 262	C++
> WebCore.dll!WTF::Detail::CallableWrapper<`lambda at C:\webkit\wc\Source\WebCore\loader\PolicyChecker.cpp:219:43',void,WebCore::PolicyAction>::call(WebCore::PolicyAction in) Line 53	C++
> WebKit2.dll!WTF::Function<void (WebCore::PolicyAction)>::operator()(WebCore::PolicyAction in) Line 82	C++
> WebKit2.dll!WTF::CompletionHandler<void (WebCore::PolicyAction)>::operator()(WebCore::PolicyAction in) Line 78	C++
> WebKit2.dll!WebKit::WebFrame::didReceivePolicyDecision(unsigned __int64 listenerID, WebKit::PolicyDecision && policyDecision) Line 576	C++
> WebKit2.dll!WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction::<lambda_15>::operator()(WebKit::PolicyDecision && policyDecision) Line 201	C++
> [External Code]	
> WebKit2.dll!IPC::Connection::callReply<Messages::WebPageProxy::DecidePolicyForNavigationActionAsync,`lambda at C:\webkit\wc\Source\WebKit\WebProcess\WebCoreSupport\WebFrameLoaderClient.cpp:194:118'>(IPC::Decoder & decoder, WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction::<lambda_15> && completionHandler) Line 868	C++
> WebKit2.dll!IPC::Connection::makeAsyncReplyCompletionHandler<Messages::WebPageProxy::DecidePolicyForNavigationActionAsync,`lambda at C:\webkit\wc\Source\WebKit\WebProcess\WebCoreSupport\WebFrameLoaderClient.cpp:194:118'>::<lambda_1>::operator()(IPC::Decoder * decoder) Line 796	C++
> WebKit2.dll!WTF::Detail::CallableWrapper<`lambda at C:\webkit\wc\Source\WebKit\Platform\IPC\Connection.h:794:9',void,IPC::Decoder *>::call(IPC::Decoder * in) Line 53	C++
> WebKit2.dll!WTF::Function<void (IPC::Decoder *)>::operator()(IPC::Decoder * in) Line 82	C++
> WebKit2.dll!WTF::CompletionHandler<void (IPC::Decoder *)>::operator()(IPC::Decoder * in) Line 78	C++
> WebKit2.dll!IPC::Connection::dispatchMessage(IPC::Decoder & decoder) Line 1312	C++
> WebKit2.dll!IPC::Connection::dispatchMessage(WTF::UniqueRef<IPC::Decoder> message) Line 1380	C++
> WebKit2.dll!IPC::Connection::dispatchOneIncomingMessage() Line 1444	C++
> WebKit2.dll!IPC::Connection::enqueueIncomingMessage::<lambda_6>::operator()() Line 1293	C++
> WebKit2.dll!WTF::Detail::CallableWrapper<`lambda at C:\webkit\wc\Source\WebKit\Platform\IPC\Connection.cpp:1291:31',void>::call() Line 53	C++
> WTF.dll!WTF::Function<void ()>::operator()() Line 82	C++
> WTF.dll!WTF::RunLoop::performWork() Line 148	C++
> WTF.dll!WTF::RunLoop::wndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 57	C++
> WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 39	C++
> [External Code]	
> WTF.dll!WTF::RunLoop::run() Line 69	C++
> WebKit2.dll!WebKit::AuxiliaryProcessMainBase<WebKit::WebProcess,1>::run(int argc, char * * argv) Line 72	C++
> WebKit2.dll!WebKit::AuxiliaryProcessMain<WebKit::WebProcessMainWin>(int argc, char * * argv) Line 98	C++
> WebKit2.dll!WebKit::WebProcessMain(int argc, char * * argv) Line 57	C++
> WebKitWebProcess.exe!main(int argc, char * * argv) Line 35	C++
> [External Code]	


Disassembly:

    friend bool operator==(const UUID&, const UUID&) = default;
00007FFC5AD9E620  sub         rsp,10h  
00007FFC5AD9E624  mov         qword ptr [rsp+8],rdx  
00007FFC5AD9E629  mov         qword ptr [rsp],rcx  
00007FFC5AD9E62D  mov         rax,qword ptr [rsp]  
00007FFC5AD9E631  movaps      xmm0,xmmword ptr [rax]  
00007FFC5AD9E634  mov         rax,qword ptr [rsp+8]  
00007FFC5AD9E639  movaps      xmm1,xmmword ptr [rax]  ★
00007FFC5AD9E63C  pcmpeqb     xmm0,xmm1  
00007FFC5AD9E640  pmovmskb    eax,xmm0  
00007FFC5AD9E644  sub         eax,0FFFFh  
00007FFC5AD9E649  sete        al  
00007FFC5AD9E64C  and         al,1  
00007FFC5AD9E64E  movzx       eax,al  
00007FFC5AD9E651  add         rsp,10h  
00007FFC5AD9E655  ret

Registers:

RAX = 00000065F274E098 RBX = 0000000000000000 RCX = 00000065F274DA90
RDX = 00000065F274E098 RSI = 0000000080000022 RDI = 0000000000000001
R8  = 000000000000004C R9  = 0000000000000060 R10 = 00007FFD07C30000
R11 = 00007FFD07C41393 R12 = 0000000000000000 R13 = 0000000000000000
R14 = 0000000000000401 R15 = 0000000000000000 RIP = 00007FFC5AD9E639
RSP = 00000065F274D928 RBP = 0000000000000000 EFL = 00010204

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240528/141d9f99/attachment-0001.htm>


More information about the webkit-unassigned mailing list