Closed
Bug 1613
Opened 26 years ago
Closed 26 years ago
frameset doesn't display content that is too tall
Categories
(Core :: Layout: Images, Video, and HTML Frames, defect, P2)
Tracking
()
VERIFIED
FIXED
People
(Reporter: chrispetersen, Assigned: karnaze)
References
()
Details
Build Version: 11/23a
Platform: Windows NT 4.0, Win 95
Application: xpviewer and viewer
1) Launch either application: xpviewer and viewer
2) In the location field, type http://www.hotwired.com and press enter key.
3) After site loads, click the back button.
4) The application attempts to navigate to the previous site but then crashs
XPVIEWER caused a invalid page fault in module RAPTORHTML.DLL.
Comment 1•26 years ago
|
||
I actually see this going to any site after hotwired.com, or clicking on any
link on hotwired, or... you get the picture.
Taking off ss: list per bug mtg today. Release Note - Back button on frame
sites will fail.
BUT - would like to fix ASAP if possible.
Assignee | ||
Updated•26 years ago
|
Assignee: karnaze → kipp
Assignee | ||
Comment 4•26 years ago
|
||
Going to hotwired and then hitting the back button in the viewer crashes with
the following stack. The nsFrameImageLoader's mTargetFrame has been deleted
without it knowing about it.
nsFrame::GetOffsetFromView(const nsFrame * const 0x014be5a0, nsPoint & {...},
nsIView * & 0x00000000) line 1398 + 13 bytes
nsFrameImageLoader::DamageRepairFrame(const nsRect * 0x0012fc6c) line 337
nsFrameImageLoader::Notify(nsIImageRequest * 0x014af410, nsIImage * 0x01483610,
nsImageNotification nsImageNotification_kPixmapUpdate, int 0, int 0, void *
0x0012fcb4) line 217
ns_observer_proc(void * 0x014b0b00, long 4, void * 0x0012fd3c, void *
0x014af410) line 269
XP_NotifyObservers(OpaqueObserverList * 0x014b0a90, long 4, void * 0x0012fd3c)
line 259 + 28 bytes
il_pixmap_update_notify(il_container_struct * 0x014b08a0) line 155 + 18 bytes
il_flush_image_data(il_container_struct * 0x014b08a0) line 225 + 9 bytes
il_gif_write(il_container_struct * 0x014b08a0, unsigned char * 0x002f1778, long
0) line 1417 + 9 bytes
process_buffered_gif_input_data(gif_struct * 0x014bdd80) line 622 + 16 bytes
gif_delay_time_callback(void * 0x014bdd80) line 657 + 9 bytes
timer_callback(nsITimer * 0x012fa6b0, void * 0x012fa700) line 70 + 12 bytes
TimerImpl::Fire(unsigned long 109787646) line 308 + 17 bytes
TimerImpl::ProcessTimeouts(unsigned long 109787646) line 187
FireTimeout(void * 0x00000000, unsigned int 275, unsigned int 24903, unsigned
long 109787646) line 101 + 9 bytes
USER32! 77e7128c()
main(int 1, char * * 0x01209330) line 96
mainCRTStartup() line 338 + 17 bytes
the crash is occuring because an image load is being started on a frame, and
that frame is not deleted when the frameset is torn down. I believe that the
reason for this is because the table code is not reflowing itself properly.
Here is a simple test case that recreates the problem:
--CUT--
<frameset rows="68,*,20%">
<frame src=1613-1.html scrolling=no>
<frame src=woofer.gif>
<frame src=woofer.gif scrolling=no>
</frameset>
--CUT--
here is 1613-1.html:
--CUT--
<html><head>
</head>
<body bgcolor="#000000">
<TABLE nowrap cellpadding="2" cellspacing="0" border="0" width="600"
bgcolor="#000000">
<TR align="center">
<TD valign="top" align="left">
<a
href="http://nsads.hotwired.com/event.ng/Type=click&ProfileID=1574&RunID=9321&Ad
ID=12212&GroupID=1&FamilyID=1106&TagValues=2.5.6.25.156.159.176.179.180.182.183.
185.196.197.198.208.242.374.389.411.526.6370&Redirect=http:%2F%2Fonl.uophx.edu%2
Fdefault.asp%3Fplace%3D340G" TARGET="_top"><img
src="http://static.wired.com/advertising/blipverts/univ_of_phoenix/468going.gif"
BORDER=1 height=60 width=468 alt="Click here for the University of Phoenix
Online"></a> </TD>
<td valign="top" align="left">
<a
href="http://nsads.hotwired.com/event.ng/Type=click&ProfileID=5770&RunID=9113&Ad
ID=13822&GroupID=1&FamilyID=707&TagValues=2.5.6.25.159.179.180.182.183.185.196.1
97.198.208.241.242.374.389.411.526.6370.6883.70367&Redirect=http:%2F%2Fwww.music
blvd.com%2Fcgi-bin%2Ftw%2F3291_0_bb%2Fbb200.txt^S%26FS%3DHOTBOT
" TARGET="_top"><img
src="http://static.wired.com/advertising/blipverts/music_blvd/bill_12060.gif"
BORDER=1 height=60 width=120 alt="Click here for Music Boulevard"></a></td>
</TR>
</TABLE>
</body></html>
--CUT--
I've checked in fixes to both the branch and tip that eliminate the crash with
this site. Now it's up to steve to eliminate the memory leak.
Severity: critical → major
Status: NEW → ASSIGNED
Priority: P1 → P2
Summary: ss:Clicking the back button after visiting the hotwired site will cause a crash. → memory leak leaving page.
with Kipp's fix of the crash, I believe this should be removed from the "ss"
list. we can ship this milestone with a few minor memory leaks. I am changing
the priority and severity to fit the new description. Summary was:
ss: Clicking the back button after visiting the hotwired site will cause a
crash.
sujay - can you please verify that crash no longer occurs with Nov 28 build when
it comes out? Thanks!
Comment 10•26 years ago
|
||
Please don't close. Leave as is (Assigned) for the memory leak fix. Thanks!
Comment 11•26 years ago
|
||
I don't understand why Chris thinks this has anything to do with tables. The
only relevant memory leak I see on this page is in
nsHTMLFramesetFrame::CalculateRowCol. It leaks every time its called - the
normal method exit path does not clean up "fixed", "percent", or "relative".
Chris and Kipp, if you think any part of the memory leak on this page is due to
tables, please assign back to me with a description of what leads you to
believe tables are involved.
Assignee | ||
Updated•26 years ago
|
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Comment 12•26 years ago
|
||
if you look at the page, you will see *nothing* in the bottom table. THe reason
is that the area is just a bit too *short*.
If you then dump the frame tree you will notice that the bottom most frame cell
has a table in it, which has no content. However, if you compare that with the
content model you will see that they disagree.
During debugging of the crash (part of the initial report) I noticed that frames
were being created for loading animaged images. Later, we would crash because
those frames were not getting destroyed. At this point I dumped out the frame
tree and lo and behold - most of the tables frames were gone.
Assignee: buster → karnaze
Status: ASSIGNED → NEW
Component: Viewer App → HTMLFrames
Summary: memory leak leaving page. → frameset doesn't display content that is too tall
Comment 13•26 years ago
|
||
changed summary to reflect that the originally reported problem is fixed, and
we're dealing with something else entirely here.
The problem seems to be that the table wants to be taller than the available
space. Kipp reported that he saw a corrupt frame dump in this case, which I
don't see. I simply see that the table frame is missing from it's parent, the
body in frame 3.
I believe the table code is doing the right thing. The table code is setting
the size of the table based on the table content. The frameset should show as
much of the table as it can. I have included a test case here that does not
even have a table, that shows the problem. you'll have to adjust the URL's to
match your configuration.
======== frameset.html ==========
<html>
<frameset rows="40,*,68" frameborder="0" framespacing="0" border="0">
<frame src="file://s:/testcases/pages/hotwired/test.html" scrolling="no"
marginheight="1" marginwidth="1">
<frame src="file://s:/testcases/pages/hotwired/test.html" scrolling="yes"
marginheight="1" marginwidth="1">
<frame src="file://s:/testcases/pages/hotwired/test.html" scrolling="no"
marginheight="1" marginwidth="1">
</frameset>
</html>
======== test.html ==========
<html><head>
</head>
<body>
test
<br><img
src="http://static.wired.com/advertising/blipverts/music_blvd/gc120.gif"
BORDER=1 height=60 width=120 alt="Click here for Music Blvd">
<TABLE nowrap cellpadding="2" cellspacing="0" border="0" width="600" border>
<TR align="center">
<TD valign="top" align="left">
<img
src="http://static.wired.com/advertising/blipverts/sunmicrosystems/sun_dotcom_3_
tm.gif" BORDER=1 height=60 width=468 alt="Sun Microsystems. We're the dot in
.com."> </TD>
<td valign="top" align="left">
<img src="http://static.wired.com/advertising/blipverts/music_blvd/gc120.gif"
BORDER=1 height=60 width=120 alt="Click here for Music Blvd"></td>
</TR>
</TABLE>
</body></html>
Assignee | ||
Updated•26 years ago
|
Status: NEW → ASSIGNED
Comment 14•26 years ago
|
||
petersen, could you please try testcase with latest build and verify ASAP.
Thanks!
Reporter | ||
Updated•26 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 26 years ago → 26 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 15•26 years ago
|
||
Fixed in viewer.exe with Dec 31 build under Windows NT and 95.
Reporter | ||
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Updated•6 years ago
|
Product: Core → Core Graveyard
Updated•6 years ago
|
Component: Layout: HTML Frames → Layout: Images
Product: Core Graveyard → Core
You need to log in
before you can comment on or make changes to this bug.
Description
•