question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

On Node 15, errors during build are not recoverable

See original GitHub issue

On Node 15, something that causes a build error (such as a syntax error in hbs or js) causes ember s to exit 1 when a request is made.

For example, you type part of a line of code, your editor saves, the build error displays in your log, livereload is triggered and a request is made, then the server exits 1.

Output
file changed components/selected-item.hbs.hbs
Build Error (broccoli-persistent-filter:Babel > [Babel: my-app]) in my-app/components/my-component.js

/Users/katie/dev/my-app/my-app/components/my-component.js: Parse error on line 79:
...           @extra={{(hash driveTime=@dri
-----------------------^
Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR'


Stack Trace and Error Report: /var/folders/wq/_yzzcnwn3wlfm5x_6gg5d8vm0000gn/T/error.dump.64eb8cc3228b3c62aa5d1e0a7a89a0e7.log
node:internal/process/promises:218
          triggerUncaughtException(err, true /* fromPromise */);
          ^

BuildError: /Users/katie/dev/my-app/my-app/components/my-component.js: Parse error on line 79:
...           @extra={{(hash driveTime=@dri
-----------------------^
Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR'
    at Parser.parseError (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:13397:15)
    at Parser.parse (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:13472:20)
    at parseWithoutProcessing (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:14657:26)
    at parse (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:14662:15)
    at preprocess (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:8885:35)
    at precompile (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:6103:38)
    at precompile (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:11500:37)
    at compileTemplate (/Users/katie/dev/my-app/node_modules/babel-plugin-htmlbars-inline-precompile/index.js:66:26)
    at PluginPass.CallExpression (/Users/katie/dev/my-app/node_modules/babel-plugin-htmlbars-inline-precompile/index.js:226:26)
    at newFn (/Users/katie/dev/my-app/node_modules/@babel/traverse/lib/visitors.js:175:21) {
  isBuilderError: true,
  isSilent: undefined,
  isCancellation: undefined,
  broccoliPayload: {
    originalError: Error: /Users/katie/dev/my-app/my-app/components/my-component.js: Parse error on line 79:
    ...           @extra={{(hash driveTime=@dri
    -----------------------^
    Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR'
        at Parser.parseError (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:13397:15)
        at Parser.parse (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:13472:20)
        at parseWithoutProcessing (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:14657:26)
        at parse (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:14662:15)
        at preprocess (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:8885:35)
        at precompile (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:6103:38)
        at precompile (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:11500:37)
        at compileTemplate (/Users/katie/dev/my-app/node_modules/babel-plugin-htmlbars-inline-precompile/index.js:66:26)
        at PluginPass.CallExpression (/Users/katie/dev/my-app/node_modules/babel-plugin-htmlbars-inline-precompile/index.js:226:26)
        at newFn (/Users/katie/dev/my-app/node_modules/@babel/traverse/lib/visitors.js:175:21) {
      code: 'BABEL_TRANSFORM_ERROR',
      file: 'my-app/components/my-component.js',
      treeDir: '/var/folders/wq/_yzzcnwn3wlfm5x_6gg5d8vm0000gn/T/broccoli-22626Xituejlbzweg/out-549-analyzer_ember_auto_import_analyzer'
    },
    originalMessage: '/Users/katie/dev/my-app/my-app/components/my-component.js: Parse error on line 79:\n' +
      '...           @extra={{(hash driveTime=@dri\n' +
      '-----------------------^\n' +
      "Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR'",
    nodeId: 550,
    nodeLabel: 'broccoli-persistent-filter:Babel > [Babel: my-app] (Babel: my-app)',
    nodeName: 'broccoli-persistent-filter:Babel > [Babel: my-app]',
    nodeAnnotation: 'Babel: my-app',
    instantiationStack: '    at Babel.Plugin (/Users/katie/dev/my-app/node_modules/broccoli-plugin/index.js:7:31)\n' +
      '    at Babel.Filter [as constructor] (/Users/katie/dev/my-app/node_modules/broccoli-persistent-filter/index.js:87:10)\n' +
      '    at new Babel (/Users/katie/dev/my-app/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/index.js:58:10)\n' +
      '    at Class.transpileTree (/Users/katie/dev/my-app/node_modules/ember-cli-babel/index.js:63:16)\n' +
      '    at Object.toTree (/Users/katie/dev/my-app/node_modules/ember-cli-babel/index.js:73:30)\n' +
      '    at /Users/katie/dev/my-app/node_modules/ember-cli-preprocess-registry/preprocessors.js:188:26\n' +
      '    at Array.forEach (<anonymous>)\n' +
      '    at processPlugins (/Users/katie/dev/my-app/node_modules/ember-cli-preprocess-registry/preprocessors.js:186:11)\n' +
      '    at module.exports.preprocessJs (/Users/katie/dev/my-app/node_modules/ember-cli-preprocess-registry/preprocessors.js:179:10)\n' +
      '    at DefaultPackager.processJavascript (/Users/katie/dev/my-app/node_modules/ember-cli/lib/broccoli/default-packager.js:503:29)',
    location: {
      file: 'my-app/components/my-component.js',
      treeDir: '/var/folders/wq/_yzzcnwn3wlfm5x_6gg5d8vm0000gn/T/broccoli-22626Xituejlbzweg/out-549-analyzer_ember_auto_import_analyzer',
      line: undefined,
      column: undefined
    },
    error: {
      message: '/Users/katie/dev/my-app/my-app/components/my-component.js: Parse error on line 79:\n' +
        '...           @extra={{(hash driveTime=@dri\n' +
        '-----------------------^\n' +
        "Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR'",
      stack: 'Error: /Users/katie/dev/my-app/my-app/components/my-component.js: Parse error on line 79:\n' +
        '...           @extra={{(hash driveTime=@dri\n' +
        '-----------------------^\n' +
        "Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR'\n" +
        '    at Parser.parseError (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:13397:15)\n' +
        '    at Parser.parse (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:13472:20)\n' +
        '    at parseWithoutProcessing (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:14657:26)\n' +
        '    at parse (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:14662:15)\n' +
        '    at preprocess (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:8885:35)\n' +
        '    at precompile (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:6103:38)\n' +
        '    at precompile (/Users/katie/dev/my-app/node_modules/ember-source/dist/ember-template-compiler.js:11500:37)\n' +
        '    at compileTemplate (/Users/katie/dev/my-app/node_modules/babel-plugin-htmlbars-inline-precompile/index.js:66:26)\n' +
        '    at PluginPass.CallExpression (/Users/katie/dev/my-app/node_modules/babel-plugin-htmlbars-inline-precompile/index.js:226:26)\n' +
        '    at newFn (/Users/katie/dev/my-app/node_modules/@babel/traverse/lib/visitors.js:175:21)',
      errorType: 'Build Error',
      codeFrame: '/Users/katie/dev/my-app/my-app/components/my-component.js: Parse error on line 79:\n' +
        '...           @extra={{(hash driveTime=@dri\n' +
        '-----------------------^\n' +
        "Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR'",
      location: {
        file: 'my-app/components/my-component.js',
        treeDir: '/var/folders/wq/_yzzcnwn3wlfm5x_6gg5d8vm0000gn/T/broccoli-22626Xituejlbzweg/out-549-analyzer_ember_auto_import_analyzer',
        line: undefined,
        column: undefined
      }
    },
    broccoliNode: {
      nodeName: 'broccoli-persistent-filter:Babel > [Babel: my-app]',
      nodeAnnotation: 'Babel: my-app',
      instantiationStack: '    at Babel.Plugin (/Users/katie/dev/my-app/node_modules/broccoli-plugin/index.js:7:31)\n' +
        '    at Babel.Filter [as constructor] (/Users/katie/dev/my-app/node_modules/broccoli-persistent-filter/index.js:87:10)\n' +
        '    at new Babel (/Users/katie/dev/my-app/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/index.js:58:10)\n' +
        '    at Class.transpileTree (/Users/katie/dev/my-app/node_modules/ember-cli-babel/index.js:63:16)\n' +
        '    at Object.toTree (/Users/katie/dev/my-app/node_modules/ember-cli-babel/index.js:73:30)\n' +
        '    at /Users/katie/dev/my-app/node_modules/ember-cli-preprocess-registry/preprocessors.js:188:26\n' +
        '    at Array.forEach (<anonymous>)\n' +
        '    at processPlugins (/Users/katie/dev/my-app/node_modules/ember-cli-preprocess-registry/preprocessors.js:186:11)\n' +
        '    at module.exports.preprocessJs (/Users/katie/dev/my-app/node_modules/ember-cli-preprocess-registry/preprocessors.js:179:10)\n' +
        '    at DefaultPackager.processJavascript (/Users/katie/dev/my-app/node_modules/ember-cli/lib/broccoli/default-packager.js:503:29)'
    },
    versions: { 'broccoli-builder': '3.4.2', node: 'v15.2.1' }
  }
}

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:4
  • Comments:18 (9 by maintainers)

github_iconTop GitHub Comments

4reactions
bardzusnycommented, Feb 25, 2021

For those who must use Node 15 already (hello M1 Macs), a workaround is adding a global exception handler:

process.on('uncaughtException', function(err) {
  console.error(err.stack);
  console.log('Node NOT Exiting...');
});

to your ember-cli-build.js (or any other file ran through Node on build).

3reactions
bertdeblockcommented, Aug 11, 2022
Read more comments on GitHub >

github_iconTop Results From Across the Web

Error during Node startup/recovery in progress. Not yet ready ...
The reason for the "Error: Node startup/recovery in progress." is that the IISNode older version has the bug which was crashing when the ......
Read more >
A Comprehensive Guide To Error Handling In Node.js
Don't try to recover from such errors! Use an error monitoring service, such as Honeybadger, to capture and analyze your errors. This can...
Read more >
15 Common Error Codes in Node.js and How to Fix Them
Therefore, we've compiled this list of 15 common Node.js errors along with one or more strategies to follow to fix each one. While...
Read more >
Errors | Node.js v19.3.0 Documentation
System errors triggered by underlying operating system constraints such as attempting to open a file that does not exist or attempting to send...
Read more >
Acronis Cyber Protect 15: Backup fails with "SocketError: error ...
Symptoms After reinstallation of Storage Node and Agent to Update 2 (Build 26981), backup to a managed location fails with the following ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found