Closed Bug 1514558 Opened 5 years ago Closed 5 years ago

Intermittent devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-02.js | A promise chain failed to handle a rejection: [Exception... "Component not initialized" nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"

Categories

(DevTools :: Debugger, defect, P5)

defect

Tracking

(firefox66 fixed)

RESOLVED FIXED
Firefox 66
Tracking Status
firefox66 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: bhackett1024)

Details

(Keywords: intermittent-failure, Whiteboard: [retriggered])

Attachments

(1 file)

Filed by: ncsoregi [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=217269790&repo=mozilla-central

https://queue.taskcluster.net/v1/task/DZJ0lS2-TROr5OZKp4xz_Q/runs/0/artifacts/public/logs/live_backing.log

01:14:12     INFO - TEST-PASS | devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-02.js | Paused at line 26 expected 26 - 
01:14:12     INFO - Console message: [JavaScript Warning: "Removed unsafe attribute. Element: svg. Attribute: xmlns." {file: "resource://devtools/client/shared/vendor/react-dom.js" line: 5811}]
01:14:12     INFO - Console message: [JavaScript Error: "NS_ERROR_NOT_INITIALIZED" {file: "resource://devtools/client/debugger/new/src/utils/DevToolsUtils.js" line: 23}]
01:14:12     INFO - TEST-PASS | devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-02.js | Paused at line 25 expected 25 - 
01:14:12     INFO - Buffered messages finished
01:14:12     INFO - TEST-UNEXPECTED-FAIL | devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-02.js | A promise chain failed to handle a rejection: [Exception... "Component not initialized"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: resource://devtools/client/debugger/new/src/utils/DevToolsUtils.js :: executeSoon :: line 23"  data: no] - stack: executeSoon@resource://devtools/client/debugger/new/src/utils/DevToolsUtils.js:23:3
01:14:12     INFO - promiseMiddleware/</</</<@resource://devtools/client/debugger/new/src/actions/utils/middleware/promise.js:46:79
01:14:12     INFO - promiseMiddleware/</</<@resource://devtools/client/debugger/new/src/actions/utils/middleware/promise.js:46:55
01:14:12     INFO - Async*promiseMiddleware/</<@resource://devtools/client/debugger/new/src/actions/utils/middleware/promise.js:46:41
01:14:12     INFO - thunk/</</<@resource://devtools/client/debugger/new/src/actions/utils/middleware/thunk.js:21:100
01:14:12     INFO - dispatch@resource://devtools/client/shared/vendor/redux.js:755:18
01:14:12     INFO - fetchScopes/<@resource://devtools/client/debugger/new/src/actions/pause/fetchScopes.js:27:20
01:14:12     INFO - async*thunk/</</<@resource://devtools/client/debugger/new/src/actions/utils/middleware/thunk.js:21:45
01:14:12     INFO - dispatch@resource://devtools/client/shared/vendor/redux.js:755:18
01:14:12     INFO - paused/<@resource://devtools/client/debugger/new/src/actions/pause/paused.js:84:11
01:14:12     INFO - async*thunk/</</<@resource://devtools/client/debugger/new/src/actions/utils/middleware/thunk.js:21:45
01:14:12     INFO - bindActionCreator/<@resource://devtools/client/shared/vendor/redux.js:644:12
01:14:12     INFO - paused@resource://devtools/client/debugger/new/src/client/firefox/events.js:75:5
01:14:12     INFO - async*eventSource/proto.emit@resource://devtools/shared/client/event-source.js:128:9
01:14:12     INFO - _onThreadState@resource://devtools/shared/client/thread-client.js:694:35
01:14:12     INFO - onPacket@resource://devtools/shared/client/debugger-client.js:812:38
01:14:12     INFO - send/<@resource://devtools/shared/transport/local-transport.js:64:11
01:14:12     INFO - exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14
01:14:12     INFO - DevToolsUtils.executeSoon*exports.executeSoon@resource://devtools/shared/DevToolsUtils.js:57:21
01:14:12     INFO - send@resource://devtools/shared/transport/local-transport.js:58:7
01:14:12     INFO - send@resource://devtools/server/main.js:1031:5
01:14:12     INFO - receiveMessage@resource://devtools/shared/transport/child-transport.js:66:5
01:14:12     INFO - MessageListener.receiveMessage*_addListener@resource://devtools/shared/transport/child-transport.js:40:5
01:14:12     INFO - ready@resource://devtools/shared/transport/child-transport.js:57:5
01:14:12     INFO - connectToFrame/</onActorCreated<@resource://devtools/server/main.js:738:9
01:14:12     INFO - exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14
01:14:12     INFO - MessageListener.receiveMessage*trackMessageManager@resource://devtools/server/main.js:620:11
01:14:12     INFO - connectToFrame/<@resource://devtools/server/main.js:833:7
01:14:12     INFO - connectToFrame@resource://devtools/server/main.js:609:12
01:14:12     INFO - connect@resource://devtools/server/actors/targets/frame-proxy.js:57:21
01:14:12     INFO - async*BrowserTabList.prototype._getActorForBrowser@resource://devtools/server/actors/webbrowser.js:313:10
01:14:12     INFO - BrowserTabList.prototype.getTab@resource://devtools/server/actors/webbrowser.js:351:16
01:14:12     INFO - onGetTab@resource://devtools/server/actors/root.js:345:27
01:14:12     INFO - Async*onPacket@resource://devtools/server/main.js:1324:15
01:14:12     INFO - send/<@resource://devtools/shared/transport/local-transport.js:64:11
01:14:12     INFO - exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14
01:14:12     INFO - DevToolsUtils.executeSoon*exports.executeSoon@resource://devtools/shared/DevToolsUtils.js:57:21
01:14:12     INFO - send@resource://devtools/shared/transport/local-transport.js:58:7
01:14:12     INFO - send@resource://devtools/shared/protocol.js:1391:9
01:14:12     INFO - request@resource://devtools/shared/protocol.js:1409:5
01:14:12     INFO - generateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol.js:1531:14
01:14:12     INFO - getTab@resource://devtools/shared/fronts/root.js:210:12
01:14:12     INFO - async*getTab@resource://devtools/shared/client/debugger-client.js:348:12
01:14:12     INFO - createTargetForTab@resource://devtools/client/framework/target.js:90:28
01:14:12     INFO - async*forTab@resource://devtools/client/framework/target.js:39:21
01:14:12     INFO - async*attachDebugger@chrome://mochitests/content/browser/devtools/client/debugger/new/test/mochitest/head.js:77:22
01:14:12     INFO - async*test@chrome://mochitests/content/browser/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-02.js:15:23
01:14:12     INFO - async*Tester_execTest@chrome://mochikit/content/browser-test.js:1133:9
01:14:12     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:991:9
01:14:12     INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:803:59
01:14:12     INFO - Rejection date: Sun Dec 16 2018 01:14:11 GMT-0800 (Pacific Standard Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 257
01:14:12     INFO - Stack trace:
01:14:12     INFO - resource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:257
01:14:12     INFO - chrome://mochikit/content/browser-test.js:nextTest:741
01:14:12     INFO - chrome://mochikit/content/browser-test.js:testScope/test_finish/<:1404
01:14:12     INFO - chrome://mochikit/content/browser-test.js:run:1341
01:14:12     INFO - GECKO(2144) | MEMORY STAT | vsize 5082MB | residentFast 996MB | heapAllocated 166MB
01:14:12     INFO - TEST-OK | devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-02.js | took 16896ms
Brian, this looks like it's in your neighborhood, want to take a look?
Flags: needinfo?(bhackett1024)
Attached patch timeout patchSplinter Review
Hmm, the failure from bug 801304 is different from the NS_ERROR_NOT_INITIALIZED failure.  AFAICT the NS_ERROR_NOT_INITIALIZED crash started with the merge.  This patch takes care of the crash which happened on the retrigger for bug 801304 and several of the crashes in following pushes.  When processing a middleman call we were calling objc_lookUpClass in some situations, and if that triggers an unhandled recording divergence then we can hang or crash.  This patch keeps track of the classes of interest in state initialized early on, so that we don't need to call objc_lookUpClass at problematic points.  I don't known if this will fix the NS_ERROR_NOT_INITIALIZED problem, however.
Assignee: nobody → bhackett1024
Flags: needinfo?(bhackett1024)
Attachment #9032466 - Flags: review?(lsmyth)
Attachment #9032466 - Flags: review?(lsmyth) → review+
Logan, Brian can we add checkin needed or is there something else you need to add?
Flags: needinfo?(bhackett1024)
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/868238eb12aa
Avoid calling objc_lookUpClass when processing middleman calls, r=lsmyth.
https://hg.mozilla.org/mozilla-central/rev/868238eb12aa
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 66
Flags: needinfo?(bhackett1024)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: