Closed Bug 836630 Opened 11 years ago Closed 11 years ago

Intermittent browser_bug822367.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus] at chrome://browser/content/browser.js:6827

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 21

People

(Reporter: philor, Assigned: tanvi)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file, 1 obsolete file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=19304229&tree=Mozilla-Inbound
Rev4 MacOSX Snow Leopard 10.6 mozilla-inbound debug test mochitest-browser-chrome on 2013-01-30 16:37:19 PST for push 774ba579fd39
slave: talos-r4-snow-006

...
TEST-PASS | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | Mixed Content Doorhanger doesn't appear for Test 5
MOZ_EVENT_TRACE sample 1359596046037 53
TEST-INFO | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | Console message: [JavaScript Error: "TelemetryStopwatch: key "FX_PAGE_LOAD_MS" was already initialized" {file: "resource://gre/modules/TelemetryStopwatch.jsm" line: 53}]
MOZ_EVENT_TRACE sample 1359596047109 1071
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus] at chrome://browser/content/browser.js:6877
Stack trace:
    JS frame :: chrome://mochikit/content/tests/SimpleTest/SimpleTest.js :: simpletestOnerror :: line 1067
    native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0

JavaScript error: chrome://browser/content/browser.js, line 6877: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]
++DOMWINDOW == 519 (0x17d859c58) [serial = 11791] [outer = 0x16ffce308]
TEST-INFO | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | Console message: [JavaScript Error: "NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]" {file: "chrome://browser/content/browser.js" line: 6877}]
MOZ_EVENT_TRACE sample 1359596047207 98
MOZ_EVENT_TRACE sample 1359596047285 77
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004003: file ../../../../intl/uconv/src/nsCharsetConverterManager.cpp, line 301
MOZ_EVENT_TRACE sample 1359596047358 51
TEST-PASS | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | Mixed script didn't load in Test 5
...

https://tbpl.mozilla.org/php/getParsedLog.php?id=19304314&tree=Firefox
Rev3 WINNT 5.1 mozilla-central debug test mochitest-browser-chrome on 2013-01-30 16:18:07 PST for push faf255e44002
slave: talos-r3-xp-008

TEST-PASS | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | Mixed Content Doorhanger doesn't appear for Test 5
(ton of GC taking advantage of nothing else going on)
--DOMWINDOW == 263 (0CD21B38) [serial = 11800] [outer = 00000000] [url = about:blank]
MOZ_EVENT_TRACE sample 1359595757234 3943
TEST-INFO | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | Console message: [JavaScript Error: "TelemetryStopwatch: key "FX_PAGE_LOAD_MS" was already initialized" {file: "resource://gre/modules/TelemetryStopwatch.jsm" line: 53}]
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus] at chrome://browser/content/browser.js:6827
Stack trace:
    JS frame :: chrome://mochikit/content/tests/SimpleTest/SimpleTest.js :: simpletestOnerror :: line 1067
    native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0

JavaScript error: chrome://browser/content/browser.js, line 6827: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]
MOZ_EVENT_TRACE sample 1359595757312 206
MOZ_EVENT_TRACE sample 1359595757359 89
++DOMWINDOW == 264 (2447A048) [serial = 11861] [outer = 202D6E88]
MOZ_EVENT_TRACE sample 1359595757421 214
TEST-INFO | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | Console message: [JavaScript Error: "NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]" {file: "chrome://browser/content/browser.js" line: 6827}]
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004003: file e:/builds/moz2_slave/m-cen-w32-dbg/build/intl/uconv/src/nsCharsetConverterManager.cpp, line 301
TEST-PASS | chrome://mochitests/content/browser/content/base/test/chrome/browser_bug822367.js | Mixed script didn't load in Test 5
We've added an identity mode IDENTITY_MODE_MIXED_ACTIVE_CONTENT that likely needs to be considered in the setIdentityMessages() function here: https://mxr.mozilla.org/mozilla-central/source/browser/base/content/browser.js#6742
Product: Core → Firefox
This error seems to show up during an document.open().  I'm don't think it's related to the new mixed content code.  And it seems to be a problem that has existed in the past.  It doesn't matter if the page is http or https ->

JavaScript error: chrome://browser/content/browser.js, line 6877: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.responseStatus]

Which maps to: http://mxr.mozilla.org/mozilla-central/source/browser/base/content/browser-thumbnails.js#162
if (Math.floor(httpChannel.responseStatus / 100) != 2)

There is no mResponseHead on the httpchannel:
http://mxr.mozilla.org/mozilla-central/source/netwerk/protocol/http/HttpBaseChannel.cpp#1132

Should I add a check that we get a response status before checking if its 2xx?  And if we don't return false?
Looks like we can't check if there's a mResponseHead from the outside. We could wrap the .responseStatus access in a try/catch statement and just return false if there's none.
(In reply to Tim Taubert [:ttaubert] from comment #9)
> Looks like we can't check if there's a mResponseHead from the outside. We
> could wrap the .responseStatus access in a try/catch statement and just
> return false if there's none.

Have a patch that does this.  r? to Tim.
Attachment #709934 - Flags: review?(ttaubert)
Comment on attachment 709934 [details] [diff] [review]
Catch error when httpChannel doesn't have mResponseHead, and hence a response status v1

Review of attachment 709934 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks!

::: browser/base/content/browser-thumbnails.js
@@ +162,5 @@
> +      try {
> +        if (Math.floor(httpChannel.responseStatus / 100) != 2)
> +          return false;
> +      } catch (e) {
> +        /* Can't get responseStatus from the httpChannel */

Nit: maybe also note that we can't get any other property either. It's just the first we try to access.
Attachment #709934 - Flags: review?(ttaubert) → review+
Updated comment and carrying over r+.

Pushed to try.  I'll check back later today and if try looks good I will land this.

https://tbpl.mozilla.org/?tree=Try&rev=162c3f93dfc6
Attachment #709934 - Attachment is obsolete: true
Attachment #710331 - Flags: review+
Blocks: 834836
Pushed: hg.mozilla.org/integration/mozilla-inbound/rev/912893285503
Assignee: nobody → tanvi
https://hg.mozilla.org/mozilla-central/rev/912893285503
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 21
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: