Closed Bug 384693 Opened 17 years ago Closed 17 years ago

"Error / Exception / NS_NOINTERFACE / nsBlocklistService.js :: anonymous :: line 348", when checking for "blocklist"

Categories

(SeaMonkey :: General, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 374499
seamonkey2.0a1

People

(Reporter: sgautherie, Unassigned)

Details

(Whiteboard: [Steps: comment 8])

[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a6pre) Gecko/2007061602 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) {{ Error: [Exception... "'Component does not have requested interface' when calling method: [nsIInterfaceRequestor::getInterface]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "JS frame :: file:///.../seamonkey/components/nsExtensionManager.js :: anonymous :: line 2454" data: no] Source File: file:///.../seamonkey/components/nsExtensionManager.js Line: 2454 Error: [Exception... "'Component does not have requested interface' when calling method: [nsIInterfaceRequestor::getInterface]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "<unknown>" data: no] Error: [Exception... "'Component does not have requested interface' when calling method: [nsIInterfaceRequestor::getInterface]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "<unknown>" data: no] }} That's {{ notify: function() { [...] var self = this; request.onerror = function(event) { self.onXMLError(event); }; request.onload = function(event) { self.onXMLLoad(event); }; // 2454 request.send(null); }, }} I guess this happens when the ExtensionManager triggers to check something ?
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a7pre) Gecko/200707280303 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) (Line number is 2432 now.) Robert, could you help (me) triaging this one ? Thanks.
Summary: "Error / Exception / NS_NOINTERFACE / nsExtensionManager.js :: anonymous :: line 2454" → "Error / Exception / NS_NOINTERFACE / nsExtensionManager.js :: anonymous :: line 2432"
I'm pretty sure that this appreaing in SeaMonkey's error console is fallout from the work on getting View > Apply Theme working. I think that on the first browser window, we somehow fail to load the list of themes into that list on the menu, triggering the code that spits out those errors. Interestingly, on opening further browser windows, the menu gets correctly filled and the errors don't get repeated in the error console.
Can you try this change to bin/components/nsExtensionManager.js to see if it helps? Look for the line this._ptr = gRDF.GetDataSource("rdf:extensions"); and change it to this._ptr = getContainer(this._ds, this._ds._itemRoot).DataSource;
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a8pre) Gecko/200708040202 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) (In reply to comment #2) > from the work on getting View > Apply Theme working. Each time opening this menu item: {{ Error: uncaught exception: [Exception... "Component returned failure code: 0x80570018 (NS_ERROR_XPC_BAD_IID) [nsIJSCID.getService]" nsresult: "0x80570018 (NS_ERROR_XPC_BAD_IID)" location: "JS frame :: chrome://navigator/content/navigator.js :: checkTheme :: line 2476" data: no] }} > I think that on the first browser window, we somehow fail to load the list of > themes into that list on the menu, triggering the code that spits out those Indeed, I get "Get New Themes" and a separator only: no theme name(s). > errors. Interestingly, on opening further browser windows, the menu gets > correctly filled and the errors don't get repeated in the error console. Not for me: every times, every windows. ***** (In reply to comment #3) > Can you try this change to bin/components/nsExtensionManager.js to see if it I (wanted to) tried, but I miss "steps" to reproduce this error :-/
Maybe applying the patch in bug 382963 will get rid of some of your errors.
(In reply to comment #3) > Can you try this change to bin/components/nsExtensionManager.js to see if it > helps? Look for the line this._ptr = gRDF.GetDataSource("rdf:extensions"); and > change it to this._ptr = getContainer(this._ds, this._ds._itemRoot).DataSource; Actually, this makes the problem go away for me - and it makes the apply themes menu come up in the first Window (with the patch of bug 382963 applied, of course).
(In reply to comment #4) > > from the work on getting View > Apply Theme working. > > Each time opening this menu item: > {{ > Error: uncaught exception: [Exception... "Component returned failure code: > 0x80570018 (NS_ERROR_XPC_BAD_IID) [nsIJSCID.getService]" nsresult: "0x80570018 > (NS_ERROR_XPC_BAD_IID)" location: "JS frame :: > chrome://navigator/content/navigator.js :: checkTheme :: line 2476" data: no] > }} This submenu display and exception were fixed by bug 382963.
(In reply to comment #3) > Can you try this change to bin/components/nsExtensionManager.js to see if it > helps? Look for the line this._ptr = gRDF.GetDataSource("rdf:extensions"); and > change it to this._ptr = getContainer(this._ds, this._ds._itemRoot).DataSource; This was checked in for bug 383116. (But don't help here.) ***** [Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a8pre) Gecko/200708090202 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) Current bug is still there. Eventually, I found how to trigger/reproduce it: 1. In account <prefs.js>, set |user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 118);|. 2. In global <seamonkey/defaults/pref/browser-prefs.js>, set |pref("app.update.timer", 1000);|. 3. Start SeaMonkey (and open the error console). (Seems +/- obvious looking at that code, afterward(!).) |uri.spec = "https://addons.mozilla.org/blocklist/1/%7B92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a%7D/2.0a1pre/"| and loads {{ <?xml version="1.0"?> <blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"> </blocklist> }} if I try it manually in the browser.
Summary: "Error / Exception / NS_NOINTERFACE / nsExtensionManager.js :: anonymous :: line 2432" → "Error / Exception / NS_NOINTERFACE / nsExtensionManager.js :: anonymous :: line 2432", when checking for "blocklist"
Whiteboard: [Steps: comment 8]
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a8pre) Gecko/200708100202 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) That's another case of wrong line number report from the JS engine: {{ var Blocklist = { [...] notify: function() { [...] var self = this; request.onerror = function(event) { self.onXMLError(event); }; request.onload = function(event) { self.onXMLLoad(event); }; // (2432) request.send(null); // <-- This IS the line which triggers the exception(s) ! }, }}
I think this happens because XMLHttpRequest expects its notification callbacks to provide nsIProgressEventSink.
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a8pre) Gecko/200708110202 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) Commenting out {{ request.channel.notificationCallbacks = new BadCertHandler(); // 2426 }} does get rid of the exceptions.
I manually patched |BadCertHandler.prototype| in <nsExtensionManager.js>: I added a |dump(iid);| (...) in the |QueryInterface| failure case: {{ before |request.send(null);| {09b54ec1-d98a-49a9-bc95-3219e8b55089} = nsIDocShellTreeItem after |request.send(null);| {d974c99e-4148-4df9-8d98-de834a2f6462} = nsIProgressEventSink {10ed386d-8598-408c-b571-e75ad18edeb0} = nsIDocShell }} Then, I added |Components.interfaces.nsIProgressEventSink / onProgress / onStatus|: this solved its related |location: "<unknown>"| exception, but left the other one(s).
The only other place where <badCertHandler.js> is used is in </toolkit/mozapps/update/src/nsUpdateService.js.in>: {{ 1902 checkForUpdates: function(listener, force) { ... 1913 this._request.channel.notificationCallbacks = new BadCertHandler(); ... 1918 this._request.onerror = function(event) { self.onError(event); }; 1919 this._request.onload = function(event) { self.onLoad(event); }; 1920 this._request.onprogress = function(event) { self.onProgress(event); }; ... 1933 onProgress: function(event) { 1934 LOG("Checker", "onProgress: " + event.position + "/" + event.totalSize); 1935 this._callback.onProgress(event.target, event.position, event.totalSize); 1936 }, }}
(In reply to comment #12) >before |request.send(null);| >{09b54ec1-d98a-49a9-bc95-3219e8b55089} = nsIDocShellTreeItem >after |request.send(null);| >{d974c99e-4148-4df9-8d98-de834a2f6462} = nsIProgressEventSink >{10ed386d-8598-408c-b571-e75ad18edeb0} = nsIDocShell We may not want to try to provide all these interfaces, so it seems as if there is little we can do until the bug about Components.returnCode is fixed.
Depends on: 287107
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a8pre) Gecko/2007082803 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) I notice that the code related to the first exception has changed location: {{ Error: [Exception... "'Component does not have requested interface' when calling method: [nsIInterfaceRequestor::getInterface]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "JS frame :: file:///D:/Progs/__Mozilla-SR/seamonkey/components/nsBlocklistService.js :: anonymous :: line 363" data: no] Source File: file:///D:/Progs/__Mozilla-SR/seamonkey/components/nsBlocklistService.js Line: 363 }}
Summary: "Error / Exception / NS_NOINTERFACE / nsExtensionManager.js :: anonymous :: line 2432", when checking for "blocklist" → "Error / Exception / NS_NOINTERFACE / nsBlocklistService.js :: anonymous :: line 2432", when checking for "blocklist"
Summary: "Error / Exception / NS_NOINTERFACE / nsBlocklistService.js :: anonymous :: line 2432", when checking for "blocklist" → "Error / Exception / NS_NOINTERFACE / nsBlocklistService.js :: anonymous :: line 363", when checking for "blocklist"
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a9pre) Gecko/2007102402 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) Comment 8 steps: (= new line number) {{ Error: [Exception... "'Component does not have requested interface' when calling method: [nsIInterfaceRequestor::getInterface]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "JS frame :: file:///.../seamonkey/components/nsBlocklistService.js :: anonymous :: line 348" data: no] Source File: file:///.../seamonkey/components/nsBlocklistService.js Line: 348 Error: [Exception... "'Component does not have requested interface' when calling method: [nsIInterfaceRequestor::getInterface]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "<unknown>" data: no] Error: [Exception... "'Component does not have requested interface' when calling method: [nsIInterfaceRequestor::getInterface]" nsresult: "0x80004002 (NS_NOINTERFACE)" location: "<unknown>" data: no] }} [Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a9pre) Gecko/2007102503 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4) No error. R.Duplicate of bug 374499 (actually caused by bug 393627).
Status: NEW → RESOLVED
Closed: 17 years ago
No longer depends on: 287107
Resolution: --- → DUPLICATE
Summary: "Error / Exception / NS_NOINTERFACE / nsBlocklistService.js :: anonymous :: line 363", when checking for "blocklist" → "Error / Exception / NS_NOINTERFACE / nsBlocklistService.js :: anonymous :: line 348", when checking for "blocklist"
You need to log in before you can comment on or make changes to this bug.