compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html Is a constant timeout on iOS Debug wk2 ToT and since in the range of 251311@main-251315@main, last passing on 251310@main. HISTORY: https://results.webkit.org/?suite=layout-tests&test=compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html DIFF: NA
<rdar://problem/99748053>
This issue can be bisected to 251311@main-251315@main using command: run-webkit-tests -f --exit-after-n-failures 1 --force --debug --child-processes=5 --ios-simulator --iterations=500 compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html There are no builds to test on within the range starting from 251311@main - 251314@main. Hence, first fail is at 251315@main and last pass at 251310@main. I'm not sure which of the commits may have caused this issue since none of them appear to be directly related to this test.
(In reply to Hercules Hjalmarsson from comment #2) > This issue can be bisected to 251311@main-251315@main using command: > > run-webkit-tests -f --exit-after-n-failures 1 --force --debug > --child-processes=5 --ios-simulator --iterations=500 > compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and- > background.html > > There are no builds to test on within the range starting from 251311@main - > 251314@main. Hence, first fail is at 251315@main and last pass at > 251310@main. > > I'm not sure which of the commits may have caused this issue since none of > them appear to be directly related to this test. It was pointed out that 251315@main does mention 'compositing layers' hence probably is the root cause of this timeout.
I bet it just made the test slow (since now it will be repainting 1200 layers :D). Should we mark it as slow, or reduce the number of layers? Simon might have an opinion.
Let's mark as SLOW
The actual paints don't take long. Most of the GPU process time is in: Sample Count, Samples %, Normalized CPU %, Symbol 12965, 89.3%, 3.5%, IPC::StreamServerConnection::dispatchStreamMessages(unsigned long) (in WebKit) 12402, 85.4%, 3.4%, IPC::StreamServerConnection::dispatchStreamMessage(IPC::Decoder&&, IPC::StreamMessageReceiver&) (in WebKit) 11831, 81.5%, 3.2%, WebKit::RemoteRenderingBackend::didReceiveStreamMessage(IPC::StreamServerConnection&, IPC::Decoder&) (in WebKit) 8143, 56.1%, 2.2%, void IPC::handleMessage<Messages::RemoteRenderingBackend::MarkSurfacesVolatile, WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)>(IPC::Connection&, IPC::Decoder&, WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)) (in WebKit) 8138, 56.1%, 2.2%, void IPC::callMemberFunction<WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&), std::__1::tuple<WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >&&, WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&)) (in WebKit) 8138, 56.1%, 2.2%, void IPC::callMemberFunctionImpl<WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&), std::__1::tuple<WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >, 0ul, 1ul>(WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&), std::__1::tuple<WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> >&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) (in WebKit) 8138, 56.1%, 2.2%, WebKit::RemoteRenderingBackend::markSurfacesVolatile(WTF::ObjectIdentifier<WebKit::MarkSurfacesAsVolatileRequestIdentifierType>, WTF::Vector<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType>, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&) (in WebKit) 7390, 50.9%, 2.0%, WebKit::RemoteResourceCache::cachedImageBuffer(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> >) const (in WebKit) 7390, 50.9%, 2.0%, WebKit::QualifiedResourceHeap::getImageBuffer(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> >) const (in WebKit) 7390, 50.9%, 2.0%, WebCore::ImageBuffer* WebKit::QualifiedResourceHeap::get<WebCore::ImageBuffer>(WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> >) const (in WebKit) 7341, 50.6%, 2.0%, WebKit::QualifiedResourceHeap::checkInvariants() const (in WebKit) 3863, 26.6%, 1.0%, WTF::HashTableConstIteratorAdapter<WTF::HashTable<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> >, WTF::KeyValuePair<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> >, std::__1::variant<std::__1::monostate, WTF::Ref<WebCore::ImageBuffer, WTF::RawPtrTraits<WebCore::ImageBuffer> >, WTF::Ref<WebCore::NativeImage, WTF::RawPtrTraits<WebCore::NativeImage> >, WTF::Ref<WebCore::Font, WTF::RawPtrTraits<WebCore::Font> >, WTF::Ref<WebCore::DecomposedGlyphs, WTF::RawPtrTraits<WebCore::DecomposedGlyphs> > > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> >, std::__1::variant<std::__1::monostate, WTF::Ref<WebCore::ImageBuffer, WTF::RawPtrTraits<WebCore::ImageBuffer> >, WTF::Ref<WebCore::NativeImage, WTF::RawPtrTraits<WebCore::NativeImage> >, WTF::Ref<WebCore::Font, WTF::RawPtrTraits<WebCore::Font> >, WTF::Ref<WebCore::DecomposedGlyphs, WTF::RawPtrTraits<WebCore::DecomposedGlyphs> > > > >, WTF::DefaultHash<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> > >, WTF::HashMap<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> >, std::__1::variant<std::__1::monostate, WTF::Ref<WebCore::ImageBuffer, WTF::RawPtrTraits<WebCore::ImageBuffer> >, WTF::Ref<WebCore::NativeImage, WTF::RawPtrTraits<WebCore::NativeImage> >, WTF::Ref<WebCore::Font, WTF::RawPtrTraits<WebCore::Font> >, WTF::Ref<WebCore::DecomposedGlyphs, WTF::RawPtrTraits<WebCore::DecomposedGlyphs> > >, WTF::DefaultHash<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> > >, WTF::HashTraits<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> > >, WTF::HashTraits<std::__1::variant<std::__1::monostate, WTF::Ref<WebCore::ImageBuffer, WTF::RawPtrTraits<WebCore::ImageBuffer> >, WTF::Ref<WebCore::NativeImage, WTF::RawPtrTraits<WebCore::NativeImage> >, WTF::Ref<WebCore::Font, WTF::RawPtrTraits<WebCore::Font> >, WTF::Ref<WebCore::DecomposedGlyphs, WTF::RawPtrTraits<WebCore::DecomposedGlyphs> > > >, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> > > >, WTF::KeyValuePair<WebCore::ProcessQualified<WTF::ObjectIdentifier<WebCore::RenderingResourceIdentifierType> >, std::__1::variant<std::__1::monostate, WTF::Ref<WebCore::ImageBuffer, WTF::RawPtrTraits<WebCore::ImageBuffer> >, WTF::Ref<WebCore::NativeImage, WTF::RawPtrTraits<WebCore::NativeImage> >, WTF::Ref<WebCore::Font, WTF::RawPtrTraits<WebCore::Font> >, WTF::Ref<WebCore::DecomposedGlyphs, WTF::RawPtrTraits<WebCore::DecomposedGlyphs> > > > >::operator++() (in WebKit)
I think this is unique to debug builds because of `QualifiedResourceHeap::checkInvariants()`
Pull request: https://github.com/WebKit/WebKit/pull/4175
Pull request: https://github.com/WebKit/WebKit/pull/4187
Committed 254320@main (f2df14c7c1bf): <https://commits.webkit.org/254320@main> Reviewed commits have been landed. Closing PR #4187 and removing active labels.
We mark layers volatile on a 200ms timer after every flush.