Closed Bug 290879 Opened 20 years ago Closed 20 years ago

Doesn't close if ChatZilla closed after main ap, then won't reopen until task killed

Categories

(Toolkit :: Startup and Profile System, defect)

x86
Windows 2000
defect
Not set
major

Tracking

()

RESOLVED INVALID

People

(Reporter: chill, Assigned: benjamin)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3

This is new (for me) with 1.0.3 and ChatZilla 0.9.68a.

Start Firefox, start ChatZilla.  Close Firefox.  Restart Firefox -- nothing
happens.  Close ChatZilla.  Start Firefox -- nothing happens.  Task kill
firefox.exe.  Start Firefox -- it works.

I tried re-installing 1.0.2 and it now exhibits the same behavior, so it is
quite possible it is really ChatZilla 0.9.68a not letting go.

Reproducible: Always

Steps to Reproduce:
1. Start Firefox, start ChatZilla.
2. Close Firefox.
3. Restart Firefox -- nothing happens.
4. Close ChatZilla.
5. Start Firefox -- nothing happens.
6. Task kill firefox.exe.
7. Start Firefox -- it works.

Actual Results:  
Icon blinks, Firefox does not open a window.  

Expected Results:  
Opened a browser window.
How did you open ChatZilla?

No-one else I know who uses ChatZilla in Firefox has any issues like this, and
they are on FF 1.0.3 and ChatZilla 0.9.68a too.
I'm interested in bugs of this sort, which seem to turn up randomly at times. I
think we're calling enterLastWindowClosingSurvivalArea(); and not a matching
exitLastWindowClosingSurvivalArea(), perhaps due to complicated error conditions
when a XUL window is closed (not sure which one). Or possibly, the event loop is
stuck, but I can't figure out why that would be.

In any case, I haven't been able to reproduce with any 1.0.x builds.
More info:

After closing the Firefox browser window, but leaving open ChatZilla, if I click
on a URL in ChatZilla it spews the following error:

[ERROR]	Internal error dispatching command “goto-url”.
[ERROR]	TypeError: window.content has no properties @
<chrome://chatzilla/content/commands.js> 2005
That means that getWindowByType("navigator:browser") [1] returned a window
object, but it wasn't a real/working one.

I'll ask again; Charles E. Hill, how did you open ChatZilla?

My guess is that it was/is opened using the following external shortcut:
  firefox -chat irc://some-irc-url/

...as this is known to cause an invisible window to come into existance making
Firefox not exit properly.

[1] http://lxr.mozilla.org/mozilla/source/extensions/irc/js/lib/utils.js#493
  (calls getMostRecentWindow on the window watcher)
I opened ChatZilla the same way I always do: Tools menu --> ChatZilla

I've never tried another method, such as clicking on an IRC:// URI or an
external shortcut.
Ok, thanks.

If you could run the following commands in ChatZilla at the same point that
clicking links does not work (after closing the browser), it may help us:

  /eval getWindowByType("navigator:browser").title
  /eval getWindowByType("navigator:browser").location
  /eval var c = []; var e =
getService("@mozilla.org/embedcomp/window-watcher;1",
"nsIWindowWatcher").getWindowEnumerator(); var w; while (w = e.getNext()) {
c.push([w.closed, w.screenX, w.screenY, w.outerWidth, w.outerHeight, w.title,
w.location].join(", ")) }; c.join("\n")

(that last one needs to be done as one command, so copy each part into the input
then run as one command)

After running each command, you should see a line or two labeled [EVAL-OUT],
which you can copy and paste into the bug report.
chill	http://www.cnn.com/
[ERROR]	Internal error dispatching command “goto-url”.
[ERROR]	TypeError: window.content has no properties @
<chrome://chatzilla/content/commands.js> 2005
[EVAL-IN]	getWindowByType("navigator:browser").title
[EVAL-OUT]
[EVAL-IN]	getWindowByType("navigator:browser").location
[EVAL-OUT]	chrome://browser/content/browser.xul
[EVAL-IN]	var c = []; var e
=getService("@mozilla.org/embedcomp/window-watcher;1","nsIWindowWatcher").getWindowEnumerator();
var w; while (w = e.getNext()) { c.push([w.closed, w.screenX,
w.screenY,w.outerWidth, w.outerHeight, w.title, w.location].join(", ")) };
c.join("\n")
	[EVAL-OUT]	false, 0, 72, 1017, 768, , chrome://chatzilla/content/chatzilla.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
false, 0, 0, 615, 480, , chrome://browser/content/browser.xul
Interesting... I assume that you couldn't see any browser windows when you did
those commands?
If you have any Firefox extension other than ChatZilla, could you try disabling
them, restart Firefox, and see if you can still produce this behaviour.

*Something* is making a lot of semi-dead (and invisible) browser windows, it
seems...
Bingo, that was it.  

UserAgent Switcher 0.6.5 causes the issue if it is enabled AND I start
ChatZilla, then close Firefox.  Firefox never really closes.

If UAS is disabled, then everything behaves.  If it is enabled, and I don't open
ChatZilla, everthing behaves.

The other extensions I have are AdBlock v5 d2 Nightly 39 and Tabbrowser
Preferences v1.2.4.  Neither seemed to have any effect on the issue if I
disabled them.  Since I only have 3 extensions other than ChatZilla, I tried
every possible combination of enabled/disabled and it was UAS enabled every time
that did it.

Oh, and no, I never saw any windows when running those commands.

Thanks for the assistance.
And, now that I now where to look, it seems the issue is known:

http://chrispederick.com/forums/viewtopic.php?id=623
Thanks for taking the time to help work out what was going on.

I think this bug is probably INVALID, as it seems like an extension issue
(though it sounds like a chrome registry bug, but I'll leave that to the UAS
author).
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → INVALID
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.