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)

x86
Windows NT
defect

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.
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.
Leaving on ss: for now.
Assignee: karnaze → kipp
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
Status: NEW → ASSIGNED
Assignee: kipp → buster
Status: ASSIGNED → NEW
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>&nbsp;</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!
Works with no crash on 11/28 build on NT. Leaving for Sujay to close.
Please don't close. Leave as is (Assigned) for the memory leak fix. Thanks!
Assignee: buster → karnaze
Status: ASSIGNED → NEW
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.
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Assignee: karnaze → buster
Status: REOPENED → NEW
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.
Resolution: FIXED → ---
Status: NEW → ASSIGNED
Assignee: buster → karnaze
Status: ASSIGNED → NEW
Component: Viewer App → HTMLFrames
Summary: memory leak leaving page. → frameset doesn't display content that is too tall
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.">&nbsp;</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>
Status: NEW → ASSIGNED
petersen, could you please try testcase with latest build and verify ASAP. Thanks!
Status: ASSIGNED → RESOLVED
Closed: 26 years ago26 years ago
Resolution: --- → FIXED
Fixed in viewer.exe with Dec 31 build under Windows NT and 95.
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
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.