Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RangeError: Maximum call stack size exceeded #6269

Closed
cagcak opened this issue Jul 6, 2021 · 5 comments
Closed

RangeError: Maximum call stack size exceeded #6269

cagcak opened this issue Jul 6, 2021 · 5 comments

Comments

@cagcak
Copy link

cagcak commented Jul 6, 2021

Default incremental build option existence causes infinite-loop on build

Current Behavior

Broken build app after migration from 10.4.4 -> 11.6.3 -> latest (12.5.6)

Expected Behavior

Unbroken build stage on default "targetDependencies" options migrated by migration.json

{
      "version": "12.5.0-beta.1",
      "description": "Rename the workspace-schematic script into workspace-generator script",
      "factory": "./src/migrations/update-12-5-0/add-target-dependencies",
      "cli": "nx",
      "package": "@nrwl/workspace",
      "name": "add-target-dependencies"
}

Steps to reproduce

nx.json

{
  "npmScope": "my-project",
  "affected": {
    "defaultBase": "master"
  },
  "implicitDependencies": {
    "angular.json": "*",
    "package.json": {
      "dependencies": "*",
      "devDependencies": "*"
    },
    "tsconfig.base.json": "*",
    "tslint.json": "*",
    ".eslintrc.json": "*",
    "nx.json": "*"
  },
  "tasksRunnerOptions": {
    "default": {
      "runner": "@nrwl/workspace/tasks-runners/default",
      "options": {
        "cacheableOperations": ["build", "lint", "test", "e2e"]
      }
    }
  },
  "projects": {
    "lib1": {
      "tags": []
    },
    "lib2": {
      "tags": []
    },
    "app1": {
      "tags": []
    },
    "app2": {
      "tags": []
    }
  },
  "targetDependencies": {
    "build": [
      {
        "target": "build",
        "projects": "dependencies"
      }
    ]
  }
}
  • above configuration fails on infinite-loop of addTasksForProjectDependencyConfig method
  • no error appears when targetDependencies removed completely

Failure Logs

(node:46142) UnhandledPromiseRejectionWarning: RangeError: Maximum call stack size exceeded
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:145:44)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
    at addTasksForProjectDependencyConfig (/my-project/node_modules/@nrwl/workspace/src/tasks-runner/run-command.js:176:21)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:46142) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:46142) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Done in 0.82s.

Environment

$ nx report

>  NX  Report complete - copy this into the issue template

  Node : 14.16.1
  OS   : linux x64
  yarn : 1.22.5
  
  nx : Not Found
  @nrwl/angular : 12.5.6
  @nrwl/cli : 12.5.6
  @nrwl/cypress : 12.5.6
  @nrwl/devkit : 12.5.6
  @nrwl/eslint-plugin-nx : Not Found
  @nrwl/express : Not Found
  @nrwl/jest : 12.5.6
  @nrwl/linter : 12.5.6
  @nrwl/nest : Not Found
  @nrwl/next : Not Found
  @nrwl/node : Not Found
  @nrwl/react : Not Found
  @nrwl/schematics : Not Found
  @nrwl/tao : 12.5.6
  @nrwl/web : Not Found
  @nrwl/workspace : 12.5.6
  @nrwl/storybook : 12.5.6
  @nrwl/gatsby : Not Found
  typescript : 4.2.4

Done in 0.27s.

Possible relations:

#4976, #6128, #6214 (comment)

@leosvelperez leosvelperez added the scope: core core nx functionality label Jul 7, 2021
@leosvelperez
Copy link
Member

Thanks for reporting this!

Could you please try the latest version (12.5.7) and see if this is still an issue? It should have been fixed there.

@leosvelperez leosvelperez added the blocked: retry with latest Retry with latest release or head. label Jul 7, 2021
@cagcak
Copy link
Author

cagcak commented Jul 7, 2021

Nope, still continues. Here is the console output

cagcak@compan:~/code/my-project$ yarn nx migrate @nrwl/workspace@latest
yarn run v1.22.5
$ nx migrate @nrwl/workspace@latest
Fetching meta data about packages.
It may take a few minutes.
Fetching @nrwl/workspace@latest
Fetching @nrwl/workspace@12.5.7

>  NX  The migrate command has run successfully.

- package.json has been updated
- there are no migrations to run, so migrations.json has not been created.

>  NX  Next steps:

- Make sure package.json changes make sense and then run 'yarn'
- To learn more go to https://nx.dev/latest/core-concepts/updating-nx
- You may run "nx connect-to-nx-cloud" to get faster builds, Github integration, and more. Check out https://nx.app
Done in 13.16s.
cagcak@compan:~/code/my-project$ yarn
yarn install v1.22.5
warning package.json: No license field
$ npx only-allow yarn
npx: installed 25 in 2.453s
warning bss-ui@0.0.0: No license field
[1/5] Validating package.json...
warning bss-ui@0.0.0: No license field
[2/5] Resolving packages...
success Already up-to-date.
$ node ./decorate-angular-cli.js && ngcc --properties es2015 browser module main

>  NX  Angular CLI has been decorated to enable computation caching.
Compiling @angular/core : es2015 as esm2015
...
Compiling @angular/core/testing : main as umd
...
Compiling @angular/router/testing : main as umd
Compiling @angular/common/http/testing : main as umd
Error: Error on worker #4: RangeError: Maximum call stack size exceeded
    at resolveNameHelper (/home/cagcak/code/my-project/node_modules/typescript/lib/typescript.js:45305:35)
    at resolveName (/home/cagcak/code/my-project/node_modules/typescript/lib/typescript.js:45303:20)
    at resolveEntityName (/home/cagcak/code/my-project/node_modules/typescript/lib/typescript.js:46585:42)
    at getSymbolOfNameOrPropertyAccessExpression (/home/cagcak/code/my-project/node_modules/typescript/lib/typescript.js:78611:28)
    at getSymbolAtLocation (/home/cagcak/code/my-project/node_modules/typescript/lib/typescript.js:78680:28)
    at Object.getSymbolAtLocation (/home/cagcak/code/my-project/node_modules/typescript/lib/typescript.js:44145:31)
    at UmdReflectionHost.TypeScriptReflectionHost.getDeclarationOfIdentifier (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/src/ngtsc/reflection/src/typescript.js:152:39)
    at UmdReflectionHost.Esm2015ReflectionHost.getDeclarationOfIdentifier (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/host/esm2015_host.js:268:80)
    at UmdReflectionHost.Esm5ReflectionHost.getDeclarationOfIdentifier (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/host/esm5_host.js:82:75)
    at UmdReflectionHost.getDeclarationOfIdentifier (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/host/umd_host.js:60:80)
    at ClusterMaster.onWorkerMessage (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:195:27)
    at /home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:55:95
    at ClusterMaster.<anonymous> (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:293:57)
    at step (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:143:27)
    at Object.next (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:124:57)
    at /home/cagcak/code/my-project/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:113:16)
    at EventEmitter.<anonymous> (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/master.js:287:32)
    at EventEmitter.emit (events.js:315:20)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
(node:45097) UnhandledPromiseRejectionWarning: Error: write EPIPE
    at process.target._send (internal/child_process.js:832:20)
    at process.target.send (internal/child_process.js:703:19)
    at /home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/utils.js:51:21
    at new Promise (<anonymous>)
    at Object.sendMessageToMaster (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/utils.js:46:16)
    at /home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/worker.js:104:66
    at step (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:143:27)
    at Object.throw (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:124:57)
    at rejected (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:115:69)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:45097) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:45097) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Command failed: yarn
/home/cagcak/code/my-project/node_modules/@nrwl/workspace/node_modules/yargs/build/lib/yargs.js:1132
                throw err;
                ^

Error: Command failed: /tmp/tmp-44919-Avz87dmEQWhm/node_modules/.bin/tao migrate --run-migrations=migrations.json
    at checkExecSyncError (child_process.js:616:11)
    at Object.execSync (child_process.js:652:15)
    at Object.handler (/home/cagcak/code/my-project/node_modules/@nrwl/workspace/src/command-line/nx-commands.js:89:25)
    at Object.runCommand (/home/cagcak/code/my-project/node_modules/@nrwl/workspace/node_modules/yargs/build/lib/command.js:196:48)
    at Object.parseArgs [as _parseArgs] (/home/cagcak/code/my-project/node_modules/@nrwl/workspace/node_modules/yargs/build/lib/yargs.js:1043:55)
    at Object.get [as argv] (/home/cagcak/code/my-project/node_modules/@nrwl/workspace/node_modules/yargs/build/lib/yargs.js:986:25)
    at Object.initLocal (/home/cagcak/code/my-project/node_modules/@nrwl/cli/lib/init-local.js:25:79)
    at Object.<anonymous> (/home/cagcak/code/my-project/node_modules/@nrwl/cli/bin/nx.js:43:18)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 44939,
  stdout: null,
  stderr: null
}
(node:45104) UnhandledPromiseRejectionWarning: Error: write EPIPE
    at process.target._send (internal/child_process.js:832:20)
    at process.target.send (internal/child_process.js:703:19)
    at /home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/utils.js:51:21
    at new Promise (<anonymous>)
    at Object.sendMessageToMaster (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/utils.js:46:16)
    at /home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/worker.js:104:66
    at step (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:143:27)
    at Object.throw (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:124:57)
    at rejected (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:115:69)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:45104) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:45104) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
cagcak@compan:~/code/my-project$ (node:45111) UnhandledPromiseRejectionWarning: Error: write EPIPE
    at process.target._send (internal/child_process.js:832:20)
    at process.target.send (internal/child_process.js:703:19)
    at /home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/utils.js:51:21
    at new Promise (<anonymous>)
    at Object.sendMessageToMaster (/home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/utils.js:46:16)
    at /home/cagcak/code/my-project/node_modules/@angular/compiler-cli/ngcc/src/execution/cluster/worker.js:104:66
    at step (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:143:27)
    at Object.throw (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:124:57)
    at rejected (/home/cagcak/code/my-project/node_modules/tslib/tslib.js:115:69)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:45111) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:45111) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
$ nx report

>  NX  Report complete - copy this into the issue template

  Node : 14.16.1
  OS   : linux x64
  yarn : 1.22.5
  
  nx : Not Found
  @nrwl/angular : 12.5.7
  @nrwl/cli : 12.5.7
  @nrwl/cypress : 12.5.7
  @nrwl/devkit : 12.5.7
  @nrwl/eslint-plugin-nx : Not Found
  @nrwl/express : Not Found
  @nrwl/jest : 12.5.7
  @nrwl/linter : 12.5.7
  @nrwl/nest : Not Found
  @nrwl/next : Not Found
  @nrwl/node : Not Found
  @nrwl/react : Not Found
  @nrwl/schematics : Not Found
  @nrwl/tao : 12.5.7
  @nrwl/web : Not Found
  @nrwl/workspace : 12.5.7
  @nrwl/storybook : 12.5.7
  @nrwl/gatsby : Not Found
  typescript : 4.2.4

Done in 0.28s.

@leosvelperez
Copy link
Member

I see, could you please provide a minimal repro of the issue?

@leosvelperez leosvelperez added blocked: repro needed and removed blocked: retry with latest Retry with latest release or head. labels Jul 7, 2021
@cagcak
Copy link
Author

cagcak commented Jul 8, 2021

I discovered the following dev dependency package causes the error: ngneat/spectator/releases/tag/v5.6.0. removing it or upgrading to its latest version resolved the issue. Therefore I am closing it, thanks for your support @leosvelperez

@cagcak cagcak closed this as completed Jul 8, 2021
@github-actions
Copy link

This issue has been closed for more than 30 days. If this issue is still occuring, please open a new issue with more recent context.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants