Closed Bug 213532 Opened 21 years ago Closed 21 years ago

Tabs refuse to load or close (out of docshells)

Categories

(Core :: Layout: Images, Video, and HTML Frames, defect)

x86
All
defect
Not set
major

Tracking

()

RESOLVED DUPLICATE of bug 193011

People

(Reporter: jesup, Assigned: jag+mozilla)

References

()

Details

1.5a, but same behavior appears in 1.4.

I can fairly easily create a situation where I can open new tabs, but a) the new
tab doesn't become the selected tab, b) the tab doesn't load (and if you switch
to it and try to load it doesn't), and c) you can't close the tab.

Note that usually (always?) the already-open tabs when this starts continue to
work; only the new tabs are broken.

To reproduce:
Go to the above site.  Register (if you do, post the id and password here so we
don't add lots of entries to their database).  Log in and have it save the
password.  Restart mozilla (may not be needed; this is how I know to make it
happen).  Go to the site again.  Click on "members log in here".  Click on
"treatment".  Click on an article -- I used
http://forum.bellspalsy.ws/dc/dcboard.php?az=show_mesg&forum=5&topic_id=1726&mesg_id=1733&page=

Click Back twice - note that it takes you up one too many levels.  Click on
Members Login Here.  Click on General Discussion.  Click on an article -- I used
http://forum.bellspalsy.ws/dc/dcboard.php?az=show_mesg&forum=3&topic_id=8094&mesg_id=8103&page=

Now hit ^t.  New tab opens, does not/will not load.  (Selecting a link with
"open in a new tab" does the same thing.)

This undoubtably has more steps than are actually needed.  It is however 100%
reproducable for me.
Severity: normal → major
Flags: blocking1.5b?
CC some people who are still around - saari@netscape is a dead address I think.
 This may well be XUL/JS/etc stuff.

Also occurs on Linux.

username: jesup_work
password: mozilla

(please don't post anything)

Also, all you have to do is click on "members login here", click on login (upper
left), enter user and password, and then (when it's done showing you the list of
forums) tabs will be messed up.  No need to actually look at any articles.
OS: Windows XP → All
No need to even log in.  Go to the site, click on "members log in here".  New
tabs will now fail to work.
Problem already appears by simply visiting http://forum.bellspalsy.ws/
(You might want to stop the page because it keeps reloading)
JS console shows:

Error: this.docShell has no properties
Source File: chrome://global/content/bindings/browser.xml#browser.webProgress
(getter)
Line: 0

when opening new tabs and:

Error: content has no properties
Source File: chrome://navigator/content/navigator.js
Line: 1338

when trying to load something in the new tab.
Might it be possible that this site overwrites some internal JS variables??
Changed the URL as per Andreas.  I'm going to take a look at the JS code for the
site.
Hmmm.  No weird JS code.  But weird swallow-it's-tail frame code:

From http://forum.bellspalsy.ws/:

	<frameset Cols="0%,100%" border="0" framespacing="0" frameborder="no">
	<frame Src="http://bellspalsy.ws/forum/index.html" scrolling="no" Name="Mask">
	<frame Src="http://forum.bellspalsy.ws/dc/dcboard.php" Name="Main"
onload="window.defaultStatus='Bells Palsy & Facial Paralysis Forums'">

and http://bellspalsy.ws/forum/index.html is the exact same file(!).  So it
keeps loading framesets until it finally stops at some point.

If you just load the second frame directly, there's no problem.  That implies
strongly to me it's the recursive-frame issue.  You can see the recursive-frame
issue in play because you see a lot of "contacting ..." status messages after
the page appears to load.
This somehow reminds me of bug 207795. 
I currently have no debug build for displaying the webshell number, though...
Verified in Inspector that there are MANY deeply nested framesets.  Got tired
after around 20 levels.

Moving to Layout: HTML Frames, since that's what kicks off the bug, though the
actual bug may be elsewhere.

I'll see if I can create a reduced testcase
Assignee: saari → frame
Component: Event Handling → Layout: HTML Frames
QA Contact: desale → madhur
*** Bug 165573 has been marked as a duplicate of this bug. ***
Ok, I'm pretty certain we're running out of something, perhaps docshells or
something that docshells need (there doesn't seem to be a hard limit on number
of docshells, so it's probably something else - docshell depends on a lot of stuff).

The problem is that we handle it poorly, by malfunctioning in an annoying way.  

Duped 165573 to this, and changed the summary.

Also, once you have "broken" tabs open, you can never close them even if you
close the site that caused the problem (and used all the docshells).

I'll try to create a good testcase, but the cause looks pretty straightforward.

->jag I guess - dbaron, you want this?

Assignee: frame → jaggernaut
Component: Layout: HTML Frames → Tabbed Browser
Summary: Tabs refuse to load or close → Tabs refuse to load or close (out of docshells)
This looks like my old bug 193011 (this used to crash, now it just hangs). Have
a look at that bug if you're interested in fixing this... we need to rework the
code that prevents infinite frameset recursion, so that it doesn't affect chrome
docshells.

*** This bug has been marked as a duplicate of 193011 ***
Status: NEW → RESOLVED
Closed: 21 years ago
Component: Tabbed Browser → Layout: HTML Frames
Resolution: --- → DUPLICATE
Flags: blocking1.5b?
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.