Closed
Bug 1404847
Opened 7 years ago
Closed 7 years ago
Clobber was required after renaming js files in 941327d5a29b
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox57 unaffected, firefox58 affected)
RESOLVED
WONTFIX
Tracking | Status | |
---|---|---|
firefox57 | --- | unaffected |
firefox58 | --- | affected |
People
(Reporter: alwu, Unassigned)
References
(Blocks 2 open bugs)
Details
Issue is on Nightly 58.0a1 (2017-10-02) and OSX 10.11.4.
Once open the dev tool, would see the following error.
---
WebConsolePanel open failed. undefined: Module `resource://devtools/client/shared/components/Frame.js` is not found at resource://devtools/client/shared/components/Frame.js
console.error:
WebConsolePanel open failed. undefined: Module `resource://devtools/client/shared/components/Frame.js` is not found at resource://devtools/client/shared/components/Frame.js
Message: Module `resource://devtools/client/shared/components/Frame.js` is not found at resource://devtools/client/shared/components/Frame.js
Stack:
requireHook@resource://devtools/client/shared/browser-loader.js:132:14
@resource://devtools/client/webconsole/new-console-output/components/message.js:23:33
requireHook@resource://devtools/client/shared/browser-loader.js:132:14
@resource://devtools/client/webconsole/new-console-output/components/message-types/console-api-call.js:19:31
requireHook@resource://devtools/client/shared/browser-loader.js:132:14
@resource://devtools/client/webconsole/new-console-output/components/message-container.js:21:22
requireHook@resource://devtools/client/shared/browser-loader.js:132:14
@resource://devtools/client/webconsole/new-console-output/components/console-output.js:22:40
requireHook@resource://devtools/client/shared/browser-loader.js:132:14
@resource://devtools/client/webconsole/new-console-output/new-console-output-wrapper.js:16:43
requireHook@resource://devtools/client/shared/browser-loader.js:132:14
this.NewConsoleOutput@resource://devtools/client/webconsole/new-console-output/main.js:17:33
_initUI@resource://devtools/client/webconsole/new-webconsole.js:229:29
init@resource://devtools/client/webconsole/new-webconsole.js:80:5
WC_init@resource://devtools/client/webconsole/hudservice.js:369:12
HS_openWebConsole@resource://devtools/client/webconsole/hudservice.js:98:12
open/<@resource://devtools/client/webconsole/panel.js:79:16
process@resource://gre/modules/Promise-backend.js:922:23
walkerLoop@resource://gre/modules/Promise-backend.js:806:7
Promise*scheduleWalkerLoop@resource://gre/modules/Promise-backend.js:739:11
schedulePromise@resource://gre/modules/Promise-backend.js:770:7
completePromise@resource://gre/modules/Promise-backend.js:707:7
promise callback*completePromise@resource://gre/modules/Promise-backend.js:698:7
process@resource://gre/modules/Promise-backend.js:958:5
walkerLoop@resource://gre/modules/Promise-backend.js:806:7
Promise*scheduleWalkerLoop@resource://gre/modules/Promise-backend.js:739:11
schedulePromise@resource://gre/modules/Promise-backend.js:770:7
completePromise@resource://gre/modules/Promise-backend.js:707:7
open/<@resource://devtools/client/webconsole/panel.js:57:9
EventListener.handleEvent*open@resource://devtools/client/webconsole/panel.js:56:7
onLoad@resource://devtools/client/framework/toolbox.js:1665:19
*************************
A coding exception was thrown in a Promise resolution callback.
See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise
Full message: TypeError: panel is undefined
Full stack: onLoad/<@resource://devtools/shared/base-loader.js -> resource://devtools/client/framework/toolbox.js:1681:13
process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
promise callback*completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:698:7
process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:958:5
walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:739:11
schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:770:7
completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:707:7
open/<@resource://devtools/shared/base-loader.js -> resource://devtools/client/webconsole/panel.js:57:9
EventListener.handleEvent*open@resource://devtools/shared/base-loader.js -> resource://devtools/client/webconsole/panel.js:56:7
onLoad@resource://devtools/shared/base-loader.js -> resource://devtools/client/framework/toolbox.js:1665:19
*************************
Comment 1•7 years ago
|
||
I can't reproduce this on Nightly, but I think that's because I'm on 58.0a1 (2017-09-29) and not being offered another update. I do see this on a local build though, I'm not sure how the integration tests are passing
status-firefox57:
--- → unaffected
status-firefox58:
--- → affected
Component: Developer Tools → Developer Tools: Console
Priority: -- → P1
Whiteboard: [console-html]
Version: 47 Branch → Trunk
Comment 2•7 years ago
|
||
This looks like a require path error - it is probably related to Bug 1402394
Blocks: 1402394
Updated•7 years ago
|
Whiteboard: [console-html] → [console-html] [triage]
Comment 3•7 years ago
|
||
Confirmed that backing out Bug 1402394 fixes the problem for me. But other folks in the devtools channel are not seeing this problem locally.
Comment 4•7 years ago
|
||
Alastor, just to double check - you are seeing this on a Nightly build and not a local build of mozilla-central? And if so, can you try running Nightly with the `-purgecaches` argument and see if it fixes the problem?
This was fixed for me locally with a clobber build - although I don't think that a clobber should have been required as a result of https://hg.mozilla.org/mozilla-central/rev/941327d5a29b
Flags: needinfo?(alwu)
Comment 5•7 years ago
|
||
Gregory, I can't find guidelines for when a clobber should be required but I don't think it should have been in this case - the changeset is only renaming some js files (https://hg.mozilla.org/mozilla-central/rev/941327d5a29b). Is that correct, or should we be clobbering in cases like this?
I confirmed that backing out 941327d5a29b locally allowed devtools to open again, as did a clobber.
Flags: needinfo?(gps)
Updated•7 years ago
|
Priority: P1 → --
Whiteboard: [console-html] [triage]
Reporter | ||
Comment 6•7 years ago
|
||
I use my own mozilla-central build, and `-purgecaches` doesn't help anymore.
However, after doing '$./mach clobber' again, the issue is gone! Thanks for help!
Flags: needinfo?(alwu)
Comment 7•7 years ago
|
||
(In reply to Alastor Wu [:alwu][please needinfo me][GMT+8] from comment #6)
> I use my own mozilla-central build, and `-purgecaches` doesn't help anymore.
>
> However, after doing '$./mach clobber' again, the issue is gone! Thanks for
> help!
No problem - moving this into the build module as per Comment 5
Component: Developer Tools: Console → Build Config
Product: Firefox → Core
Summary: WebConsolePanel open failed, TypeError: panel is undefined → Clobber was required after renaming js files in 941327d5a29b
Comment 8•7 years ago
|
||
I haven't looked at this in extreme detail. But my money is on a case-only rename. e.g. devtools/client/shared/components/splitter/draggable.js -> devtools/client/shared/components/splitter/Draggable.js, devtools/client/shared/components/tabs/tabs.css -> devtools/client/shared/components/tabs/Tabs.css, devtools/client/shared/components/frame.js -> devtools/client/shared/components/Frame.js.
Case-only renames are a bit dangerous because not all filesystems are case sensitive or case preserving. So when a case-only rename is encountered, it can wreck havoc on tools, like build systems.
There's not much we can do about case-only renames from the build system level. The best we can do is prevent them via a VCS hook. Bug 797962 tracks that.
I don't see much value in keeping this bug open (it would likely linger indefinitely). So marking resolved.
Blocks: 797962
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(gps)
Resolution: --- → WONTFIX
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•