Closed
Bug 170688
Opened 22 years ago
Closed 22 years ago
opasia.dk doesn't render completly [DHTML]
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: bugzilla, Assigned: roc)
References
()
Details
(Keywords: regression)
Attachments
(3 files)
67.70 KB,
image/png
|
Details | |
580 bytes,
text/html
|
Details | |
1.94 KB,
patch
|
dbaron
:
review+
kinmoz
:
superreview+
asa
:
approval+
|
Details | Diff | Splinter Review |
this bug is really really weird. Sometimes http://opasia.dk shows up almost blank. The top part of the site is there but the "content" is missing. I now have a profile that does this all the time. I've seen this on multiple computers running Mozilla at work. I have no clue what the problem is. http://mit.opasia.dk shows up just fine the page http://opasia.dk validates just fine! 20020923
Reporter | ||
Comment 1•22 years ago
|
||
saving it as "complete webpage" and showing it from local drive produces the correct page.
Comment 2•22 years ago
|
||
WFM - trunk build 2002092404 - WinXP.
Reporter | ||
Comment 3•22 years ago
|
||
if I disable JavaScript the page shows up fine everything. a little more info: The whole page actually loads when I have javascript off. If just seems to stop rendering the layout. If I turn of JavaScript the page loads and renders just fine.
Summary: opasia.dk sometimes shows up almost blank → opasia.dk sometimes shows up almost blank with js active
Reporter | ||
Comment 4•22 years ago
|
||
frederic: please try and set Edit -> Privacy -> Popups to Reject and then load opasia.dk I've found you that it's that setting that makes opasia.dk blank!
Comment 5•22 years ago
|
||
Sorry to say, but even with your setting, site is loading without problem. Using trunk build 2002092404 - WinXP. I will try with today's nightly and see. It also works in Pheonix (yesterday build). So :-)
Reporter | ||
Comment 6•22 years ago
|
||
Comment 7•22 years ago
|
||
Oups ! Looking at attachment, I confirm I see this bug with trunk build 2002092511. Sorry :-[
Reporter | ||
Comment 8•22 years ago
|
||
I see the same problem with nightly build of phoenix! Release 0.1 of Phoenix does not have the problem. So this is some kind of regression.
Keywords: regression
Reporter | ||
Comment 9•22 years ago
|
||
Mozilla release 1.2 also shows the site correct. Nightly build doesn't. moving to layout...
Assignee: asa → attinasi
Severity: normal → major
Component: Browser-General → Layout
QA Contact: asa → petersen
Reporter | ||
Comment 10•22 years ago
|
||
this bug is totally blocking the use of opasia.dk, which is the largest portal in denmark. seen on Windows 2000 - build 20020926
Severity: major → critical
OS: Windows XP → Windows 2000
Reporter | ||
Comment 11•22 years ago
|
||
I've arrowed it down to this: Works with build : 2002092404 Doesn't work with build: 2002092506 reproduceable all the time!
Comment 12•22 years ago
|
||
WFM: Using 10/13/2002 cvs trunk build on WinXP.
Reporter | ||
Comment 13•22 years ago
|
||
kevin: are you really seeing the entire site. does URL's like: http://opasia.dk/sektion/underholdning/ http://opasia.dk/sektion/markeder/ work? I only see the site like in the attachment: http://bugzilla.mozilla.org/attachment.cgi?id=100561&action=view
Comment 14•22 years ago
|
||
I'm seeing this with linux trunk build 20021013. I can help out with the regression window a bit... :) linux trunk build 2002092221 doesn't work, 2002092408 does not that puts the regression between 4-8am on the 24th.
OS: Windows 2000 → All
Comment 15•22 years ago
|
||
backing out bug 75121 fixes this for me.
Reporter | ||
Comment 16•22 years ago
|
||
Andrew thanx for the debuging info. I tried to reopen the bug but it was closed. Not really sure what to do now. This bug is bitting us here at TDC Internet, which owns opasia.dk. Opasia.dk is Denmarks largest portal and currently Mozilla users cant see it! Can we back out the patch in bug 75121 ? It has somwthing to do with reflow since I can get the site to render if I use the [+] buttons in the menu to the left. This seems to cause Mozilla to reflow and repaint the site.
Summary: opasia.dk sometimes shows up almost blank with js active → opasia.dk doesn't render completly [DHTML]
Backing out the patch is not necessarily the solution. If we backed out anything that caused any regression we'd be making significantly slower progress on issues like performance, and, in fact, such a policy might discourage people from working on difficult issues like performance at all. Landing and relanding large patches is not easy. However, it is worth mentioning the regression in bug 75121 so that people involved in that bug are aware of the problem.
Assignee | ||
Comment 18•22 years ago
|
||
If you can reduce the testcase to something small, that would help immensely.
This still links to one external script. I think the bug depends on both the contents of the script and the fact that it's loading from the network, although I'm not sure.
(And, FWIW, it took me the full 40 minutes to simplify that, not just the time starting from roc's comment. If you want a bug to be fixed, making sure that it has a simplified testcase is probably the first thing to do.)
(And, FWIW, the testcase requires a Shift-Reload after it's been loaded for the first time.)
Assignee | ||
Comment 22•22 years ago
|
||
I did some investigation. Here are some notes before I go to bed. After the script has loaded, we add some more content which triggers a reflow which should lay everything out properly. I do see a Dirty reflow being targeted at the DIV, but the child list is *empty*. This reflow doesn't do anything because the child that has changed is on the Absolute child list. So the question is, how was the reflow generated with the wrong child list? I suspect that somewhere in the table code an incremental reflow is converted to a dirty reflow, but that this process sets the wrong child list.
IIRC, there's only one caller that uses the child list ability of the reflow command, and that one doesn't really need to. In other words, I think that when the child list is null, it's meaningless, rather than indicating the default child list.
An interesting note -- using printf debugging, I found that I enter the non-incremental handling code for absolutely positioned elements only once when things work correctly (i.e., first load when the script is cached) but that I enter it twice when things are broken.
Assignee | ||
Comment 25•22 years ago
|
||
Yup --- the second time is when we're doing a dirty reflow with the wrong child list; nsAbsoluteContainingBlock::IncrementalReflow can't handle it, so nsBlockFrame::Reflow goes ahead and reflows dirty lines. Of course there aren't any :-). Once we fix this the second reflow will be handled by nsAbsoluteContainingBlock::IncrementalReflow. So this is a perf issue as well as a correctness issue.
But, er... nsAbsoluteContainingBlock::Reflow does get a chance to handle it, and does call ReflowAbsoluteFrame (with Resize rather than Dirty, admittedly, but that's because of a bug that I just fixed in my tree and it doesn't help). It's also worth noting that we're hitting the code in IncrementalReflow::AddCommand where there are two commands on the same target, although in this case they both have the same type (Dirty).
Assignee | ||
Comment 27•22 years ago
|
||
There is actually an empty line after the table... perhaps I'm seeing the reflow for that, and the reflow for the absolute frame is being completely lost somewhere. I'll have to do more printf debugging tonight.
Assignee | ||
Comment 28•22 years ago
|
||
> nsAbsoluteContainingBlock::Reflow does get a chance to handle it, and does call
> ReflowAbsoluteFrame
That's not what I remember from last night, but I could well be wrong. I'll just
have to look at it again tonight.
Assignee | ||
Comment 29•22 years ago
|
||
OK, I found the problem! nsAbsoluteContainingBlock::IncrementalReflow absolutely must go through all the child absolute frames and incrementally reflow any that are on reflow paths. nsBlockFrame::Reflow will not do it --- my comment to the contrary was just plain wrong. So basically IncrementalReflow must never exit early. We still need to set aWasHandled correctly, though, so I've changed the way we do that to something a little more sane.
Assignee | ||
Comment 30•22 years ago
|
||
Comment on attachment 103279 [details] [diff] [review] fix r/sr=dbaron
Attachment #103279 -
Flags: review+
Comment 32•22 years ago
|
||
Comment on attachment 103279 [details] [diff] [review] fix sr=kin@netscape.com
Attachment #103279 -
Flags: superreview+
Comment 33•22 years ago
|
||
Comment on attachment 103279 [details] [diff] [review] fix a=asa
Attachment #103279 -
Flags: approval+
Reporter | ||
Comment 34•22 years ago
|
||
now we have r=, sr= and a= could someone with cvs access check the patch in?
Assignee | ||
Comment 36•22 years ago
|
||
yeah, I'll check this in.
Assignee | ||
Comment 37•22 years ago
|
||
Fix checked in.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 38•22 years ago
|
||
*** Bug 148108 has been marked as a duplicate of this bug. ***
You need to log in
before you can comment on or make changes to this bug.
Description
•