Open Bug 513106 Opened 13 years ago Updated 6 years ago

"ASSERTION: didn't subtract all that we added"

Categories

(Core :: Layout: Tables, defect)

defect
Not set
normal

Tracking

()

People

(Reporter: jruderman, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, perf, testcase)

Attachments

(1 file)

###!!! ASSERTION: program error: 'iter.IsLeftMostTable() || iter.IsRightMostTable()', file /Users/jruderman/central/layout/tables/nsTableFrame.cpp, line 6838
the assert from the bug title is gone the hang is not.
the hang comes from the dash drawing routine:

<table width="33554432px" style="border-collapse: collapse;"><tbody style="border: 2px dotted yellow;">

means we will draw 4011103 small rectangles at http://mxr.mozilla.org/mozilla-central/source/layout/base/nsCSSRendering.cpp#2955
Summary: [BC] ASSERTION: program error: 'iter.IsLeftMostTable() || iter.IsRightMostTable()' → Hang [@ nsCSSRendering::DrawTableBorderSegment]
Still very slow but I wouldn't call it hang.  Tested on Linux and OSX.
Unlikely to affect any real web sites much though.
Severity: critical → normal
Keywords: hangperf
OS: Mac OS X → All
Hardware: x86 → All
Testcase still asserts on trunk, now with:

###!!! ASSERTION: didn't subtract all that we added: '(space == 0 || space == nscoord_MAX) && ((l2t == FLEX_PCT_LARGE) ? (-0.001f < basis.f && basis.f < 0.001f) : (basis.c == 0 || basis.c == nscoord_MAX))', file /builds/slave/try-l64-d-00000000000000000000/build/src/layout/tables/BasicTableLayoutStrategy.cpp, line 1074

No hangs, though.
Summary: Hang [@ nsCSSRendering::DrawTableBorderSegment] → "ASSERTION: didn't subtract all that we added"
You need to log in before you can comment on or make changes to this bug.