Bug 255195 - REGRESSION(262749@main) [GraphicsLayerWC] WCContentBufferIdentifier should use ObjectIdentifierThreadSafeAccessTraits
Summary: REGRESSION(262749@main) [GraphicsLayerWC] WCContentBufferIdentifier should us...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-04-08 14:39 PDT by Fujii Hironori
Modified: 2023-04-08 15:12 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2023-04-08 14:39:57 PDT
REGRESSION(262749@main) [GraphicsLayerWC] WCContentBufferIdentifier should use ObjectIdentifierThreadSafeAccessTraits

GPUProcess is crashing with the following assertion failure after 262749@main (bug#254873).

ASSERTION FAILED: isMainThread()
C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WTF\wtf\ObjectIdentifier.cpp(35) : WTF::ObjectIdentifierMainThreadAccessTraits::generateIdentifierInternal
1   00007FFC1141249B WTFCrash
2   00007FFC114176BD WTFCrashWithInfo
3   00007FFC114A46C9 WTF::ObjectIdentifierMainThreadAccessTraits::generateIdentifierInternal
4   00007FFBE5BA9FCF WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits>::generate
5   00007FFBE5BA63DF WebKit::WCContentBuffer::WCContentBuffer
6   00007FFBE5BA5476 std::make_unique<WebKit::WCContentBuffer,WebKit::WCContentBufferManager &,WTF::ObjectIdentifier<enum WebCore::ProcessIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> &,WebCore::TextureMapperPlatformLayer * &,0>
7   00007FFBE5BA52BF WTF::makeUnique<WebKit::WCContentBuffer,WebKit::WCContentBufferManager &,WTF::ObjectIdentifier<enum WebCore::ProcessIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> &,WebCore::TextureMapperPlatformLayer * &>
8   00007FFBE5BA871C `WebKit::WCContentBufferManager::ProcessInfo::acquireContentBufferIdentifier'::`2'::<lambda_1>::operator()
9   00007FFBE5BA597A WTF::HashMapEnsureTranslator<WTF::HashMap<WebCore::TextureMapperPlatformLayer *,std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> >,WTF::DefaultHash<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> > >,WTF::HashTableTraits>::KeyValuePairTraits,WTF::DefaultHash<WebCore::TextureMapperPlatformLayer *> >::translate<WTF::KeyValuePair<WebCore::TextureMapperPlatformLayer *,std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> > >,WebCore::TextureMapperPlatformLayer * const &,`WebKit::WCContentBufferManager::ProcessInfo::acquireContentBufferIdentifier'::`2'::<lambda_1> >
10  00007FFBE5BA2F97 WTF::HashTable<WebCore::TextureMapperPlatformLayer *,WTF::KeyValuePair<WebCore::TextureMapperPlatformLayer *,std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> > >,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::TextureMapperPlatformLayer *,std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> > > >,WTF::DefaultHash<WebCore::TextureMapperPlatformLayer *>,WTF::HashMap<WebCore::TextureMapperPlatformLayer *,std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> >,WTF::DefaultHash<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> > >,WTF::HashTableTraits>::KeyValuePairTraits,WTF::HashTraits<WebCore::TextureMapperPlatformLayer *> >::add<WTF::HashMapEnsureTranslator<WTF::HashMap<WebCore::TextureMapperPlatformLayer *,std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> >,WTF::DefaultHash<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> > >,WTF::HashTableTraits>::KeyValuePairTraits,WTF::DefaultHash<WebCore::TextureMapperPlatformLayer *> >,WebCore::TextureMapperPlatformLayer * const &,`WebKit::WCContentBufferManager::ProcessInfo::acquireContentBufferIdentifier'::`2'::<lambda_1> >
11  00007FFBE5BA440A WTF::HashMap<WebCore::TextureMapperPlatformLayer *,std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> >,WTF::DefaultHash<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> > >,WTF::HashTableTraits>::inlineEnsure<WebCore::TextureMapperPlatformLayer * const &,`WebKit::WCContentBufferManager::ProcessInfo::acquireContentBufferIdentifier'::`2'::<lambda_1> >
12  00007FFBE5BA3C6A WTF::HashMap<WebCore::TextureMapperPlatformLayer *,std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> >,WTF::DefaultHash<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<WebCore::TextureMapperPlatformLayer *>,WTF::HashTraits<std::unique_ptr<WebKit::WCContentBuffer,std::default_delete<WebKit::WCContentBuffer> > >,WTF::HashTableTraits>::ensure<`WebKit::WCContentBufferManager::ProcessInfo::acquireContentBufferIdentifier'::`2'::<lambda_1> >
13  00007FFBE5BA8AC0 WebKit::WCContentBufferManager::ProcessInfo::acquireContentBufferIdentifier
14  00007FFBE5BA2439 WebKit::WCContentBufferManager::acquireContentBufferIdentifier
15  00007FFBE5B919EF WebKit::RemoteGraphicsContextGLWC::prepareForDisplay
16  00007FFBE667E9B9 `IPC::callMemberFunction<WebKit::RemoteGraphicsContextGL,WebKit::RemoteGraphicsContextGL,void __cdecl(WTF::CompletionHandler<void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)> &&),std::tuple<>,void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)>'::`2'::<lambda_1>::operator()<>
17  00007FFBE66FE3C4 std::invoke<`IPC::callMemberFunction<WebKit::RemoteGraphicsContextGL,WebKit::RemoteGraphicsContextGL,void __cdecl(WTF::CompletionHandler<void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)> &&),std::tuple<>,void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)>'::`2'::<lambda_1> >
18  00007FFBE668AC56 std::_Apply_impl<`IPC::callMemberFunction<WebKit::RemoteGraphicsContextGL,WebKit::RemoteGraphicsContextGL,void __cdecl(WTF::CompletionHandler<void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)> &&),std::tuple<>,void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)>'::`2'::<lambda_1>,std::tuple<> >
19  00007FFBE6692125 std::apply<`IPC::callMemberFunction<WebKit::RemoteGraphicsContextGL,WebKit::RemoteGraphicsContextGL,void __cdecl(WTF::CompletionHandler<void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)> &&),std::tuple<>,void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)>'::`2'::<lambda_1>,std::tuple<> >
20  00007FFBE6696B35 IPC::callMemberFunction<WebKit::RemoteGraphicsContextGL,WebKit::RemoteGraphicsContextGL,void __cdecl(WTF::CompletionHandler<void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)> &&),std::tuple<>,void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)>
21  00007FFBE66FDDEC IPC::handleMessageSynchronous<Messages::RemoteGraphicsContextGL::PrepareForDisplay,WebKit::RemoteGraphicsContextGL,WebKit::RemoteGraphicsContextGL,void __cdecl(WTF::CompletionHandler<void __cdecl(std::optional<WTF::ObjectIdentifier<enum WebKit::WCContentBufferIdentifierType,WTF::ObjectIdentifierMainThreadAccessTraits> >)> &&)>
22  00007FFBE663D563 WebKit::RemoteGraphicsContextGL::didReceiveStreamMessage
23  00007FFBE6D528B2 IPC::StreamServerConnection::dispatchStreamMessage
24  00007FFBE6D52287 IPC::StreamServerConnection::dispatchStreamMessages
25  00007FFBE6D5419F IPC::StreamConnectionWorkQueue::processStreams
26  00007FFBE6D54375 `IPC::StreamConnectionWorkQueue::startProcessingThread'::`2'::<lambda_1>::operator()
27  00007FFBE6D548AB WTF::Detail::CallableWrapper<`IPC::StreamConnectionWorkQueue::startProcessingThread'::`2'::<lambda_1>,void>::call
28  00007FFC1142A4F3 WTF::Function<void __cdecl(void)>::operator()
29  00007FFC114D0108 WTF::Thread::entryPoint
30  00007FFC115AD994 WTF::wtfThreadEntryPoint
31  00007FFC0A001FFA o_exp
Comment 1 Fujii Hironori 2023-04-08 15:07:37 PDT
Pull request: https://github.com/WebKit/WebKit/pull/12547
Comment 2 EWS 2023-04-08 15:11:52 PDT
Committed 262754@main (d3c2c894de79): <https://commits.webkit.org/262754@main>

Reviewed commits have been landed. Closing PR #12547 and removing active labels.
Comment 3 Radar WebKit Bug Importer 2023-04-08 15:12:18 PDT
<rdar://problem/107794495>