Closed
Bug 419289
Opened 18 years ago
Closed 16 years ago
###!!! ASSERTION: cannot call GetUsedBorder on a dirty frame not currently being reflowed: 'nsLayoutUtils::sDisableGetUsedXAssertions
Categories
(Core :: General, defect)
Core
General
Tracking
()
RESOLVED
FIXED
mozilla1.9.1b2
People
(Reporter: cbook, Unassigned)
References
()
Details
(Keywords: assertion, regression, Whiteboard: [fixed by bug 459086])
Attachments
(1 file)
|
3.03 KB,
text/plain
|
Details |
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9b4pre) Gecko/2008022313 Firefox/3.0b4pre
Steps to reproduce:
Go to http://www.olemisssports.com/
--> Assertion
###!!! ASSERTION: cannot call GetUsedBorder on a dirty frame not currently being reflowed: 'nsLayoutUtils::sDisableGetUsedXAssertions || !NS_SUBTREE_DIRTY(this) || (GetStateBits() & NS_FRAME_IN_REFLOW)', file /debug/mozilla/layout/generic/nsFrame.cpp, line 560
Comment 1•17 years ago
|
||
Could not duplicate given the above URL. However, I can reliably reproduce it by going to
downloadcounter.sj.mozilla.org
And rapidly scrolling up and down. Original platform was Mac; I'm running Windows Vista, so I've changed OS to "All."
OS: Mac OS X → All
Comment 2•17 years ago
|
||
I don't get the assertion at the URL in comment 0, but I do when I follow instructions from comment 1.
I'm running a mozilla-central debug build on Linux.
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a1pre) Gecko/2008061914 Minefield/3.1a1pre
(Tomcat, do you still see behavior as described in comment 0? If so, perhaps we should make this bug mac-only again, and then file a separate cross-platform bug for the http://downloadcounter.sj.mozilla.org issue from comment 1.)
Comment 3•17 years ago
|
||
See also bug 448040. (about this same assertion being triggered by the new Ctrl-Tab visualization)
Comment 4•17 years ago
|
||
(In reply to comment #1)
> However, I can reliably reproduce it
> by going to
> downloadcounter.sj.mozilla.org
FWIW: that site ( http://downloadcounter.sj.mozilla.org ) appears to have disappeared -- the URL now redirects to the standard SpreadFirefox "World Record" page.
Comment 5•17 years ago
|
||
I reproduce that when right-clicking a not selected add-on in the add-ons manager (Get Add-ons tab)
Side-effect from Bug 399352 ?
Stack trace:
ntdll.dll!777c7dfe()
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
xpcom_core.dll!Break(const char * aMsg=0x01a70aa4) Line 481 C++
msvcr80d.dll!_unlock_fhandle(int fh=2) Line 491 C
msvcr80d.dll!_write(int fh=0, const void * buf=0x00b32e8d, unsigned int cnt=2481016) Line 83 + 0x9 bytes C
msvcr80d.dll!_write(int fh=0, const void * buf=0x00b32e8d, unsigned int cnt=2481016) Line 82 + 0xc bytes C
0025f2f8()
msvcr80d.dll!_unlock(int locknum=18) Line 376 C
msvcr80d.dll!_unlock_file(_iobuf * pf=0x68ce1d40) Line 318 + 0x14 bytes C
msvcr80d.dll!fflush(_iobuf * stream=0x0025dbe0) Line 71 + 0x9 bytes C
msvcr80d.dll!fflush(_iobuf * stream=0x0025dbe0) Line 70 + 0xc bytes C
xpcom_core.dll!NS_DebugBreak_P(unsigned int aSeverity=1, const char * aStr=0x664023a8, const char * aExpr=0x66402338, const char * aFile=0x664022fc, int aLine=570) Line 359 + 0xc bytes C++
> gklayout.dll!nsIFrame::GetUsedBorder() Line 570 + 0x41 bytes C++
gklayout.dll!nsFrame::HasBorder() Line 902 + 0x22 bytes C++
gklayout.dll!nsFrame::DisplayBorderBackgroundOutline(nsDisplayListBuilder * aBuilder=0x0025e3f4, const nsDisplayListSet & aLists={...}, int aForceBackground=1) Line 932 + 0x8 bytes C++
gklayout.dll!nsRootBoxFrame::BuildDisplayList(nsDisplayListBuilder * aBuilder=0x0025e3f4, const nsRect & aDirtyRect={...}, const nsDisplayListSet & aLists={...}) Line 247 + 0x12 bytes C++
gklayout.dll!nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder * aBuilder=0x0025e3f4, nsIFrame * aChild=0x080cec98, const nsRect & aDirtyRect={...}, const nsDisplayListSet & aLists={...}, unsigned int aFlags=0) Line 1436 + 0x1a bytes C++
gklayout.dll!ViewportFrame::BuildDisplayList(nsDisplayListBuilder * aBuilder=0x0025e3f4, const nsRect & aDirtyRect={...}, const nsDisplayListSet & aLists={...}) Line 110 C++
gklayout.dll!nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder * aBuilder=0x0025e3f4, const nsRect & aDirtyRect={...}, nsDisplayList * aList=0x0025e3ec) Line 1189 + 0x20 bytes C++
gklayout.dll!nsLayoutUtils::ComputeRepaintRegionForCopy(nsIFrame * aRootFrame=0x080cec04, nsIFrame * aMovingFrame=0x06f8ec7c, nsPoint aDelta={...}, const nsRect & aCopyRect={...}, nsRegion * aRepaintRegion=0x0025e82c) Line 1110 + 0x1a bytes C++
gklayout.dll!PresShell::ComputeRepaintRegionForCopy(nsIView * aRootView=0x0756b188, nsIView * aMovingView=0x07076000, nsPoint aDelta={...}, const nsRect & aCopyRect={...}, nsRegion * aRepaintRegion=0x0025e82c) Line 4944 + 0x2d bytes C++
gklayout.dll!nsViewManager::CanScrollWithBitBlt(nsView * aView=0x07076000, nsPoint aDelta={...}, nsRegion * aUpdateRegion=0x0025e82c) Line 1710 + 0x30 bytes C++
gklayout.dll!nsScrollPortView::Scroll(nsView * aScrolledView=0x07076000, nsPoint aTwipsDelta={...}, nsPoint aPixDelta={...}, int aP2A=60) Line 527 + 0x38 bytes C++
gklayout.dll!nsScrollPortView::ScrollToImpl(int aX=0, int aY=8580, unsigned int aUpdateFlags=0) Line 658 C++
gklayout.dll!nsScrollPortView::ScrollTo(int aDestinationX=0, int aDestinationY=8580, unsigned int aUpdateFlags=0) Line 260 + 0x1e bytes C++
gklayout.dll!nsGfxScrollFrameInner::ScrollbarChanged(nsPresContext * aPresContext=0x05955870, int aX=0, int aY=8580, unsigned int aFlags=0) Line 2583 C++
gklayout.dll!nsGfxScrollFrameInner::CurPosAttributeChanged(nsIContent * aContent=0x07146d78) Line 1890 C++
gklayout.dll!nsGfxScrollFrameInner::ReflowFinished() Line 2477 C++
gklayout.dll!PresShell::HandlePostedReflowCallbacks() Line 4481 + 0xc bytes C++
gklayout.dll!PresShell::DidDoReflow() Line 6260 C++
gklayout.dll!PresShell::ProcessReflowCommands(int aInterruptible=1) Line 6449 C++
gklayout.dll!PresShell::DoFlushPendingNotifications(mozFlushType aType=Flush_Layout, int aInterruptibleReflow=1) Line 4589 C++
gklayout.dll!PresShell::WillPaint() Line 6021 C++
gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0025ed78, nsEventStatus * aStatus=0x0025ec24) Line 1121 C++
gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0025ed78) Line 171 C++
gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0025ed78, nsEventStatus & aStatus=nsEventStatus_eIgnore) Line 952 + 0xc bytes C++
gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0025ed78, nsEventStatus & aStatus=nsEventStatus_eIgnore) Line 978 C++
gkwidget.dll!nsWindow::OnPaint(HDC__ * aDC=0x00000000) Line 5828 + 0x1e bytes C++
gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=15, unsigned int wParam=0, long lParam=0, long * aRetValue=0x0025f258) Line 4261 + 0x15 bytes C++
gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x0015048c, unsigned int msg=15, unsigned int wParam=0, long lParam=0) Line 1167 + 0x1d bytes C++
user32.dll!773ef8d2()
user32.dll!773ef794()
user32.dll!773ef73d()
user32.dll!773f0817()
user32.dll!773e95a9()
user32.dll!773f0a65()
ntdll.dll!777d99ce()
user32.dll!773f02c5()
user32.dll!773ea104()
user32.dll!773eff18()
user32.dll!773f0060()
gkwidget.dll!nsAppShell::ProcessNextNativeEvent(int mayWait=0) Line 149 C++
gkwidget.dll!nsBaseAppShell::DoProcessNextNativeEvent(int mayWait=0) Line 151 + 0x11 bytes C++
gkwidget.dll!nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal * thr=0x019126d8, int mayWait=1, unsigned int recursionDepth=0) Line 278 + 0xd bytes C++
xpcom_core.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x0025f500) Line 500 C++
xpcom_core.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x019126d8, int mayWait=1) Line 227 + 0x16 bytes C++
gkwidget.dll!nsBaseAppShell::Run() Line 170 + 0xc bytes C++
tkitcmps.dll!nsAppStartup::Run() Line 181 + 0x1c bytes C++
xul.dll!XRE_main(int argc=4, char * * argv=0x01910bc0, const nsXREAppData * aAppData=0x01917f88) Line 3186 + 0x25 bytes C++
firefox.exe!NS_internal_main(int argc=4, char * * argv=0x01910bc0) Line 158 + 0x12 bytes C++
firefox.exe!wmain(int argc=4, wchar_t * * argv=0x01a7d580) Line 87 + 0xd bytes C++
firefox.exe!__tmainCRTStartup() Line 594 + 0x19 bytes C
firefox.exe!wmainCRTStartup() Line 414 C
kernel32.dll!762c4911()
ntdll.dll!777be4b6()
ntdll.dll!777be489()
Comment 6•17 years ago
|
||
Same happens when opening/closing the customize panel with my HG trunk build on OS X.
Hardware: PC → All
Comment 8•17 years ago
|
||
As described in the just-duped bug 448040, this assertion is also triggered on Linux whenever the fancy new Ctrl-Tab pane disappears.
(STR: Open 3 tabs, press Ctrl-Tab --> assertion fails when you release Tab)
That may be a Linux-only issue, though -- in bug 448040 comment 2, Henrik says he can't reproduce using those STR on Mac.
Comment 9•17 years ago
|
||
(In reply to comment #8)
> That may be a Linux-only issue, though -- in bug 448040 comment 2, Henrik says
> he can't reproduce using those STR on Mac.
Please dismiss this comment. It only happens with a debug build. So I can reproduce it on OS X.
This assertion shows up *hundreds* of times in a normal mochitest run on OS X, also in leak test runs, see http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1223598746.1223600228.18688.gz&fulltext=1
We need to either fix or silence this - it makes debugging a royal pain.
Flags: blocking1.9.1?
Comment 11•17 years ago
|
||
The reason this is an assertion is that if you're making this call you WILL get incorrect data back. So if you at all care about the return value, you lose.
So we need to fix this. Can someone actually produce a testcase that reliably reproduces it that we can then try reducing?
Comment 12•17 years ago
|
||
Oh, and if you're seeing this on trunk with 2008-10-08 or later builds, you're almost certainly seeing bug 459089 (which triggers both the assertion I put in the summary of that bug and this assertion). So I suspect that comment 6 and later are not related to this bug at all, if there are any textboxes in the XUL involved.
It'll probably be impossible to debug this as things stand until bug 459089 is fixed.
Depends on: 459089
Comment 13•17 years ago
|
||
There are already some bugs with testcases: bug 387213, bug 400768. It might make sense to start with those (after bug 459089 is fixed).
Comment 14•17 years ago
|
||
Did you really both mean bug 459089? That seems completely unrelated.
Comment 15•17 years ago
|
||
(In reply to comment #14)
> Did you really both mean bug 459089? That seems completely unrelated.
Probably an error in typing and he meant bug 459098? I can't check because I don't have access.
Comment 17•17 years ago
|
||
Assertion is gone. Now only the assertion from bug 423950 is left. Carsten, can you verify?
Works with:
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b2pre)
Gecko/20081021 Minefield/3.1b2pre ID:20081021200750
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b2pre) Gecko/20081021
Minefield/3.1b2pre ID:20081021195400
Status: NEW → RESOLVED
Closed: 17 years ago
Flags: blocking1.9.1?
Resolution: --- → FIXED
Whiteboard: [fixed by bug 459086]
Updated•17 years ago
|
Target Milestone: --- → mozilla1.9.1b2
Comment 18•16 years ago
|
||
I'm getting this on Linux with a 3.6a1pre from source I pulled on April 12, via rapidly scrolling up and down on a deviation page at deviantART.com; will attach a stack trace.
Comment 19•16 years ago
|
||
Comment 20•16 years ago
|
||
Matthew, that's a separate bug that needs to be fixed separately; it has a very different cause than this bug did. Please file it and cc me and roc?
Status: REOPENED → RESOLVED
Closed: 17 years ago → 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•