Closed Bug 580844 Opened 14 years ago Closed 14 years ago

"ASSERTION: Wrong offset" with zoom, iframe reload

Categories

(Core :: Layout, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

I added zooming to the fuzzer about 3 weeks ago, so this could be a pre-existing bug or a regression from the retained-layers landing.

Steps to reproduce:
1. Install https://www.squarefree.com/extensions/domFuzzLite.xpi
2. Load the testcase.

Result: about 60% of the time, it triggers an assertion:

###!!! ASSERTION: Wrong offset: 'offsetToActiveScrolledRoot == f->GetOffsetToCrossDoc(activeScrolledRoot)', file layout/base/FrameLayerBuilder.cpp, line 913

mozilla::::ContainerState::ProcessDisplayItems [layout/base/FrameLayerBuilder.cpp:914]
mozilla::::ContainerState::ProcessDisplayItems [layout/base/FrameLayerBuilder.cpp:854]
mozilla::FrameLayerBuilder::BuildContainerLayerFor [layout/base/FrameLayerBuilder.cpp:1174]
nsDisplayList::PaintForFrame [layout/base/nsDisplayList.cpp:394]
nsDisplayZoom::Paint [layout/base/nsDisplayList.cpp:1373]
mozilla::FrameLayerBuilder::DrawThebesLayer [layout/base/FrameLayerBuilder.cpp:1355]
mozilla::layers::BasicThebesLayer::Paint [gfx/layers/basic/BasicLayers.cpp:365]
mozilla::layers::BasicLayerManager::PaintLayer [gfx/layers/basic/BasicLayers.cpp:972]
mozilla::layers::BasicLayerManager::PaintLayer [gfx/layers/basic/BasicLayers.cpp:974]
mozilla::layers::BasicLayerManager::EndTransaction [gfx/layers/basic/BasicLayers.cpp:887]
nsDisplayList::PaintForFrame [layout/base/nsDisplayList.cpp:406]
nsDisplayList::PaintRoot [layout/base/nsDisplayList.cpp:346]
nsLayoutUtils::PaintFrame [layout/base/nsLayoutUtils.cpp:1346]
PresShell::Paint [layout/base/nsPresShell.cpp:5906]
nsViewManager::RenderViews [view/src/nsViewManager.cpp:448]
nsViewManager::Refresh [view/src/nsViewManager.cpp:416]
nsViewManager::DispatchEvent [view/src/nsViewManager.cpp:844]
HandleEvent [view/src/nsView.cpp:160]
nsChildView::DispatchEvent [widget/src/cocoa/nsChildView.mm:1811]
nsChildView::DispatchWindowEvent [widget/src/cocoa/nsChildView.mm:1820]
-[ChildView drawRect:inContext:] [widget/src/cocoa/nsChildView.mm:2726]
-[ChildView drawRect:] [widget/src/cocoa/nsChildView.mm:2634]
-AppKit + 0x11da36
-AppKit + 0x11c6d4
-AppKit + 0x11ca09
-AppKit + 0x11abf3
-AppKit + 0x11bb68
-AppKit + 0x11bb68
-AppKit + 0x11bb68
-AppKit + 0x11a767
-AppKit + 0x1170ae
-AppKit + 0x77d3f
-AppKit + 0x41050
AppKit + 0x72572
CoreFoundation + 0x802c2
CoreFoundation + 0x3c9bd
CoreFoundation + 0x3c094
CoreFoundation + 0x3bec1
HIToolbox + 0x34f9c
HIToolbox + 0x34c8d
HIToolbox + 0x34bd6
AppKit + 0x48a89
-AppKit + 0x482ca
-AppKit + 0xa55b
nsAppShell::Run [widget/src/cocoa/nsAppShell.mm:747]
nsAppStartup::Run [toolkit/components/startup/src/nsAppStartup.cpp:191]
XRE_main [toolkit/xre/nsAppRunner.cpp:3630]
main [browser/app/nsBrowserApp.cpp:158]
firefox-bin + 0x148e
I removed this assert.
tn, does that make this FIXED, or is there a bug here?
I think this is fixed. Retained layers should now be immune to crossing different zoom levels, and there are other asserts that catch it if it happens. Bug 579663 is where I removed the assert and made that happen.
Status: NEW → RESOLVED
Closed: 14 years ago
Depends on: 579663
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: