Open Bug 541804 Opened 14 years ago Updated 2 years ago

infinite loop when a tree has a flex and a rows attribute

Categories

(Core :: XUL, defect)

1.9.2 Branch
defect

Tracking

()

People

(Reporter: moz-bugs, Unassigned)

References

Details

(Keywords: regression, testcase)

Attachments

(1 file)

493 bytes, application/vnd.mozilla.xul+xml
Details
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.1pre) Gecko/20100123 Namoroka/3.6.1pre
Build Identifier: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.1pre) Gecko/20100123 Namoroka/3.6.1pre




Reproducible: Always

Steps to Reproduce:
1. Load a xul file with a tree with both a flex and a rows attribute.
2. Click the tree's column picker.
3. Instead of the column picker, invoking the tree editor or a context menu on the tree do the same thing.
Actual Results:  
One CPU core is maxed out. The UI remains responsive (at least on my quad core), but laggy.

Expected Results:  
Nothing of the above.

This worked fine in Firefox 3.5. Cost me a few hours to find out the problem is xul and not my tree view.
Attached file test case
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.3a1pre) Gecko/20100123 Minefield/3.7a1pre

Confirmed and it is still happening with the latest trunk build.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Version: unspecified → 1.9.2 Branch
I don't see any problem with this testcase on trunk or on 1.9.2.
Did you click the column picker?
I get a Regression range of:

works - CPU stays around 0%:
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.3a1pre) Gecko/20091021 Minefield/3.7a1pre
2009-10-21-03-mozilla-central

broken - CPU climbed to greater than 70% and stayed:
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.3a1pre) Gecko/20091022 Minefield/3.7a1pre
2009-10-22-03-mozilla-central
I have an add-on with basically same problem. If I click on a column header, cpu for Fx shoots to 50%, and stays until I either stretch the dialog until the tree size changes, or click on columnpicker. Also, if I display a tooltip for a nearby button that shows on top of the tree, triggers the same problem.
Removing rows attribute fixed this. As mentioned above, problem started with 3.6
Bisecting locally found the first bad changeset to be
http://hg.mozilla.org/mozilla-central/rev/f163afecb7c3
or bug 494901.
Blocks: 494901
Running various things off the refresh driver since this bug first regressed probably means the CPU usage in current builds is lower.
This might be related to bug 617330.
Appears to still be an issue after all these years with xulrunner 41!

With flex and rows attributes set (or row attribute set to a number smaller than the visible tree area) the treeview gets caught in an infinite loop invoking getColumnProperties(). Keeping the flex attribute and removing the rows attribute stops the infinite loop and behaves normally.  One could set the overall height of the tree's parent for example, in order not to set the rows attribute but still control the height of the tree.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: