Closed
Bug 304598
Opened 19 years ago
Closed 1 year ago
Hang up loading this page
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: relf, Unassigned)
References
(Depends on 1 open bug, )
Details
(Keywords: perf, testcase)
Attachments
(4 files, 2 obsolete files)
Seamonkey/linux build 2005081310 Seamonkey hangs up while loading the provided page.
Reporter | ||
Comment 1•19 years ago
|
||
Links browser loads the same page in a matter of seconds. So does Seamonkey if the page is loaded from local disk. But loading this page from the Internet makes Seamonley not responding to mouse/keyboard, so it has to be killed.
Comment 2•19 years ago
|
||
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050813 Firefox/1.0+ ID:2005081312 That's true; 100 cpu usage.
Comment 3•19 years ago
|
||
reduced number of directory entries (links) from 21430 to 7. The file is 2471 kb sized, and doesn't validate, also if I remove the google header infront of the original file.
Comment 4•19 years ago
|
||
removed google header from testcase #1, and added <base href=... <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <BASE HREF="http://free.hostdepartment.com/m/"><table border=1 width=100%><tr><td><table border=1 bgcolor=#ffffff cellpadding=10 cellspacing=0 width=100% color=#ffffff><tr><td><font face=arial,sans-serif color=black size=-1>This is <b><font color=#0039b6>G</font> <font color=#c41200>o</font> <font color=#f3c518>o</font> <font color=#0039b6>g</font> <font color=#30a72f>l</font> <font color=#c41200>e</font></b>'s <a href="http://www.google.com/help/features.html#cached"><font color=blue>cache</font></a> of <A HREF="http://free.hostdepartment.com/m/"><font color=blue>http://free.hostdepartment.com/m/</font></a> as retrieved on 10 Aug 2005 01:30:09 GMT.<br> <b><font color=#0039b6>G</font> <font color=#c41200>o</font> <font color=#f3c518>o</font> <font color=#0039b6>g</font> <font color=#30a72f>l</font> <font color=#c41200>e</font></b>'s cache is the snapshot that we took of the page as we crawled the web.<br> The page may have changed since that time. Click here for the <A HREF="http://free.hostdepartment.com/m/"><font color=blue>current page</font></a> without highlighting.<br> This cached page may reference images which are no longer available. Click here for the <A HREF="http://64.233.179.104/search?q=cache:J871grFeJ0MJ:free.hostdepartment.com/m/&hl=en&lr=&strip=1"><font color=blue>cached text</font></a> only.<br>To link to or bookmark this page, use the following url: <code>http://www.google.com/search?q=cache:J871grFeJ0MJ:free.hostdepartment.com/m/</code></font><br><br><center><font size=-2><i>Google is not affiliated with the authors of this page nor responsible for its content.</i></font></center></td></tr></table></td></tr></table> <hr>
Comment 5•19 years ago
|
||
testcase 1 gives 25 errors, testcase 2 only 9 errors, because <img> and <hr> are not allowed inside a <pre> section. If I remove the <pre> tags, testcase 2 validates tentatively. I removed the <pre></pre> tags from a local copy of the original file, google header also removed, and it still took a lot of time to finish rendering. http://validator.w3.org/check?uri=https%3A%2F%2Fbugzilla.mozilla.org%2Fattachment.cgi%3Fid%3D192665&charset=%28detect+automatically%29&doctype=Inline&ss=1&verbose=1 http://validator.w3.org/check?uri=https%3A%2F%2Fbugzilla.mozilla.org%2Fattachment.cgi%3Fid%3D192666&charset=%28detect+automatically%29&doctype=Inline&ss=1&verbose=1
Comment 6•19 years ago
|
||
download and unzip. Testcases take their images from archive.mozilla.org. 304598-25k-v.html is a validating file having 25 000 links, all the same. 304598-5k-v.html is a validating file having 5 000 links, all the same. 304598-25k-nv.html and 304598-5k-nv.html are the files above made non-validating by including the <pre> tags and excluding the encoding specification, as seen in the original. If you want to make smaller/bigger testcases, there are packs of links included, just copy and paste and add the frontend and the backend. I don't get a hang, CPU takes only a long time to load, and even longer to unload after closing a tab. testcase #1 and testcase #2 were for demonstarting the file structure, not for showing the hang. The testcases in this attachment unzip to 553kb and 276o kb sized files, showing the slow load and unload time.
Reporter | ||
Updated•19 years ago
|
WFM. The original URL loads in Seamonkey trunk build 2005081505 on WinXP for me. Takes some time but no hang or freeze and finally completed. The both testcases load in < 1s for me.
Reporter | ||
Comment 8•19 years ago
|
||
Linux specific? Here it takes about 10 minutes to load the original URL. During that time Mozilla is inoperable: it does not react to mouse and keyboard, does not redraw its windows etc.
Comment 9•19 years ago
|
||
reduced testcase #1 and #2 were misleading (fast), they were for demonstarting the code. The local testcases are zipped files with 5000 and 25000 links. This unzipped testcase has 2500 links. the 25000 links testcase needs about 95 seconds to render, and closing the tab lets the 333 MHz Celeron also stay at 95% CPU for 95 seconds.
Attachment #192665 -
Attachment is obsolete: true
Attachment #192666 -
Attachment is obsolete: true
Comment 10•19 years ago
|
||
This has nothing to do with HTTP networking. The problem is that the page has all these images on it all of which are nonexistent. That means that we have to replace the image frames with alt text and doing this is slow (and more importantly O(N^2) in page size). Not sure why yet, but it doesn't make much sense to look into it until bug 11011 is fixed. Note that from local disk this is only fast because of bug 282432.
Assignee: darin → nobody
Status: UNCONFIRMED → NEW
Component: Networking: HTTP → Layout
Depends on: moz-broken
Ever confirmed: true
QA Contact: networking.http → layout
Comment 11•19 years ago
|
||
Updated•19 years ago
|
Attachment #193247 -
Attachment is patch: false
Attachment #193247 -
Attachment mime type: text/plain → application/zip
Comment 12•19 years ago
|
||
Updated•19 years ago
|
Attachment #193248 -
Attachment is patch: false
Attachment #193248 -
Attachment mime type: text/plain → application/zip
Reporter | ||
Comment 13•19 years ago
|
||
(In reply to comment #10) > The problem is that the page has > all these images on it all of which are nonexistent. That means that we have to > replace the image frames with alt text and doing this is slow (and more > importantly O(N^2) in page size). Slow performance is only a half of the problem. The other half is that rendering of the page blocks operability of the browser. I believe such blocking is much serious problem when just slow rendering.
Comment 14•19 years ago
|
||
It blocks because a single frame construction pass is non-interruptible and when said pass takes O(N) time in the page size (as here) for a large page...
Comment 15•19 years ago
|
||
(In reply to comment #10) > This has nothing to do with HTTP networking. The problem is that the page has > all these images on it all of which are nonexistent. That means that we have to > replace the image frames with alt text and doing this is slow (and more > importantly O(N^2) in page size). I always got the images, they exist. I made my testcases from this bug's URL:, replacing the folder images with images from <BASE HREF="http://archive.mozilla.org/"> on a Celeron 333 a local file with 25k links, images from mozilla URL above, needs: with folder images about 90 seconds, without folder images about 47 seconds. When I close the tab, it closes immediately, but CPU goes to 100% for a tab with folder images about 75 seconds, without folder images about 10 seconds. link with folder image: <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="mnr/">mnr/</A> 26-May-2002 10:14 - link without folder image: <A HREF="mnr/">mnr/</A> 26-May-2002 10:14 - links from the bug's URL(google cache): <BASE HREF="http://free.hostdepartment.com/m/"> <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="Marciux/">Marciux/</A> 09-Jan-2003 05:45 - http://free.hostdepartment.com/m/icons/folder.gif doesn't exist, but I see the folders, and got the code above, when I look at URL: URL: is a google cache, the direct page still exists: http://free.hostdepartment.com/m/ http://free.hostdepartment.com/icons/folder.gif When the long page loads, you can follow the progres, see the scrollbar moving when you scrolled down to the end, and the page is still loading. You see something is going on while you wait. The opposite takes place when you close the tab. The page is gone immediately, one or two seconds later on a slow computer the CPU load goes to about 100% and stays at that level for up to the same time the loading of the page took. As you don't see any progress, the page had gone long ago, this seems to be a hang.
Status: NEW → ASSIGNED
Comment 16•19 years ago
|
||
Why exactly did you change this to "ASSIGNED"? It's not. > replacing the folder images with images from <BASE > HREF="http://archive.mozilla.org/"> Then you would no longer see the bug. > The opposite takes place when you close the tab. That's bug 304870, probably.
Comment 17•19 years ago
|
||
(In reply to comment #16) > Why exactly did you change this to "ASSIGNED"? It's not. Sorry, I don't know how I did change that to assigned, but I see that's been my last comment. I've had memory problems, had to kill seamonkey as it didn't react to closing, but was paging for minutes. Killing freed more than 200 MB. > > replacing the folder images with images from <BASE > > HREF="http://archive.mozilla.org/"> > > Then you would no longer see the bug. I made the attachment 192671 [details] this way: 'local testcases' I repeated one directory entry (folder image/link) 5k resp. 25k times and zipped the result to shrink the file from megabytes to something I could attach. The 25k version takes 5 times the time the 5 k version needs. > > The opposite takes place when you close the tab. > > That's bug 304870, probably. Not probably, but exactly.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → INVALID
Comment 18•19 years ago
|
||
had to make the bug invalid to remove the assignment, sorry for the bugspam.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Target Milestone: --- → M1
Comment 19•19 years ago
|
||
OK, other than bug 309107, which is an obvious bug, this is managing to hit a few of the O(N^2) spots in layout: 1) Recreating a frame involves calling ContentInserted, which looks for the previous sibling frame. Since the previous sibling _content_ is a nsTextNode, this involves finding its primary frame, which is not hashed. Which means a linear walk on all the kids of our big block up to us, basically. Repeated for each image. I've filed bug 309111 on this. 2) Destroying the old frame involves nsBlockFrame::DoRemoveFrame, which is O(N) in this case. 3) Inserting the new frame puts us in nsLineBox::RFindLineContaining which ends up with lots of calls to nsLineBox::IndexOf. Not exactly sure what we can do about #2 and #3 offhand.
Depends on: 309111
Target Milestone: M1 → ---
Updated•19 years ago
|
Status: REOPENED → NEW
Comment 21•16 years ago
|
||
We stopped reframing in this case, since we now assume no image will ever load if it's not loaded by the time we construct the image frame. Sadly, we might need to revisit this assumption in bug 455690, so marking dependent on that. And we might want to file separate bugs on items 2 and 3 from comment 19...
Depends on: 455690
Comment 22•12 years ago
|
||
Is this a candidate for Snappy?
Updated•2 years ago
|
Severity: normal → S3
Comment 23•1 year ago
|
||
These test cases seem to perform well now. Safe to close?
Flags: needinfo?(dholbert)
Comment 24•1 year ago
|
||
(In reply to Gregory Pappas [:gregp] from comment #23)
These test cases seem to perform well now.
Thanks -- I'll take your word for it, particularly given the time that's passed since this bug was last touched.
We can reopen (or track in new bugs with up-to-date info) if there's anything that needs further work here.
Closing as WFM given comment 23.
Flags: needinfo?(dholbert)
Updated•1 year ago
|
Status: NEW → RESOLVED
Closed: 19 years ago → 1 year ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•