| Summary: | Poor Image loading while scrolling and show black | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ahmad Saleem <ahmad.saleem792> |
| Component: | Images | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Normal | CC: | sabouhallawa, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
|
Description
Ahmad Saleem
2023-07-29 08:10:39 PDT
The src attribute is changed while scrolling the page. Below the JS runs through Document::runScrollSteps(). #0 0x00000007de546a6e in WebCore::HTMLImageElement::attributeChanged(WebCore::QualifiedName const&, WTF::AtomString const&, WTF::AtomString const&, WebCore::Element::AttributeModificationReason) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/html/HTMLImageElement.cpp:357 #1 0x00000007de11d9e9 in WebCore::Element::notifyAttributeChanged(WebCore::QualifiedName const&, WTF::AtomString const&, WTF::AtomString const&, WebCore::Element::AttributeModificationReason) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Element.cpp:2065 #2 0x00000007de1264b0 in WebCore::Element::didAddAttribute(WebCore::QualifiedName const&, WTF::AtomString const&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Element.cpp:4818 #3 0x00000007de11d6ca in WebCore::Element::addAttributeInternal(WebCore::QualifiedName const&, WTF::AtomString const&, WebCore::Element::InSynchronizationOfLazyAttribute) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Element.cpp:3365 #4 0x00000007de11d0fa in WebCore::Element::setAttributeInternal(unsigned int, WebCore::QualifiedName const&, WTF::AtomString const&, WebCore::Element::InSynchronizationOfLazyAttribute) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Element.cpp:2007 #5 0x00000007de11d742 in WebCore::Element::setAttributeWithoutSynchronization(WebCore::QualifiedName const&, WTF::AtomString const&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Element.cpp:1987 #6 0x00000007db8c104b in WebCore::setJSHTMLImageElement_srcSetter(JSC::JSGlobalObject&, WebCore::JSHTMLImageElement&, JSC::JSValue)::'lambda'()::operator()() const at /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebCore/JSHTMLImageElement.cpp:400 #7 0x00000007db8c0ffd in void WebCore::invokeFunctorPropagatingExceptionIfNecessary<WebCore::setJSHTMLImageElement_srcSetter(JSC::JSGlobalObject&, WebCore::JSHTMLImageElement&, JSC::JSValue)::'lambda'()>(JSC::JSGlobalObject&, JSC::ThrowScope&, WebCore::setJSHTMLImageElement_srcSetter(JSC::JSGlobalObject&, WebCore::JSHTMLImageElement&, JSC::JSValue)::'lambda'()&&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/bindings/js/JSDOMExceptionHandling.h:100 #8 0x00000007db8c0f92 in WebCore::setJSHTMLImageElement_srcSetter(JSC::JSGlobalObject&, WebCore::JSHTMLImageElement&, JSC::JSValue) at /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebCore/JSHTMLImageElement.cpp:399 #9 0x00000007db7eef76 in bool WebCore::IDLAttribute<WebCore::JSHTMLImageElement>::set<&WebCore::setJSHTMLImageElement_srcSetter(JSC::JSGlobalObject&, WebCore::JSHTMLImageElement&, JSC::JSValue), (WebCore::CastedThisErrorBehavior)0>(JSC::JSGlobalObject&, long long, long long, JSC::PropertyName) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/bindings/js/JSDOMAttribute.h:55 #10 0x00000007db7eedf5 in WebCore::setJSHTMLImageElement_src(JSC::JSGlobalObject*, long long, long long, JSC::PropertyName) at /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebCore/JSHTMLImageElement.cpp:407 #11 0x00000007c58ea9c0 in WTF::FunctionPtr<(WTF::PtrTag)30177, bool (JSC::JSGlobalObject*, long long, long long, JSC::PropertyName), (WTF::FunctionAttributes)1>::operator()(JSC::JSGlobalObject*, long long, long long, JSC::PropertyName) const at /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/FunctionPtr.h:104 #12 0x00000007c58ea19e in JSC::JSObject::putInlineSlow(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/runtime/JSObject.cpp:837 #13 0x00000007c58e9968 in JSC::JSObject::putInlineForJSObject(JSC::JSCell*, JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/runtime/JSObjectInlines.h:299 #14 0x00000007c4fc3246 in JSC::JSCell::putInline(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/runtime/JSCellInlines.h:475 #15 0x00000007c4fc4010 in JSC::JSValue::putInline(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/runtime/JSCJSValueInlines.h:1160 #16 0x00000007c5472ac8 in ::operationPutByIdSloppyOptimize(JSC::JSGlobalObject *, JSC::StructureStubInfo *, JSC::EncodedJSValue, JSC::EncodedJSValue, uintptr_t) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/jit/JITOperations.cpp:1015 #17 0x000038c8aa4d5183 in 0x38c8aa4d5183 () #18 0x00000007c426c584 in llint_entry () #19 0x00000007c4246b1f in vmEntryToJavaScript () #20 0x00000007c53a5f1b in JSC::Interpreter::executeCallImpl(JSC::VM&, JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/interpreter/Interpreter.cpp:1119 #21 0x00000007c53a6020 in JSC::Interpreter::executeCall(JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/interpreter/Interpreter.cpp:1128 #22 0x00000007c565734d in JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/runtime/CallData.cpp:57 #23 0x00000007c565742d in JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/runtime/CallData.cpp:64 #24 0x00000007c56576ed in JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) at /Volumes/Data/WebKit/OpenSource/Source/JavaScriptCore/runtime/CallData.cpp:85 #25 0x00000007dd83cb2c in WebCore::JSExecState::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/bindings/js/JSExecState.h:91 #26 0x00000007dd85ccc7 in WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/bindings/js/JSEventListener.cpp:224 #27 0x00000007de17983e in WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&, WTF::Vector<WTF::RefPtr<WebCore::RegisteredEventListener, WTF::RawPtrTraits<WebCore::RegisteredEventListener>, WTF::DefaultRefDerefTraits<WebCore::RegisteredEventListener> >, 1ul, WTF::CrashOnOverflow, 2ul, WTF::FastMalloc>, WebCore::EventTarget::EventInvokePhase) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/EventTarget.cpp:372 #28 0x00000007de17929b in WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/EventTarget.cpp:304 #29 0x00000007de16152c in WebCore::EventContext::handleLocalEvents(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) const at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/EventContext.cpp:76 #30 0x00000007de1627e6 in WebCore::dispatchEventInDOM(WebCore::Event&, WebCore::EventPath const&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/EventDispatcher.cpp:108 #31 0x00000007de161f50 in WebCore::EventDispatcher::dispatchEvent(WebCore::Node&, WebCore::Event&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/EventDispatcher.cpp:194 #32 0x00000007de1faa7d in WebCore::Node::dispatchEvent(WebCore::Event&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Node.cpp:2448 #33 0x00000007de05faaf in WebCore::Document::runScrollSteps() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Document.cpp:4575 #34 0x00000007def18819 in WebCore::Page::updateRendering()::$_25::operator()(WebCore::Document&) const at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/Page.cpp:1787 #35 0x00000007def187d1 in WTF::Detail::CallableWrapper<WebCore::Page::updateRendering()::$_25, void, WebCore::Document&>::call(WebCore::Document&) at /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/Function.h:53 #36 0x00000007de25b1ba in WTF::Function<void (WebCore::Document&)>::operator()(WebCore::Document&) const at /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/Function.h:82 #37 0x00000007deee2206 in WebCore::Page::forEachDocumentFromMainFrame(WebCore::LocalFrame const&, WTF::Function<void (WebCore::Document&)> const&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/Page.cpp:3810 #38 0x00000007deed08bd in WebCore::Page::forEachDocument(WTF::Function<void (WebCore::Document&)> const&) const at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/Page.cpp:3816 #39 0x00000007deed8fc3 in WebCore::Page::updateRendering()::$_20::operator()(WebCore::RenderingUpdateStep, WTF::Function<void (WebCore::Document&)> const&) const at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/Page.cpp:1755 #40 0x00000007deed8a62 in WebCore::Page::updateRendering() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/Page.cpp:1786 #41 0x00000007a7ea0bc1 in WebKit::WebPage::updateRendering() at /Volumes/Data/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/WebPage.cpp:4795 #42 0x00000007a713348c in WebKit::TiledCoreAnimationDrawingArea::updateRendering(WebKit::TiledCoreAnimationDrawingArea::UpdateRenderingType) at /Volumes/Data/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:355 #43 0x00000007a71377f7 in WebKit::TiledCoreAnimationDrawingArea::renderingUpdateRunLoopCallback() at /Volumes/Data/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:862 #44 0x00000007a7139498 in WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&, WebKit::WebPageCreationParameters const&)::$_0::operator()() const at /Volumes/Data/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:90 #45 0x00000007a7139459 in WTF::Detail::CallableWrapper<WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&, WebKit::WebPageCreationParameters const&)::$_0, void>::call() at /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/Function.h:53 #46 0x00000007da875702 in WTF::Function<void ()>::operator()() const at /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/Function.h:82 #47 0x00000007df0d3982 in WebCore::RunLoopObserver::runLoopObserverFired() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/RunLoopObserver.cpp:41 #48 0x00000007df1a175d in WebCore::RunLoopObserver::runLoopObserverFired(__CFRunLoopObserver*, unsigned long, void*) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/cf/RunLoopObserverCF.cpp:72 #49 0x00007ff808339774 in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ () WebKit ToT is quite fast now - I think @Yusuke's patch might have helped. Commit - https://github.com/WebKit/WebKit/commit/88f5d6430abe12164eec7acf3a0993ef1ec67d0a Even STP189 is better. @Said - Should we close this? Or keep it as 'test' site to improve further more? |