REOPENED311295
[GTK][WPE] ASSERTION FAILED: !texture.size().isEmpty() in API tests
https://bugs.webkit.org/show_bug.cgi?id=311295
Summary [GTK][WPE] ASSERTION FAILED: !texture.size().isEmpty() in API tests
Nikolas Zimmermann
Reported 2026-04-01 15:13:53 PDT
./WebKitBuild/GTK/Debug/bin/TestWebKitAPI/WebKitGTK/TestWebKitWebContext: ASSERTION FAILED: !texture.size().isEmpty() ../../../Source/WebCore/platform/graphics/skia/SkiaUtilities.cpp(52) : GrBackendTexture WebCore::SkiaUtilities::createBackendTexture(const BitmapTexture &) 1 0x7a88f60e8edc WebCore::SkiaUtilities::createBackendTexture(WebCore::BitmapTexture const&) 2 0x7a88f60e9069 WebCore::SkiaUtilities::createSurface(GrDirectContext*, WebCore::BitmapTexture const&, SkSurfaceProps const&, GrSurfaceOrigin, unsigned int) 3 0x7a88efa8e42e WebCore::BitmapTexture::createSkiaSurface(GrDirectContext*, GrSurfaceOrigin, unsigned int) const 4 0x7a88efadf631 WebCore::ScrollerCoordinated::updateValues() 5 0x7a88efae1738 WebCore::ScrollerPairCoordinated::updateValues() 6 0x7a88efaea4e5 WebCore::ScrollingTreeScrollingNodeDelegateCoordinated::updateVisibleLengths() 7 0x7a88efae83de WebCore::ScrollingTreeFrameScrollingNodeCoordinated::repositionRelatedLayers() 8 0x7a88f593caea WebCore::ScrollingTreeScrollingNode::applyLayerPositions() 9 0x7a88f590b012 WebCore::ScrollingTree::applyLayerPositionsRecursive(WebCore::ScrollingTreeNode&) 10 0x7a88f590afe0 WebCore::ScrollingTree::applyLayerPositionsInternal() 11 0x7a88efae3c26 WebCore::ScrollingTreeCoordinated::applyLayerPositionsInternal() 12 0x7a88f590af0e WebCore::ScrollingTree::applyLayerPositions() 13 0x7a88f5898262 WebCore::AsyncScrollingCoordinator::applyScrollingTreeLayerPositions() 14 0x7a88f5711a3d WebCore::Page::finalizeRenderingUpdateForRootFrame(WebCore::LocalFrame&, WTF::OptionSet<WebCore::FinalizeRenderingUpdateFlags, (WTF::ConcurrencyTag)0>) 15 0x7a88f57117b6 WebCore::Page::finalizeRenderingUpdate(WTF::OptionSet<WebCore::FinalizeRenderingUpdateFlags, (WTF::ConcurrencyTag)0>) 16 0x7a88ef53e259 WebKit::WebPage::finalizeRenderingUpdate(WTF::OptionSet<WebCore::FinalizeRenderingUpdateFlags, (WTF::ConcurrencyTag)0>) 17 0x7a88ef603677 WebKit::LayerTreeHost::updateRendering() 18 0x7a88ef6041c0 WebKit::LayerTreeHost::updateRenderingWithForcedRepaint() 19 0x7a88ef60076d WebKit::FrameRenderer::updateRenderingWithForcedRepaintAsync(WTF::CompletionHandler<void ()>&&) 20 0x7a88ef6006b1 WebKit::DrawingAreaCoordinatedGraphics::updateRenderingWithForcedRepaintAsync(WebKit::WebPage&, WTF::CompletionHandler<void ()>&&) 21 0x7a88ef53d3c0 WebKit::WebPage::updateRenderingWithForcedRepaint(WTF::CompletionHandler<void ()>&&) 22 0x7a88ed2caac4 auto IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WTF::CompletionHandler<void ()>&&), std::tuple<>, void ()>(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::CompletionHandler<void ()>&&), std::tuple<>&&, WTF::CompletionHandler<void ()>&&)::{lambda((auto:1&&)...)#1}::operator()<>() const 23 0x7a88ed2caa35 void std::__invoke_impl<void, IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WTF::CompletionHandler<void ()>&&), std::tuple<>, void ()>(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::CompletionHandler<void ()>&&), std::tuple<>&&, WTF::CompletionHandler<void ()>&&)::{lambda((auto:1&&)...)#1}>(std::__invoke_other, IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WTF::CompletionHandler<void ()>&&), std::tuple<>, void ()>(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::CompletionHandler<void ()>&&), std::tuple<>&&, WTF::CompletionHandler<void ()>&&)::{lambda((auto:1&&)...)#1}&&) 24 0x7a88ed2caa15 std::__invoke_result<IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WTF::CompletionHandler<void ()>&&), std::tuple<>, void ()>(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::CompletionHandler<void ()>&&), std::tuple<>&&, WTF::CompletionHandler<void ()>&&)::{lambda((auto:1&&)...)#1}>::type std::__invoke<IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WTF::CompletionHandler<void ()>&&), std::tuple<>, void ()>(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::CompletionHandler<void ()>&&), std::tuple<>&&, WTF::CompletionHandler<void ()>&&)::{lambda((auto:1&&)...)#1}>(IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WTF::CompletionHandler<void ()>&&), std::tuple<>, void ()>(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::CompletionHandler<void ()>&&), std::tuple<>&&, WTF::CompletionHandler<void ()>&&)::{lambda((auto:1&&)...)#1}&&) 25 0x7a88ed2ca9f9 _ZSt12__apply_implIZN3IPC18callMemberFunctionIN6WebKit7WebPageES3_FvON3WTF17CompletionHandlerIFvvEEEESt5tupleIJEES6_EEvPT_MT0_T1_OT2_ONS5_IT3_EEEUlDpOT_E_SB_TpTnmJEEDcOSC_OSE_St16integer_sequenceImJXspT1_EEE 26 0x7a88ed2ca9cd _ZSt5applyIZN3IPC18callMemberFunctionIN6WebKit7WebPageES3_FvON3WTF17CompletionHandlerIFvvEEEESt5tupleIJEES6_EEvPT_MT0_T1_OT2_ONS5_IT3_EEEUlDpOT_E_TkSt12__tuple_likeSB_EDcOSC_OSE_ 27 0x7a88ed2ca1c1 void IPC::callMemberFunction<WebKit::WebPage, WebKit::WebPage, void (WTF::CompletionHandler<void ()>&&), std::tuple<>, void ()>(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::CompletionHandler<void ()>&&), std::tuple<>&&, WTF::CompletionHandler<void ()>&&) 28 0x7a88ed27eaa5 void IPC::handleMessageAsync<Messages::WebPage::UpdateRenderingWithForcedRepaint, IPC::Connection, WebKit::WebPage, WebKit::WebPage, void (WTF::CompletionHandler<void ()>&&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::CompletionHandler<void ()>&&)) 29 0x7a88ed271cef WebKit::WebPage::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 30 0x7a88ee1ee0dc IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 31 0x7a88ee217acd WebKit::AuxiliaryProcess::dispatchMessage(IPC::Connection&, IPC::Decoder&)
Attachments
test case (99 bytes, text/html)
2026-04-02 21:50 PDT, Fujii Hironori
no flags
Alicia Boya García
Comment 1 2026-04-02 05:34:27 PDT
It's not just the API tests, I'm getting the same crash when loading DASH-IF reference player (no media playback involved, just loading the page): https://reference.dashif.org/dash.js/v5.1.1/samples/dash-if-reference-player/index.html ASSERTION FAILED: !texture.size().isEmpty() /host/home/ntrrgc/Apps/webkit/Source/WebCore/platform/graphics/skia/SkiaUtilities.cpp(54) : GrBackendTexture WebCore::SkiaUtilities::createBackendTexture(const BitmapTexture &) 1 0x7f8bbf24199c WebCore::SkiaUtilities::createBackendTexture(WebCore::BitmapTexture const&) 2 0x7f8bbf241b29 WebCore::SkiaUtilities::createSurface(GrDirectContext*, WebCore::BitmapTexture const&, SkSurfaceProps const&, GrSurfaceOrigin, unsigned int) 3 0x7f8bb8c3bd3e WebCore::BitmapTexture::createSkiaSurface(GrDirectContext*, GrSurfaceOrigin, unsigned int) const 4 0x7f8bb8c8cf41 WebCore::ScrollerCoordinated::updateValues() 5 0x7f8bb8c8f05d WebCore::ScrollerPairCoordinated::updateValues() 6 0x7f8bb8c97df5 WebCore::ScrollingTreeScrollingNodeDelegateCoordinated::updateVisibleLengths() 7 0x7f8bb8c9701c WebCore::ScrollingTreeOverflowScrollingNodeCoordinated::repositionScrollingLayers() 8 0x7f8bbeac431d WebCore::ScrollingTreeScrollingNode::applyLayerPositions() 9 0x7f8bbea92852 WebCore::ScrollingTree::applyLayerPositionsRecursive(WebCore::ScrollingTreeNode&) 10 0x7f8bbea928a4 WebCore::ScrollingTree::applyLayerPositionsRecursive(WebCore::ScrollingTreeNode&) 11 0x7f8bbea92820 WebCore::ScrollingTree::applyLayerPositionsInternal() 12 0x7f8bb8c91536 WebCore::ScrollingTreeCoordinated::applyLayerPositionsInternal() 13 0x7f8bbea9274e WebCore::ScrollingTree::applyLayerPositions() 14 0x7f8bbea1fba2 WebCore::AsyncScrollingCoordinator::applyScrollingTreeLayerPositions() 15 0x7f8bbe8996dd WebCore::Page::finalizeRenderingUpdateForRootFrame(WebCore::LocalFrame&, WTF::OptionSet<WebCore::FinalizeRenderingUpdateFlags, (WTF::ConcurrencyTag)0>) 16 0x7f8bbe899456 WebCore::Page::finalizeRenderingUpdate(WTF::OptionSet<WebCore::FinalizeRenderingUpdateFlags, (WTF::ConcurrencyTag)0>) 17 0x7f8bb86efaf9 WebKit::WebPage::finalizeRenderingUpdate(WTF::OptionSet<WebCore::FinalizeRenderingUpdateFlags, (WTF::ConcurrencyTag)0>) 18 0x7f8bb87b4697 WebKit::LayerTreeHost::updateRendering() 19 0x7f8bb87b3361 WebKit::FrameRenderer::renderingUpdateRunLoopObserverFired() 20 0x7f8bb87bb788 WebKit::FrameRenderer::FrameRenderer()::$_0::operator()() const 21 0x7f8bb87bb769 WTF::Detail::CallableWrapper<WebKit::FrameRenderer::FrameRenderer()::$_0, void>::call() 22 0x7f8bb5d3f7f2 WTF::Function<void ()>::operator()() const 23 0x7f8bbeb6b24b WebCore::RunLoopObserver::runLoopObserverFired() 24 0x7f8bbecd4b28 WebCore::RunLoopObserver::schedule(WTF::RefPtr<WTF::RunLoop, WTF::RawPtrTraits<WTF::RunLoop>, WTF::DefaultRefDerefTraits<WTF::RunLoop> >, WTF::OptionSet<WTF::RunLoop::Activity, (WTF::ConcurrencyTag)0>)::$_0::operator()() const 25 0x7f8bbecd4b09 WTF::Detail::CallableWrapper<WebCore::RunLoopObserver::schedule(WTF::RefPtr<WTF::RunLoop, WTF::RawPtrTraits<WTF::RunLoop>, WTF::DefaultRefDerefTraits<WTF::RunLoop> >, WTF::OptionSet<WTF::RunLoop::Activity, (WTF::ConcurrencyTag)0>)::$_0, void>::call() 26 0x7f8ba84aa1f2 WTF::Function<void ()>::operator()() const 27 0x7f8baa5d54c4 WTF::ActivityObserver::notify() 28 0x7f8baa5d4870 WTF::RunLoop::notifyActivity(WTF::RunLoop::Activity) 29 0x7f8baa5d43a4 WTF::RunLoop::runGLibMainLoopIteration(WTF::RunLoop::MayBlock) 30 0x7f8baa5d4900 WTF::RunLoop::runGLibMainLoop() 31 0x7f8baa5d499c WTF::RunLoop::run()
Fujii Hironori
Comment 2 2026-04-02 21:05:28 PDT
I don't see the assertion failure of API tests with 310489@main GTK debug build. > ./Tools/Scripts/run-gtk-tests --debug WebKitGTK/TestWebKitWebContext On the other hand, I see the assertion failure at DASH-IF .
Fujii Hironori
Comment 3 2026-04-02 21:50:56 PDT
Created attachment 478913 [details] test case
Fujii Hironori
Comment 4 2026-04-02 22:40:12 PDT
EWS
Comment 5 2026-04-03 00:13:01 PDT
Committed 310503@main (f4f70471df90): <https://commits.webkit.org/310503@main> Reviewed commits have been landed. Closing PR #61956 and removing active labels.
Fujii Hironori
Comment 6 2026-04-03 02:23:53 PDT
Note You need to log in before you can comment on or make changes to this bug.