RESOLVED FIXED 255195
REGRESSION(262749@main) [GraphicsLayerWC] WCContentBufferIdentifier should use ObjectIdentifierThreadSafeAccessTraits
https://bugs.webkit.org/show_bug.cgi?id=255195
Summary REGRESSION(262749@main) [GraphicsLayerWC] WCContentBufferIdentifier should us...
Fujii Hironori
Reported 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
Attachments
Fujii Hironori
Comment 1 2023-04-08 15:07:37 PDT
EWS
Comment 2 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.
Radar WebKit Bug Importer
Comment 3 2023-04-08 15:12:18 PDT
Note You need to log in before you can comment on or make changes to this bug.