Assert This! – Top Site Assertions, October 27, 2007

Assert This! – Top Site Assertions, October 27, 2007

No matter where you go, Jesse’s been there already.

During some top site testing of about 7,500 pages with a debug Minefield build on Linux over the weekend, I ran into the following assertions ordered by decreasing count. This should give some idea of the frequency of each in the wild.

2939 ASSERTION: Computed overflow area must contain frame bounds: ‘aNewSize.width == 0 || aNewSize.height == 0 || aOverflowArea->Contains(nsRect(nsPoint(0, 0), aNewSize))’, file 1.9.0/mozilla/layout/generic/nsFrame.cpp, line 5222
1756 ASSERTION: bad argument: ‘(aRight > mLeft) && (aRight < mRight)’, file 1.9.0/mozilla/layout/generic/nsSpaceManager.cpp, line 1403
1333 ASSERTION: no user stylesheets in styleset, but we have one!: ‘numBefore > 0’, file 1.9.0/mozilla/layout/base/nsPresShell.cpp, line 1826
751 ASSERTION: invalid divisor: ‘Error’, file 1.9.0/mozilla/layout/tables/nsTableFrame.cpp, line 3287
345 ASSERTION: didn’t subtract all that we added: ‘totalSPref == 0 && totalSMin == 0 && totalSNonPctPref == 0 && nonPctCount == 0 && minOutsidePref == 0 && minWithinPref == 0 && (info.prefCoord == 0 || info.prefCoord == nscoord_MAX) && (info.prefPercent == 0.0f || !spanHasNonPct)’, file 1.9.0/mozilla/layout/tables/BasicTableLayoutStrategy.cpp, line 531
271 ASSERTION: nscoord addition will reach or pass nscoord_MAX: ‘(PRInt64)a + (PRInt64)b < (PRInt64)nscoord_MAX’, file ../../dist/include/gfx/nsCoord.h, line 153
258 ASSERTION: unconstrained widths no longer supported: ‘aContainingBlockWidth != NS_UNCONSTRAINEDSIZE’, file 1.9.0/mozilla/layout/base/nsLayoutUtils.cpp, line 1641
257 ASSERTION: Doing nscoord addition with values > nscoord_MAX: ‘a < nscoord_MAX && b < nscoord_MAX’, file ../../dist/include/gfx/nsCoord.h, line 151
211 ASSERTION: bad width: ‘Not Reached’, file 1.9.0/mozilla/layout/generic/nsLineLayout.cpp, line 177
204 ASSERTION: cannot call on a dirty frame not currently being reflowed: ‘!NS_SUBTREE_DIRTY(this) || (GetStateBits() & NS_FRAME_IN_REFLOW)’, file 1.9.0/mozilla/layout/generic/nsFrame.cpp, line 556
132 ASSERTION: shouldn’t use unconstrained widths anymore: ‘availableWidth != NS_UNCONSTRAINEDSIZE’, file 1.9.0/mozilla/layout/generic/nsHTMLReflowState.cpp, line 302
132 ASSERTION: nsStreamLoader not thread-safe: ‘_mOwningThread.GetThread() == PR_GetCurrentThread()’, file 1.9.0/mozilla/netwerk/base/src/nsStreamLoader.cpp, line 65
111 ASSERTION: RefreshURIList timer callbacks should only be RefreshTimer objects: ‘rt’, file 1.9.0/mozilla/docshell/base/nsDocShell.cpp, line 4635
93 ASSERTION: update-band called late: ‘psd->mX == psd->mLeftEdge’, file 1.9.0/mozilla/layout/generic/nsLineLayout.cpp, line 307
90 ASSERTION: shouldn’t have unconstrained widths anymore: ‘psd->mRightEdge != NS_UNCONSTRAINEDSIZE’, file 1.9.0/mozilla/layout/generic/nsLineLayout.cpp, line 815
48 ASSERTION: shouldn’t have unconstrained widths anymore: ‘NS_UNCONSTRAINEDSIZE != aReflowState.availableWidth’, file 1.9.0/mozilla/layout/generic/nsLineLayout.cpp, line 1099
45 ASSERTION: XPConnect is being called on a scope without a ‘Components’ property!
36 ASSERTION: Should be in an update while destroying frames: ‘mUpdateCount != 0’, file 1.9.0/mozilla/layout/base/nsCSSFrameConstructor.cpp, line 9572
35 ASSERTION: Adding child where we already have a child? This will likely misbehave: ‘Error’, file 1.9.0/mozilla/docshell/shistory/src/nsSHEntry.cpp, line 594
30 ASSERTION: deleting dirty buffer: ‘mBufDirty == PR_FALSE’, file 1.9.0/mozilla/netwerk/cache/src/nsDiskCacheStreams.cpp, line 750
30 ASSERTION: Unhandled border style!!: ‘Not Reached’, file 1.9.0/mozilla/layout/base/nsCSSRendering.cpp, line 1928
30 ASSERTION: Non-border-colors case with borderColorStyleCount < 1 or > 3; what happened?: ‘Error’, file 1.9.0/mozilla/layout/base/nsCSSRendering.cpp, line 2112
30 ASSERTION: Flush() failed: ‘NS_SUCCEEDED(rv)’, file 1.9.0/mozilla/netwerk/cache/src/nsDiskCacheStreams.cpp, line 461
30 ASSERTION: Failed to position iterator!: ‘NS_SUCCEEDED(rv)’, file 1.9.0/mozilla/content/base/src/nsContentIterator.cpp, line 997
27 ASSERTION: RemovedAsPrimaryFrame called after PreDestroy: ‘PR_FALSE’, file 1.9.0/mozilla/layout/forms/nsTextControlFrame.cpp, line 1202
22 ASSERTION: iconv failed: ‘Error’, file 1.9.0/mozilla/xpcom/io/nsNativeCharsetUtils.cpp, line 572
14 ASSERTION: intrinsic widths out of order: ‘aMinCoord <= aPrefCoord’, file 1.9.0/mozilla/layout/tables/nsTableColFrame.h, line 190
14 ASSERTION: PushBack: ‘Not Reached’, file 1.9.0/mozilla/netwerk/protocol/http/src/nsHttpConnection.h, line 117
13 ASSERTION: bad width: ‘metrics.width>=0’, file 1.9.0/mozilla/layout/generic/nsLineLayout.cpp, line 956
12 ASSERTION: this shouldn’t happen anymore: ‘NS_UNCONSTRAINEDSIZE != aComputedWidth && NS_UNCONSTRAINEDSIZE != aAvailWidth’, file 1.9.0/mozilla/layout/generic/nsHTMLReflowState.cpp, line 1924
12 ASSERTION: shouldn’t use unconstrained widths anymore: ‘(mFrameType == NS_CSS_FRAME_TYPE_INLINE && !frame->IsFrameOfType(nsIFrame::eReplaced)) || frame->GetType() == nsGkAtoms::textFrame || mComputedWidth != NS_UNCONSTRAINEDSIZE’, file 1.9.0/mozilla/layout/generic/nsHTMLReflowState.cpp, line 323
11 ASSERTION: Shouldn’t have pending bindings!: ‘mAttachedStack.Length() == 0’, file 1.9.0/mozilla/content/xbl/src/nsBindingManager.cpp, line 913
10 ASSERTION: invalid BC damage area: ‘PR_FALSE’, file 1.9.0/mozilla/layout/tables/nsTableFrame.cpp, line 3861
8 ASSERTION: evictionRank out of sync: ‘evictionRank == mapRecord->EvictionRank()’, file 1.9.0/mozilla/netwerk/cache/src/nsDiskCacheMap.cpp, line 484
7 ASSERTION: no frame, see bug #188946: ‘frame’, file 1.9.0/mozilla/editor/libeditor/base/nsEditor.cpp, line 4159
7 ASSERTION: didn’t subtract all that we added: ‘space == 0 && ((l2t == FLEX_PCT_LARGE) ? (-0.001f < basis.f && basis.f < 0.001f) : (basis.c == 0 || basis.c == nscoord_MAX))’, file 1.9.0/mozilla/layout/tables/BasicTableLayoutStrategy.cpp, line 1013
7 ASSERTION: can’t mark frame dirty during reflow: ‘!mIsReflowing’, file 1.9.0/mozilla/layout/base/nsPresShell.cpp, line 3132
6 ASSERTION: no unconstrained widths should be present anymore: ‘NS_UNCONSTRAINEDSIZE != aReflowState.ComputedWidth()’, file 1.9.0/mozilla/layout/generic/nsBlockReflowState.cpp, line 113
6 ASSERTION: This shouldn’t be called anymore: ‘Not Reached’, file 1.9.0/mozilla/layout/generic/nsLineLayout.cpp, line 2437
5 ASSERTION: subshell not in the map: ‘shellContent’, file 1.9.0/mozilla/docshell/base/nsDocShell.cpp, line 3782
4 ASSERTION: storage allocated for zero data size: ‘!mBinding->mRecord.DataLocationInitialized()’, file 1.9.0/mozilla/netwerk/cache/src/nsDiskCacheStreams.cpp, line 372
4 ASSERTION: cannot call on a dirty frame not currently being reflowed: ‘!NS_SUBTREE_DIRTY(this) || (GetStateBits() & NS_FRAME_IN_REFLOW)’, file 1.9.0/mozilla/layout/generic/nsFrame.cpp, line 583
4 ASSERTION: Uh, LeaveModalState() called w/o a reachable top window?: ‘Error’, file 1.9.0/mozilla/dom/src/base/nsGlobalWindow.cpp, line 5219
4 ASSERTION: Failed to create scaled font: ‘cairo_scaled_font_status(scaledFont) == CAIRO_STATUS_SUCCESS’, file 1.9.0/mozilla/gfx/thebes/src/gfxPangoFonts.cpp, line 672
3 ASSERTION: nsNSSComponent relies on profile manager to wait for synchronous shutdown of all network activity: ‘mIsNetworkDown’, file 1.9.0/mozilla/security/manager/ssl/src/nsNSSComponent.cpp, line 2311
2 ASSERTION: unexpected progress values: ‘progress <= progressMax’, file 1.9.0/mozilla/netwerk/protocol/http/src/nsHttpChannel.cpp, line 4483
1 ASSERTION: More UnblockOnload() calls than BlockOnload() calls; dropping call: ‘Not Reached’, file 1.9.0/mozilla/content/base/src/nsDocument.cpp, line 5625
1 ASSERTION: CachedChromeStream doesn’t receive data: ‘Not Reached’, file 1.9.0/mozilla/content/xul/document/src/nsXULDocument.cpp, line 4339