Closed
Bug 1507936
Opened 6 years ago
Closed 6 years ago
build syntax errors are confusing
Categories
(DevTools :: Debugger, task, P3)
DevTools
Debugger
Tracking
(firefox70 fixed)
RESOLVED
FIXED
Firefox 70
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: jlast, Assigned: davidwalsh)
References
(Blocks 1 open bug)
Details
(Whiteboard: [debugger-mvp])
Attachments
(1 file)
When a debugger source has a syntax error the build output is pretty confusing...
It would be better if we catch the error and output a more useful exception.
> 0:02.09 Elapsed: 0.01s; From /Users/jlaster/src/moz/gecko-dev/objdir-frontend-artifacts/dist/bin/localization: Kept 0 existing; Added/updated 12; Removed 0 files and 0 directories.
> 0:02.11 /Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:2
> 0:02.11 pluginUnknown:"Unknown plugin $1 specified in $2 at $3, attempted to resolve relative to $4",pluginInvalidProperty:"Plugin $2 specified in $1 provided an invalid property of $3"}},function(e,t,r){"use strict";var n=r(16);e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},function(e,t,r){"use strict";e.exports=!r(27)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,r){"use strict";var n=r(21),i=r(231),s=r(154),a=Object.defineProperty;t.f=r(22)?Object.defineProperty:function(e,t,r){if(n(e),t=s(t,!0),n(r),i)try{return a(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(e[t]=r.value),e}},function(e,t,r){"use strict";function n(e){return null!=e&&s(e.length)&&!i(e)}var i=r(175),s=r(176);e.exports=n},function(e,t){"use strict";function r(e){return null!=e&&"object"==(void 0===e?"undefined":n(e))}var n="fu
> 0:02.11 SyntaxError: unknown: 'import' and 'export' may only appear at the top level (173:0)
> 0:02.11 171 | * @static
> 0:02.11 172 | */
> 0:02.11 > 173 | export function newSource(source: Source) {
> 0:02.11 | ^
> 0:02.11 174 | return async ({ dispatch }: ThunkArgs) => {
> 0:02.11 175 | await dispatch(newSources([source]));
> 0:02.11 176 | };
> 0:02.11 at t.J.raise (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:7:10099)
> 0:02.11 at t.z.parseStatement (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:5:29335)
> 0:02.11 at t.parseStatement (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:8:3541)
> 0:02.11 at t.z.parseBlockBody (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:6:4425)
> 0:02.11 at t.z.parseBlock (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:6:4035)
> 0:02.12 at te.parseFunctionBody (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:7:7050)
> 0:02.12 at t.parseFunctionBody (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:8:3312)
> 0:02.12 at t.z.parseFunction (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:6:6362)
> 0:02.12 at t.z.parseFunctionStatement (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:6:441)
> 0:02.12 at t.z.parseStatement (/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/babel.js:5:28567)
> 0:02.12 Failed with Command '[u'/Users/jlaster/.mozbuild/node/bin/node', '/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/build/copy-module.js', '/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/src/actions/sources/blackbox.js', '/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/src/actions/sources/index.js', '/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/src/actions/sources/loadSourceText.js', '/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/src/actions/sources/newSources.js', '/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/src/actions/sources/prettyPrint.js', '/Users/jlaster/src/moz/gecko-dev/devtools/client/debugger/new/src/actions/sources/select.js']' returned non-zero exit status 1. Be sure to check that your mozconfig doesn't
> 0:02.12 have --disable-nodejs in it. If it does, try removing that line and
> 0:02.12 building again.
> 0:02.13 make[1]: *** [.deps/node.stub.stub] Error 1
> 0:02.13 make: *** [/Users/jlaster/src/moz/gecko-dev/objdir-frontend-artifacts/devtools/client/debugger/new/src/actions/sources/node.stub] Error 2
> 0:02.13 make: *** Waiting for unfinished jobs....
Reporter | ||
Updated•6 years ago
|
Priority: -- → P3
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
No longer blocks: dbg-node-build
Updated•6 years ago
|
Whiteboard: [debugger-reserve]
Assignee | ||
Comment 1•6 years ago
|
||
Jason: Do you have a specific pattern you’d like to see? This seems reasonable to me — it provides every bit of information we need to know what needs fixing.
Flags: needinfo?(jlaster)
Reporter | ||
Comment 2•6 years ago
|
||
Yep, should have had more information here:
- we should report which file failed as opposed to the list of files in the directory
- we should print the specific failure, in this case:
> 0:02.11 SyntaxError: unknown: 'import' and 'export' may only appear at the top level (173:0)
> 0:02.11 171 | * @static
> 0:02.11 172 | */
> 0:02.11 > 173 | export function newSource(source: Source) {
> 0:02.11 | ^
> 0:02.11 174 | return async ({ dispatch }: ThunkArgs) => {
> 0:02.11 175 | await dispatch(newSources([source]));
> 0:02.11 176 | };
We can do this by adding a try/catch in the build function which will tell us which file failed and printing the error message (i think).
Flags: needinfo?(jlaster)
Assignee | ||
Comment 3•6 years ago
|
||
Updated•6 years ago
|
Assignee: nobody → dwalsh
Status: NEW → ASSIGNED
Whiteboard: [debugger-reserve] → [debugger-mvp]
Pushed by dwalsh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/799bd24598d3
Provide information when node compilation fails r=jlast
Comment 5•6 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
status-firefox70:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 70
You need to log in
before you can comment on or make changes to this bug.
Description
•