Closed Bug 459790 Opened 16 years ago Closed 16 years ago

Following Error console link causes uncaught exception ( 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface] )

Categories

(Core :: XPConnect, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla1.9.1b3

People

(Reporter: ronkillmer1, Assigned: bent.mozilla)

References

Details

(Keywords: regression, verified1.9.1)

Attachments

(2 files, 2 obsolete files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b2pre) Gecko/20081013 Shredder/3.0b1pre

Error: uncaught exception: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0"  data: no]

Reproducible: Always

Steps to Reproduce:
1. Opened a message with CSS errors 
2. Clicked the link in Error Console Warning msg. that opened view source window
3. This error flashed in Console just before view source window opened



Messages with the bad CSS were posted to news.mozilla.org/mozilla.support.firefox in thread "My FF303 cannot display this webpage correctly. Why ?" by Andrew D.
Change (1) Product to Core (2) Platform to All (3) Version to Trunk (4) Keywords add "regression"

This bug is also reproducible in the following manner:

1. Create a new profile
2. Launch Firefox and open Error Console
3. Using your mouse, alternately switch to each of the two tabs by clicking it.
4. Notice the exception in Error Console

Regression range:

Works: http://hg.mozilla.org/mozilla-central/rev/ee5135f3f773
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b2pre) Gecko/20081012 Minefield/3.1b2pre

Fails: http://hg.mozilla.org/mozilla-central/rev/163e9f2fa5c1
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b2pre) Gecko/20081013 Minefield/3.1b2pre
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b2pre) Gecko/20081014 Shredder/3.0b1pre
confirm
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows Vista → All
Version: unspecified → Trunk
Could someone please make the following changes to this bug; otherwise, I'll dupe it:

Change: (1) Product to Core (2) Platform to All (3) Version to Trunk (4)
Keywords add "regression"

Thanks
Keywords: regression
Product: Thunderbird → Core
QA Contact: general → general
Hardware: PC → All
I can reproduce this simply by tabbing through the Error Console.

The problem seems to be that the XPConnect and/or the JavaScript engine is reporting QueryInterface failures on XUL elements as JavaScript errors.
Component: General → XPConnect
QA Contact: general → xpconnect
This is probably fallout from bug 455436... Sigh.
The following messages appear in the error console using SeaMonkey 2.0a2 since 10/13 which I suspect may be a result of the patch for bug 455436:


Error: uncaught exception: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0" data: no]

Error: uncaught exception: 2147500034
"Error: uncaught exception: 2147500034" was bug 459784 for thunderbird... If you get it in seamonkey, file a bug for it. (It's not this bug.)
Opened bug 460325 against SeaMonkey for the second message (though it's likely a Core issue). The first part should still stand as it is exactly the same message as reported.
Flags: blocking1.9.1?
Blocks: 459731
Using hg bisect the first version with the regression is:
 20343:3aec0eec68a1 from Ben Turner
Thanks folks, I'm aware of the problem (see comment 5).
Its not a bug in the console itself rather the interface, if you click in the firefox search box, history search, bookmark search, or open any menu's this also causes the error.
Ben, we should probably see if we can do something about this for 1.9.1...
Assignee: nobody → bent.mozilla
Flags: blocking1.9.1? → blocking1.9.1+
Adding "nsISupports.QueryInterface" in bug summary for ease of search.
Summary: Following Error console link causes uncaught exception, NS_NOINTERFACE → Following Error console link causes uncaught exception ( 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface] )
To add to Comment #11, This error is also reported by Shredder when selecting View Message Source to use the View Source window.
I also get this error if I click on a link from a warning/error in the error console (I also get another error, but this is bug 463176). E.g. open the addressbook to trigger the "timed textboxes" warning in the error console and click on that link.

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b2pre) Gecko/20081112 Shredder/3.0b1pre
Attached patch Patch, v1 (obsolete) — Splinter Review
Here's one option. We simply ignore the NS_NOINTERFACE result of QI.

The alternative is to eat *all* exceptions that come from QI, but I really don't like that because it hides bugs.
Attachment #348465 - Flags: superreview?(jst)
Attachment #348465 - Flags: review?(jst)
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.9.1
Attached patch Patch, v1.1 (obsolete) — Splinter Review
Use 'GetWrappedNativeOfJSObject' rather than 'WrapJS' for testing the nsIException. Thanks!
Attachment #348465 - Attachment is obsolete: true
Attachment #349077 - Flags: superreview?(jst)
Attachment #349077 - Flags: review?(jst)
Attachment #348465 - Flags: superreview?(jst)
Attachment #348465 - Flags: review?(jst)
Comment on attachment 349077 [details] [diff] [review]
Patch, v1.1

Looks good!
Attachment #349077 - Flags: superreview?(jst)
Attachment #349077 - Flags: superreview+
Attachment #349077 - Flags: review?(jst)
Attachment #349077 - Flags: review+
Comment on attachment 349077 [details] [diff] [review]
Patch, v1.1

Drivers, this patch will significantly reduce noise in the JS error console due to a regression in our exception handling. I think we might want this for b2 to avoid a ton of useless "I see this error in the console when I..." bug reports.
Attachment #349077 - Flags: approval1.9.1b2?
Comment on attachment 349077 [details] [diff] [review]
Patch, v1.1

a=mconnor, so we don't get a whole bunch of reports of this from the beta...
Attachment #349077 - Flags: approval1.9.1b2? → approval1.9.1b2+
I've built Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b2pre) Gecko/20081118 Thunderbird/3.0b1pre with the patch <https://bugzilla.mozilla.org/attachment.cgi?id=349077>, it segfaults reproducibly when clicking on the link in the warning

Warning: Timed textboxes are deprecated. Consider using type="search" instead.
Source File: chrome://messenger/content/messenger.xul
Line: 0

A build from the same source but without the patch doesn't crash.

hg identify
9a933d62a4ec tip
(In reply to comment #22)
> Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b2pre)
> Gecko/20081118 Thunderbird/3.0b1pre

Oops, it should have been

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b2pre) Gecko/20081120 Thunderbird/3.0b1pre

of course. Sorry for bugspam.
This is the patch I checked in. Reviewing last night I realized that do_QueryWrappedNative is not null-safe as are the other do_Query* functions. I'm assuming this was the cause of the crash reported above.
Attachment #349077 - Attachment is obsolete: true
Attachment #349249 - Flags: superreview+
Attachment #349249 - Flags: review+
(In reply to comment #24)
> Created an attachment (id=349249) [...]
> 
> This is the patch I checked in. [...]

Confirming that this has eliminated the crash.

hg identify
da9024b330aa tip
Pushed changeset 13ebc220fad3 to m-c for b2.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Will this also fix bug 460325 ?
No longer blocks: 459731
verified fixed using Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b2pre) Gecko/20081121 Minefield/3.1b2pre and Intel Mac 10.4,  Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b2pre) Gecko/20081121 Minefield/3.1b2pre and Win Vista equivalent.

many thanks to bent as this error message was driving me crazy.
Status: RESOLVED → VERIFIED
For some reason, this had the opposite effect for me. In build 20081120 everything was fine, in build 20081123 I get "uncaught exception: 2147500034" pointing to this code in Adblock Plus 1.0 release candidate (executes during browser startup):

  Components.classes["@mozilla.org/privatebrowsing;1"]
            .getService(Components.interfaces.nsIPrivateBrowsingService);

The private browsing service is asked for nsIClassInfo and that's where the error comes from. I was pretty surprised to see an exception from code inside a try..catch block - but seeing JS_ReportPendingException in the patch here this makes sense.
Looks like I missed some edge cases. Followup patch in a sec.
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
This applies on top of attachment 349249 [details] [diff] [review] (which was already checked in). Fixes the case where JS throws an nsresult ('throw Cr.NS_NOINTERFACE') and also the case where the context options are already set to not report exceptions.
Attachment #350197 - Flags: superreview?(jst)
Attachment #350197 - Flags: review?(jst)
See bug 466538, bug 460325, and comment 30 for examples that should be fixed with the new patch (I hope). I'd like to dupe those over if so.
Attachment #350197 - Flags: superreview?(jst)
Attachment #350197 - Flags: superreview+
Attachment #350197 - Flags: review?(jst)
Attachment #350197 - Flags: review+
http://hg.mozilla.org/mozilla-central/rev/d50fb8c0d589
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
Target Milestone: mozilla1.9.1 → mozilla1.9.1b3
Depends on: 467068
Depends on: 467162
Blocks: abp
Keywords: verified1.9.1
removing fixed1.9.1 b/c these bugs are verified1.9.1, sorry for the spam.
Keywords: fixed1.9.1
Keywords: verified1.9.1
sorry for the inconvenience.  i meant to detect any bugs before the branch merge that were still RESO fixed, but had a verified1.9.1 keyword next to them.
Keywords: verified1.9.1
Verified fix on Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3pre) Gecko/20090115 Minefield/3.1b3pre  and

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090115 Minefield/3.2a1pre
Status: RESOLVED → VERIFIED
Blocks: 467747
Depends on: 503644
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: