Closed Bug 851845 Opened 12 years ago Closed 12 years ago

Intermittent browser_responsiveuiaddcustompreset.js,browser_responsivecomputedview.js,browser_responsiveruleview.js,browser_responsiveui.js | (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize]

Categories

(DevTools :: Responsive Design Mode, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 22

People

(Reporter: philor, Assigned: ttaubert)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=20729583&tree=Mozilla-Inbound Rev3 Fedora 12x64 mozilla-inbound debug test mochitest-browser-chrome on 2013-03-16 16:07:46 PDT for push 85f522534c5a slave: talos-r3-fed64-058 16:56:16 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/devtools/responsivedesign/test/browser_responsiveuiaddcustompreset.js | Successfully retrieved keycode/key 16:56:16 INFO - WARNING: NS_ENSURE_TRUE(presShell) failed: file ../../../dom/base/nsDOMWindowUtils.cpp, line 1485 16:56:16 WARNING - TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/responsivedesign/test/browser_responsiveuiaddcustompreset.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize] at resource://gre/modules/PageThumbs.jsm:247 16:56:16 INFO - Stack trace: 16:56:16 INFO - JS frame :: chrome://mochikit/content/tests/SimpleTest/SimpleTest.js :: simpletestOnerror :: line 1109 16:56:16 INFO - native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0 16:56:16 INFO - JavaScript error: resource://gre/modules/PageThumbs.jsm, line 247: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize]
Summary: Intermittent browser_responsiveuiaddcustompreset.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize] at resource://gre/modules/PageThumbs.jsm:247 → Intermittent browser_responsiveuiaddcustompreset.js, browser_responsivecomputedview.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize]
Summary: Intermittent browser_responsiveuiaddcustompreset.js, browser_responsivecomputedview.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize] → Intermittent browser_{responsiveuiaddcustompreset, responsivecomputedview, responsiveruleview}.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize]
Until we teach tbpl to use some sort of regular expression searches, changing the summary like that just breaks tbpl. Sucks, but if you have a failure in a big set of tests with long names, you just have to keep cloning the bug when you run out of summary room.
Summary: Intermittent browser_{responsiveuiaddcustompreset, responsivecomputedview, responsiveruleview}.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize] → Intermittent browser_responsiveuiaddcustompreset.js, browser_responsivecomputedview.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize]
Though we can make a little more room and still be able to recognize it.
Summary: Intermittent browser_responsiveuiaddcustompreset.js, browser_responsivecomputedview.js | uncaught exception - NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize] → Intermittent browser_responsiveuiaddcustompreset.js,browser_responsivecomputedview.js,browser_responsiveruleview.js | (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize]
Summary: Intermittent browser_responsiveuiaddcustompreset.js,browser_responsivecomputedview.js,browser_responsiveruleview.js | (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize] → Intermittent browser_responsiveuiaddcustompreset.js,browser_responsivecomputedview.js,browser_responsiveruleview.js,browser_responsiveui.js | (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.getScrollbarSize]
Tim, maybe you can help: we use floating scrollbars in the responsive mode, and apparently, `utils.getScrollbarSize` raises an exception "sometimes" in PageThumbs.jsm. You can find the code of the floating scrollbars here: http://mxr.mozilla.org/mozilla-central/source/browser/devtools/shared/FloatingScrollbars.jsm Looking at http://mxr.mozilla.org/mozilla-central/source/dom/base/nsDOMWindowUtils.cpp#1484, we could suspect `NS_ENSURE_TRUE(presShell, NS_ERROR_NOT_AVAILABLE);` to be the root of the problem.
Flags: needinfo?(ttaubert)
Assignee: nobody → ttaubert
Status: NEW → ASSIGNED
Attachment #727129 - Flags: review?(jAwS)
Flags: needinfo?(ttaubert)
Comment on attachment 727129 [details] [diff] [review] don't fail if the window doesn't have a presShell Review of attachment 727129 [details] [diff] [review]: ----------------------------------------------------------------- ::: toolkit/components/thumbnails/PageThumbs.jsm @@ +247,5 @@ > + > + try { > + utils.getScrollbarSize(false, sbWidth, sbHeight); > + } catch (e) { > + // This might fail if the window does not have a presShell. We'll get some weird fallout in the following code since sbWidth and sbHeight won't have a numeric 'value' property. What do you recommend that we do in this case? Should we default to 0? I'd say that we do the following: > Cu.reportError("Unable to get the scrollbar size in _determineCropSize"); > sbWidth.value = sbHeight.value = 0;
Attachment #727129 - Flags: review?(jAwS) → review+
(In reply to Jared Wein [:jaws] from comment #42) > We'll get some weird fallout in the following code since sbWidth and > sbHeight won't have a numeric 'value' property. What do you recommend that > we do in this case? Should we default to 0? We do already default to 0: http://mxr.mozilla.org/mozilla-central/source/dom/base/nsDOMWindowUtils.cpp#1471 The CPP code sets those values before returning but it doesn't hurt to make that more explicit like you suggested. > I'd say that we do the following: > > Cu.reportError("Unable to get the scrollbar size in _determineCropSize"); > > sbWidth.value = sbHeight.value = 0; Yes, reporting an error sounds like a good idea, too.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 22
Depends on: 963168
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: