Closed
Bug 153083
Opened 22 years ago
Closed 22 years ago
[regression] mozilla (nearly) hangs on rendering
Categories
(Core Graveyard :: GFX, defect, P2)
Core Graveyard
GFX
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: markushuebner, Assigned: kmcclusk)
References
()
Details
(Keywords: hang, perf, regression, Whiteboard: [adt2])
Attachments
(2 files)
(deleted),
application/x-gzip
|
Details | |
(deleted),
patch
|
Biesinger
:
review+
jst
:
superreview+
asa
:
approval+
|
Details | Diff | Splinter Review |
Using trunk build 2002061908 on win-xp, 1.1ghz,512ram going to
http://wd-test/techlab/things/
makes mozilla nearly hang. works fine in msie6
a profile would be great to see what's going on.
Reporter | ||
Updated•22 years ago
|
Comment 1•22 years ago
|
||
Heavy innerHTML 6 DOM Manipulation:
Constructs a big amount of tables and table cells, adds them as innerHTML child
elements with inline CSS for absolute positioning to document.body and repeats
this, having the document growing all the time. Between every new instance
(every addition of a child element), there is a timeout of 1ms.
- Works fine on IE from 5.5 up
- Works on Moz 1.0 Build 2002052918 @ Linux
- Works on Moz 1.0 Build 2002053012 @ Win2k
- Works on Moz 1.0 Build 2002061106 @ WinXP
- Does NOT work on recent trunk builds!
Reporter | ||
Updated•22 years ago
|
Keywords: regression
Summary: (nearly) hangs on rendering → [regression] mozilla (nearly) hangs on rendering
Comment 2•22 years ago
|
||
Confirming that it does not work with trunk build: 2002061708 on WIN2K. Works
fine with branch builds: 2002061708.
Priority: -- → P2
Comment 3•22 years ago
|
||
Most of the time seems to be under nsDrawingSurfaceGTK::Lock and in
nsBlender::Do24Blend
Comment 4•22 years ago
|
||
to compositor, I guess
Assignee: karnaze → kmcclusk
Component: HTMLTables → GFX Compositor
QA Contact: amar → petersen
Unlikely to be compositor because nothing has changed there for months.
Reporter | ||
Comment 6•22 years ago
|
||
testing trunk build 2002061014 works fine.
testing trunk build 2002061208 hangs mozilla.
so this seems to be a regression of bug 124685.
http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=06%2F10%2F2002+12%3A00%3A00&maxdate=06%2F12%2F2002+08%3A00%3A00&cvsroot=%2Fcvsroot
shows also some other 'good' candidates
Comment 8•22 years ago
|
||
The URL in the URL field works for me with 202062109-TRUNK.
I tried the URL in the report, and got host not found.
Comment 10•22 years ago
|
||
This totally hangs my Mozilla (build 20020625) on Windows 2000. Just tried it
with Netscape 6.2 and it does not hang at all.
Comment 11•22 years ago
|
||
In the Win32 debugger it looks like there are a lot of calls to UpdateView()
happening which result in calls to nsWindow::Invalidate() ... which basically
does an InvalidateRect() on the widget ... this should generate an OS paint
event, so it looks like the speed at which we are reflowing and generating the
invalidations is causing us to starve paint events which may be sitting in the
OS event queue waiting for an idle moment to be processed?
No view manager calls are ever made during the reflow or insertion of content
that post a paint PLEvent or a synchronous call to Composite(), so it looks like
we are at the mercy of event and PLEvent queue priorities?
I also put a break point in nsPresShell::Paint() and it never gets hit.
The only way I could get things to render/animate was to put a hack in
ReflowEvent::HandleEvent() to force a view manager composite.
Assignee | ||
Comment 12•22 years ago
|
||
This is probably a dup of bug 129640
Reporter | ||
Comment 13•22 years ago
|
||
Also when watching the testcase memory consumption is skyrocketing.
Keywords: mozilla1.1
Comment 14•22 years ago
|
||
URL does not work anymore.
Reporter | ||
Comment 15•22 years ago
|
||
http://www.world-direct.com/mozilla/things/index.html
is working fine here!
Comment 16•22 years ago
|
||
Nominating for nsbeta1 as this a regression of DHTML performance.
Keywords: nsbeta1
Whiteboard: [adt2]
Comment 17•22 years ago
|
||
On CVS trunk Linux/GTKfe http://www.world-direct.com/mozilla/things/index.html
seems to work okay. It does take about 5 seconds to layout on my 400MHz machine
which isn't ideal but neither is that really very hang-y.
Comment 18•22 years ago
|
||
I think this problem is affecting mainly Windows users. My Mozilla completely
hangs. With build 20020723, Windows 98, Pentium III, 800 Mhz, 512 MB RAM.
Reporter | ||
Comment 19•22 years ago
|
||
I still hang using trunk build 2002072514 on win-xp pro,1.1ghz,512,GeForce2 Go
(32ram).
but I think kin has done good investigation in comment #11 so he might know
how to cope with that
Comment 20•22 years ago
|
||
If DOM setTimeout is being used, note that it uses nsITimer's implementation,
which on windows runs timers on the main thread only when the main thread's
event loop idles.
/be
Comment 21•22 years ago
|
||
I don't think it's bug 124685. I backed out everything but the widget changes,
and it didn't make any difference. I little bit digging shows that no Windows
messages are processed at all while the system seems hung. After a while they
all come in a tight bunch (this includes region invalidates). Also
nsViewManager::UpdateAllViews() is not called until events start to flow. Will
need more digging to find out where it all stops.
There were some timer and reflow changes too. Maybe they have broken something.
Comment 22•22 years ago
|
||
Crap. Disregard my previous comment. I had a major flaw in my tests. I'll do
them again.
Comment 23•22 years ago
|
||
I think there was one mistake when timer priorities were removed. This timer
should have been idle one. Seems to fix the issue for me.
Comment 24•22 years ago
|
||
Comment on attachment 93193 [details] [diff] [review]
Possible patch to fix a timer idle parameter
er, ooops
my mistake, sorry about that
r=biesi
Attachment #93193 -
Flags: review+
Comment 25•22 years ago
|
||
Comment on attachment 93193 [details] [diff] [review]
Possible patch to fix a timer idle parameter
Nice catch, Ere!
sr=jst
Attachment #93193 -
Flags: superreview+
Comment 26•22 years ago
|
||
I've requested approval for landing in trunk.
Comment 27•22 years ago
|
||
Comment on attachment 93193 [details] [diff] [review]
Possible patch to fix a timer idle parameter
a=asa (on behalf of drivers) for checkin to 1.1
Attachment #93193 -
Flags: approval+
Comment 28•22 years ago
|
||
Fix checked in to trunk.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 29•22 years ago
|
||
This fix seems to have fixed the frame drops regressions!
Bug 155160 WFM now.
Updated•16 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•