Open Bug 792508 Opened 14 years ago Updated 1 year ago

Hang when reflowing very deeply nested tables with percentage heights on all elements

Categories

(Core :: Layout: Tables, defect)

defect

Tracking

()

Tracking Status
firefox-esr52 --- wontfix
firefox59 --- wontfix
firefox60 --- wontfix
firefox61 --- affected

People

(Reporter: szeligagrzegorz, Unassigned)

References

(Depends on 2 open bugs, Blocks 1 open bug)

Details

(4 keywords)

User Story

user-impact-score:160

Attachments

(1 file)

Attached file testcase —
User Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1 Steps to reproduce: Open the page Actual results: Open the Expected results: Browser crash
Attachment #662647 - Attachment description: crasch.html → testcase
Attachment #662647 - Attachment mime type: text/plain → text/html
2012-09-18-03-05-53-mozilla-central-firefox-18.0a1.en-US.linux-x86_64 appears to hang. killall -ILL: bp-3a58a795-b969-4ca6-8fe6-4727f2120919 [@ nsHTMLReflowState::CalcLineHeight ] bp-31c91fbf-821c-484c-ba7e-619bb2120919 [@ nsFloatManager::GetFlowArea ] bp-09742a70-df91-49b6-a43b-aa7342120919 [@ nsTableFrame::GetTableFrame ] bp-91d3b7b2-74d3-4aa2-86b8-c40bd2120919 [@ nsTableFrame::ReflowTable ] I guess it’s “just” loading VERY slowly.
Severity: normal → critical
Keywords: perf
Status: UNCONFIRMED → NEW
Component: Untriaged → Layout
Ever confirmed: true
Keywords: perf → hang
OS: Linux → All
Product: Firefox → Core
Hardware: x86 → All
Version: 15 Branch → Trunk
Loading the test in a debug build results in a bazillion: WARNING: frame tree too deep; setting zero size and returning: file layout/generic/nsFrame.cpp, line 5317 I added some diagnostic counters in nsTableFrame::Reflow, dumping out the results every 5 seconds (only counting table frames here, "level 1" means topmost table). Here's the result between two consecutive samples: level 1 tables did 1 reflows level 2 tables did 1 reflows level 3 tables did 2 reflows level 4 tables did 2 reflows level 5 tables did 2 reflows level 6 tables did 2 reflows level 7 tables did 2 reflows level 8 tables did 2 reflows level 9 tables did 2 reflows level 10 tables did 2 reflows level 11 tables did 2 reflows level 12 tables did 2 reflows level 13 tables did 2 reflows level 14 tables did 2 reflows level 15 tables did 2 reflows level 16 tables did 2 reflows level 17 tables did 2 reflows level 18 tables did 3 reflows level 19 tables did 4 reflows level 20 tables did 6 reflows level 21 tables did 11 reflows level 22 tables did 20 reflows level 23 tables did 38 reflows level 24 tables did 75 reflows level 25 tables did 148 reflows level 26 tables did 295 reflows level 27 tables did 589 reflows level 28 tables did 1178 reflows level 29 tables did 2355 reflows level 30 tables did 4709 reflows level 31 tables did 9418 reflows level 32 tables did 18836 reflows level 33 tables did 37671 reflows level 34 tables did 75341 reflows ... same as above up to level 19 ... level 20 tables did 7 reflows level 21 tables did 12 reflows level 22 tables did 22 reflows level 23 tables did 43 reflows level 24 tables did 84 reflows level 25 tables did 166 reflows level 26 tables did 332 reflows level 27 tables did 664 reflows level 28 tables did 1328 reflows level 29 tables did 2655 reflows level 30 tables did 5310 reflows level 31 tables did 10618 reflows level 32 tables did 21236 reflows level 33 tables did 42472 reflows level 34 tables did 84944 reflows
Severity: critical → normal
It seems the main cause for the reflow requests are RequestSpecialHeightReflow due to most of the frames have a percentage height. Bug 725437 looks similar. Perhaps the first step would be to simply disable this for strict mode, as bug 233306 suggests.
Component: Layout → Layout: Tables
Depends on: 725437, 233306
Keywords: perf, testcase
Summary: crash → Hang when reflowing very deeply nested tables with percentage heights on all elements
See Also: → 1725781
See Also: → 556305
Severity: normal → S3
See Also: → 511234
User Story: (updated)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: