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)

defect
Not set
normal

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 *************************
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
Component: Developer Tools → Developer Tools: Console
Priority: -- → P1
Whiteboard: [console-html]
Version: 47 Branch → Trunk
This looks like a require path error - it is probably related to Bug 1402394
Blocks: 1402394
Whiteboard: [console-html] → [console-html] [triage]
Confirmed that backing out Bug 1402394 fixes the problem for me. But other folks in the devtools channel are not seeing this problem locally.
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)
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)
Priority: P1 → --
Whiteboard: [console-html] [triage]
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)
(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
Blocks: clobber
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
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.