nx icon indicating copy to clipboard operation
nx copied to clipboard

Problem with NX Daemon after update from 15.9.2 to 16.0.3

Open DLoT opened this issue 1 year ago • 8 comments

Current Behavior

After the update to 16.0.3 builds (also tests) sometimes fail with the message Unable to connect to the daemon process. with an error fatal: no path specified (see Failure Logs)

Expected Behavior

The build and test commands should work as expected

GitHub Repo

No response

Steps to Reproduce

  1. Update from nx version15.9.2 to 16.0.3
  2. Run nx reset
  3. Run nx run-many --all --target=build --skip-nx-cache

Nx Report

>  NX   Report complete - copy this into the issue template

   Node   : 18.13.0
   OS     : linux x64
   npm    : 8.19.3
   Hasher : Native

   nx                 : 16.0.3
   @nx/js             : 16.0.3
   @nx/jest           : 16.0.3
   @nx/linter         : 16.0.3
   @nx/workspace      : 16.0.3
   @nx/angular        : 16.0.3
   @nx/cypress        : 16.0.3
   @nx/devkit         : 16.0.3
   @nx/eslint-plugin  : 16.0.3
   @nx/nest           : 16.0.3
   @nx/node           : 16.0.3
   @nx/storybook      : 16.0.3
   @nrwl/tao          : 16.0.3
   @nx/webpack        : 16.0.3
   typescript         : 4.9.5
   ---------------------------------------
   Community plugins:
   @storybook/angular : 7.0.8

Failure Logs

➜  time node_modules/.bin/nx run-many --all --target=build --skip-nx-cache
 >  NX   Unable to connect to the daemon process.


   Messages from the log:
   [NX Daemon Server] - 2023-05-03T11:46:19.868Z - Established a connection. Number of open connections: 1
   [NX Daemon Server] - 2023-05-03T11:46:19.869Z - Established a connection. Number of open connections: 2
   [NX Daemon Server] - 2023-05-03T11:46:19.870Z - Closed a connection. Number of open connections: 1
   [NX Daemon Server] - 2023-05-03T11:46:19.872Z - [REQUEST]: Client Request for Project Graph Received
   fatal: no path specified
   [NX Daemon Server] - 2023-05-03T11:46:19.932Z - [REQUEST]: Updated file-hasher based on watched changes, recomputing project graph...
   [NX Daemon Server] - 2023-05-03T11:46:20.194Z - [REQUEST]: Responding to the client. project-graph
   [NX Daemon Server] - 2023-05-03T11:46:20.198Z - Time taken for 'total for creating and serializing project graph' 322.09956800192595ms
   [NX Daemon Server] - 2023-05-03T11:46:20.198Z - [WATCHER]: Subscribed to changes within: /home/user
   [NX Daemon Server] - 2023-05-03T11:46:20.205Z - Done responding to the client project-graph
   [NX Daemon Server] - 2023-05-03T11:46:21.788Z - [REQUEST]: Responding to the client. recordOutputsHash
   [NX Daemon Server] - 2023-05-03T11:46:21.789Z - Done responding to the client recordOutputsHash
   [NX Daemon Server] - 2023-05-03T11:46:21.923Z - [REQUEST]: Responding to the client. recordOutputsHash
   [NX Daemon Server] - 2023-05-03T11:46:21.923Z - Done responding to the client recordOutputsHash
   [NX Daemon Server] - 2023-05-03T11:46:21.952Z - [REQUEST]: Responding to the client. recordOutputsHash
   [NX Daemon Server] - 2023-05-03T11:46:21.952Z - Done responding to the client recordOutputsHash
   [NX Daemon Server] - 2023-05-03T11:46:23.633Z - [WATCHER]: Unsubscribed from changes within: /home/user (sources)
   [NX Daemon Server] - 2023-05-03T11:46:23.634Z - [WATCHER]: Unsubscribed from changes within: /home/user (server-process.json)
   [NX Daemon Server] - 2023-05-03T11:46:23.634Z - Server stopped because: "Stopping the daemon the set of ignored files changed."



   More information: /home/user/node_modules/.cache/nx/d/daemon.log
   Pass --verbose to see the stacktrace.

node_modules/.bin/nx run-many --all --target=build --skip-nx-cache  10.32s user 1.49s system 287% cpu 4.109 total

Additional Information

It seems that the error happens more often (not always) after a nx reset

Starting the command mulltiple times helps and after a complete run, consecutive run are successful

DLoT avatar May 03 '23 12:05 DLoT

We may have found the culprit...

After seen this log in the Daemon Server error stack... [NX Daemon Server] - 2023-05-16T08:02:29.766Z - Server stopped because: "Stopping the daemon the set of ignored files changed."

We figured that it may be the prisma client's because they are generated into the node_modules folder. We are also generating open-api clients. The output is written into a folder in apps or libs.

Removing the depensOn declaration for both from the project.json seems to prevent the Nx Daemon Server from crashing.

Can someone confirm that the daemon depends on files not changing in neither node_modules nor apps and libs?

DLoT avatar May 16 '23 11:05 DLoT

I'm having the same issue (after moving to 16.x):

fatal: no path specified

It often (but not 100% of the time) seems to be right after a watcher line:

[WATCHER]: path/to/some/directory was created or restored
fatal: no path specified

With the @nx/js:node executor, this is not super convenient if the root cause is files changing, as it is used for the serve task... 😅 Any time a file changes, the process exits:

>  NX  File change detected. Restarting...

node:internal/errors:867
  const err = new Error(message);
              ^

Error: Command failed: taskkill /pid 16428 /T /F
ERROR: The process "16428" not found.

rraziel avatar Jun 16 '23 09:06 rraziel

I think I have a 3rd related issue w/ the error Watch error: Daemon closed the connection occurring after every git commit since upgrading to NX 16.

I'm not really sure how to debug since --verbose gives me no error stack or additional errors. I don't know how to access the logs from the process where the error is occurring.

I'm using executor @nx/js:node

kevinbeal avatar Jun 16 '23 15:06 kevinbeal

We have the same issue with 16.4.1. This seems to be related to @nx/node executor.

daemon-1.log

aslansky avatar Jun 30 '23 09:06 aslansky

Not sure but on my side it looks like a combination of the @nx/node executor and the Webstorm "Nx Console" plugin (on windows). When i disable the plugin and run it with the command, it runs correctly, but if i turn the plugin on again it closes the existing serve process started with @nx/node.

Kr0san89 avatar Jul 02 '23 20:07 Kr0san89

Have the same issues after upgrading nx to v16.x Hot reload of served node apps is broken every now and then. Always then have to restart the application and kill the processes manually, because they're still blocking the port.

MarcusElevait avatar Jul 05 '23 07:07 MarcusElevait

Have the same issue after upgrading nx to 16.4.0 even in a CI, though Nx Daemon should be disabled by default in a CI environment as described in the docs https://nx.dev/more-concepts/nx-daemon#turning-it-off

dimakuba avatar Jul 05 '23 07:07 dimakuba

16.5 fixes this issue for me

aslansky avatar Jul 06 '23 12:07 aslansky

We may have found the culprit...

After seen this log in the Daemon Server error stack... [NX Daemon Server] - 2023-05-16T08:02:29.766Z - Server stopped because: "Stopping the daemon the set of ignored files changed."

We figured that it may be the prisma client's because they are generated into the node_modules folder. We are also generating open-api clients. The output is written into a folder in apps or libs.

Removing the depensOn declaration for both from the project.json seems to prevent the Nx Daemon Server from crashing.

Can someone confirm that the daemon depends on files not changing in neither node_modules nor apps and libs?

I have also the same issue, did you @DLoT make sure that it was due to the open-api client and/or prisma file generation?

kasir-barati avatar Sep 05 '23 06:09 kasir-barati

@kasir-barati yes after removing the generation from the project.json configurations the error went away. We are doing the generation beforehand now.

DLoT avatar Sep 25 '23 09:09 DLoT

I can easily reproduce it with these targets:

{
  "targets": {
    "echo": {
      "inputs": [],
      "outputs": ["{projectRoot}"],
      "dependsOn": ["non-cacheable-echo"],
      "executor": "nx:run-commands",
      "options": {
        "command": "true"
      }
    },
    "non-cacheable-echo": {
      "inputs": [],
      "outputs": ["{projectRoot}"],
      "dependsOn": ["cacheable-echo"],
      "executor": "nx:run-commands",
      "options": {
        "command": "true"
      }
    },
    "cacheable-echo": {
      "inputs": [],
      "outputs": ["{projectRoot}"],
      "executor": "nx:run-commands",
      "options": {
        "command": "true"
      }
    }
  }
}

if you run echo target at least twice - you will see the error:

>  NX   Error: write EPIPE


   Messages from the log:
   [NX Daemon Server] - 2023-09-25T11:42:25.986Z - [REQUEST]: Client Request for Project Graph Received
   [NX Daemon Server] - 2023-09-25T11:42:26.395Z - [REQUEST]: Updated file-hasher based on watched changes, recomputing project graph...
   [NX Daemon Server] - 2023-09-25T11:42:26.395Z - [REQUEST]:
   [NX Daemon Server] - 2023-09-25T11:42:26.395Z - [REQUEST]:
   [NX Daemon Server] - 2023-09-25T11:42:26.471Z - [REQUEST]: Responding to the client. project-graph
   [NX Daemon Server] - 2023-09-25T11:42:26.473Z - Time taken for 'total for creating and serializing project graph' 484.8588333129883ms
   [NX Daemon Server] - 2023-09-25T11:42:26.474Z - Done responding to the client project-graph
   [NX Daemon Server] - 2023-09-25T11:42:26.474Z - Handled REQUEST_PROJECT_GRAPH. Handling time: 485. Response time: 3.
   [NX Daemon Server] - 2023-09-25T11:42:26.522Z - [REQUEST]: Responding to the client. handleHashTasks
   [NX Daemon Server] - 2023-09-25T11:42:26.523Z - Done responding to the client handleHashTasks
   [NX Daemon Server] - 2023-09-25T11:42:26.523Z - Handled HASH_TASKS. Handling time: 34. Response time: 1.
   [NX Daemon Server] - 2023-09-25T11:42:26.617Z - [REQUEST]: Responding to the client. outputsHashesMatch
   [NX Daemon Server] - 2023-09-25T11:42:26.617Z - Done responding to the client outputsHashesMatch
   [NX Daemon Server] - 2023-09-25T11:42:26.617Z - Handled OUTPUTS_HASHES_MATCH. Handling time: 61. Response time: 0.
   [NX Daemon Server] - 2023-09-25T11:42:26.683Z - [WATCHER]: Processing file changes in outputs
   [NX Daemon Server] - 2023-09-25T11:42:26.686Z - [WATCHER]: 0 file(s) created or restored, 0 file(s) modified, 590 file(s) deleted
   [NX Daemon Server] - 2023-09-25T11:42:26.686Z - [WATCHER]: Stopping the watcher for /Users/platform (sources)
   [NX Daemon Server] - 2023-09-25T11:42:26.686Z - [WATCHER]: Stopping the watcher for /Users/platform (outputs)
   [NX Daemon Server] - 2023-09-25T11:42:26.686Z - Server stopped because: "Stopping the daemon the set of ignored files changed (native)"

I suspect it only happens if the project, you are running the target on, itself has a .gitignore file in it's root. So while it tries to replace .gitignore file with the same one - it triggers some event, which causes the error.

fxposter avatar Sep 25 '23 11:09 fxposter

We also have the same issues - we're generating OpenAPI clients into our workspace, and the clients include a .gitignore file each. For now, we disabled the daemon entirely :cry:

swcm-mnestler avatar Oct 02 '23 07:10 swcm-mnestler

We are now getting this problem after updating to nx 17.0.2


[NX Daemon Server] - 2023-10-31T11:22:44.730Z - Started listening on: /var/folders/hv/5v9gb9ps5tz_tl_4vyn26wzw0000gn/T/d2c0f062827ff9b7531f/d.sock
[NX Daemon Server] - 2023-10-31T11:22:44.731Z - [WATCHER]: Subscribed to changes within: /Users/milocesar/Documents/Werk/folder/monorepo (native)
[NX Daemon Server] - 2023-10-31T11:22:44.736Z - Established a connection. Number of open connections: 1
[NX Daemon Server] - 2023-10-31T11:22:44.738Z - Established a connection. Number of open connections: 2
[NX Daemon Server] - 2023-10-31T11:22:44.739Z - Closed a connection. Number of open connections: 1
[NX Daemon Server] - 2023-10-31T11:22:44.740Z - [REQUEST]: Client Request for Project Graph Received
[NX Daemon Server] - 2023-10-31T11:22:45.006Z - [REQUEST]: Updated file-hasher based on watched changes, recomputing project graph...
[NX Daemon Server] - 2023-10-31T11:22:45.006Z - [REQUEST]: 
[NX Daemon Server] - 2023-10-31T11:22:45.006Z - [REQUEST]: 
[NX Daemon Server] - 2023-10-31T11:22:45.097Z - [REQUEST]: Responding to the client. project-graph
[NX Daemon Server] - 2023-10-31T11:22:45.099Z - Time taken for 'total for creating and serializing project graph' 356.5890829563141ms
[NX Daemon Server] - 2023-10-31T11:22:45.099Z - [WATCHER]: Processing file changes in outputs
[NX Daemon Server] - 2023-10-31T11:22:45.101Z - Done responding to the client project-graph
[NX Daemon Server] - 2023-10-31T11:22:45.101Z - Handled REQUEST_PROJECT_GRAPH. Handling time: 357. Response time: 4.
[NX Daemon Server] - 2023-10-31T11:22:45.385Z - [REQUEST]: Responding to the client. handleHashTasks
[NX Daemon Server] - 2023-10-31T11:22:45.390Z - [WATCHER]: Processing file changes in outputs
[NX Daemon Server] - 2023-10-31T11:22:45.393Z - Done responding to the client handleHashTasks
[NX Daemon Server] - 2023-10-31T11:22:45.393Z - Handled HASH_TASKS. Handling time: 258. Response time: 8.
[NX Daemon Server] - 2023-10-31T11:22:45.510Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.510Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.510Z - Handled RECORD_OUTPUTS_HASH. Handling time: 1. Response time: 0.
[NX Daemon Server] - 2023-10-31T11:22:45.605Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.605Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.605Z - Handled RECORD_OUTPUTS_HASH. Handling time: 0. Response time: 0.
[NX Daemon Server] - 2023-10-31T11:22:45.699Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.700Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.700Z - Handled RECORD_OUTPUTS_HASH. Handling time: 0. Response time: 1.
[NX Daemon Server] - 2023-10-31T11:22:45.794Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.794Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.794Z - Handled RECORD_OUTPUTS_HASH. Handling time: 0. Response time: 0.
[NX Daemon Server] - 2023-10-31T11:22:45.887Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.887Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.887Z - Handled RECORD_OUTPUTS_HASH. Handling time: 0. Response time: 0.
[NX Daemon Server] - 2023-10-31T11:22:45.983Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.983Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:45.983Z - Handled RECORD_OUTPUTS_HASH. Handling time: 0. Response time: 0.
[NX Daemon Server] - 2023-10-31T11:22:46.077Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:46.078Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:46.078Z - Handled RECORD_OUTPUTS_HASH. Handling time: 0. Response time: 1.
[NX Daemon Server] - 2023-10-31T11:22:46.172Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:46.172Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:46.172Z - Handled RECORD_OUTPUTS_HASH. Handling time: 0. Response time: 0.
[NX Daemon Server] - 2023-10-31T11:22:46.190Z - [REQUEST]: Responding to the client. outputsHashesMatch
[NX Daemon Server] - 2023-10-31T11:22:46.190Z - Done responding to the client outputsHashesMatch
[NX Daemon Server] - 2023-10-31T11:22:46.190Z - Handled OUTPUTS_HASHES_MATCH. Handling time: 0. Response time: 0.
[NX Daemon Server] - 2023-10-31T11:22:46.193Z - [REQUEST]: Responding to the client. recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:46.194Z - Done responding to the client recordOutputsHash
[NX Daemon Server] - 2023-10-31T11:22:46.194Z - Handled RECORD_OUTPUTS_HASH. Handling time: 0. Response time: 1.
[NX Daemon Server] - 2023-10-31T11:22:46.243Z - [REQUEST]: Responding to the client. outputsHashesMatch
[NX Daemon Server] - 2023-10-31T11:22:46.244Z - Done responding to the client outputsHashesMatch
[NX Daemon Server] - 2023-10-31T11:22:46.244Z - Handled OUTPUTS_HASHES_MATCH. Handling time: 48. Response time: 1.
[NX Daemon Server] - 2023-10-31T11:22:46.247Z - [WATCHER]: 2 file(s) created or restored, 0 file(s) modified, 0 file(s) deleted
[NX Daemon Server] - 2023-10-31T11:22:46.247Z - [WATCHER]: Processing file changes in outputs
[NX Daemon Server] - 2023-10-31T11:22:46.248Z - [WATCHER]: Stopping the watcher for /Users/milocesar/Documents/Werk/folder/monorepo (sources)
[NX Daemon Server] - 2023-10-31T11:22:46.248Z - [WATCHER]: Stopping the watcher for /Users/milocesar/Documents/Werk/folder/monorepo (outputs)
[NX Daemon Server] - 2023-10-31T11:22:46.248Z - Server stopped because: "Stopping the daemon the set of ignored files changed (native)"
milocesar@MacBook-Pro-van-Milo monorepo % nx report

 >  NX   Report complete - copy this into the issue template

   Node   : 18.18.2
   OS     : darwin-arm64
   yarn   : 4.0.0

   nx                 : 17.0.2
   @nx/js             : 17.0.2
   @nx/jest           : 17.0.2
   @nx/linter         : 17.0.2
   @nx/eslint         : 17.0.2
   @nx/workspace      : 17.0.2
   @nx/angular        : 17.0.2
   @nx/cypress        : 17.0.2
   @nx/devkit         : 17.0.2
   @nx/eslint-plugin  : 17.0.2
   @nx/nest           : 17.0.2
   @nx/node           : 17.0.2
   @nrwl/tao          : 17.0.2
   @nx/web            : 17.0.2
   @nx/webpack        : 17.0.2
   typescript         : 5.1.6
   ---------------------------------------
   Community plugins:
   @ngneat/spectator                 : 14.0.0
   @ngneat/transloco                 : 4.2.5
   @nx-extend/e2e-runner             : 2.3.0
   @nx-extend/playwright             : 1.1.1
   angular-auth-oidc-client          : 16.0.0
   angular-server-side-configuration : 15.1.0
   ng2-charts                        : 4.1.1
   nx-stylelint                      : 15.0.0

milo526 avatar Oct 31 '23 11:10 milo526

We are getting a lot of these issues (nx 16.9.1), for instance for generated OpenAPI clients. The common problem seems to be that there are .gitignore files generated and then placed in a directory that is already ignored by an "outer" .gitignore. We are trying to work around the issue by deleting the generated .gitignore, this seems to work so far.

adskragnar avatar Nov 13 '23 16:11 adskragnar

I have this error very consistently on 18.0.7 My node application crashes and fails to restart any time I update a dependency and almost always when I change branches

I only started having the issue after switching from webpack to esbuild some time ago

Watch error: Daemon closed the connection
 NX   Running target serve for project api failed
Failed tasks:

- api:serve:development

Hint: run the command with --verbose for more details.
[
  {
    "taskId": "api:serve:development",
    "startTime": "2024-03-23T22:00:49.559Z",
    "target": "serve",
    "projectName": "api",
    "hash": "12791983825878353189",
    "hashDetails": {
      "nodes": {
        "{workspaceRoot}/workspace.json": "3244421341483603138",
        "salesforce-api:TsConfig": "680904515108633998",
        "api-types:{projectRoot}/**/*": "9293372846823592778",
        "{workspaceRoot}/.gitignore": "202039297308474392",
        "salesforce-api:{projectRoot}/**/*": "3472700767192462333",
        "salesforce-api:ProjectConfiguration": "2534489534423906323",
        "api-types:TsConfig": "680904515108633998",
        "{workspaceRoot}/.nxignore": "10561103421063785169",
        "api-config:{projectRoot}/**/*": "16258503904426761283",
        "shared-utils:{projectRoot}/**/*": "10316960375532189638",
        "shared-node-utils:ProjectConfiguration": "11323896749836813569",
        "shared-constants:TsConfig": "680904515108633998",
        "api-config:TsConfig": "680904515108633998",
        "shared-utils:ProjectConfiguration": "7127252609571295767",
        "shared-node-utils:{projectRoot}/**/*": "11280645684569756981",
        "types:{projectRoot}/**/*": "16736422168071153195",
        "shared-constants:{projectRoot}/**/*": "938348422969296049",
        "types:ProjectConfiguration": "13463075130177704893",
        "shared-utils:TsConfig": "680904515108633998",
        "{workspaceRoot}/nx.json": "9271951313371739831",
        "types:TsConfig": "680904515108633998",
        "{workspaceRoot}/babel.config.json": "16815903318292943868",
        "api:ProjectConfiguration": "14678393411723002507",
        "{workspaceRoot}/tsconfig.base.json": "16500655854866904263",
        "shared-constants:ProjectConfiguration": "14185201714296784781",
        "api:{projectRoot}/**/*": "10039018206022058124",
        "api-types:ProjectConfiguration": "14346103320518921486",
        "api:TsConfig": "680904515108633998",
        "shared-node-utils:TsConfig": "680904515108633998",
        "api-config:ProjectConfiguration": "15993370260870989652",
        "npmDependencies": "uj8U2jfoU6DiHQsY0Z7eSg=="
      },
      "runtime": {},
      "implicitDeps": {}
    },
    "params": "",
    "uploadedToStorage": false,
    "endTime": "2024-03-23T22:02:19.108Z",
    "status": 1,
    "cacheStatus": "cache-miss"
  }
]
RunEnd duration: 229
View structured, searchable error logs at https://cloud.nx.app/runs/ZNJghspSwK

paustint avatar Mar 23 '24 22:03 paustint

Hey everyone! Thank you for the time you put in debugging this issue. I just went and tried reproducing this and here is what I found.

  1. I created a new workspace on the latest version (nx 19.0.2).
  2. I generated a new node application using esbuild.
  3. I ran the serve target using the @nx/js:node executor

If I modified main.ts like this, I could see the error described above:

const folder = `nested/folder/${new Date().getTime()}`;
mkdirSync(folder, { recursive: true });
writeFileSync(join(folder, '.gitignore'), 'node_modules\n');
console.log('Hello World');

This makes sense to me because the @nx/js:node executor uses the daemon to watch for changes under the hood. Adding new .gitignore files that will modify what is ignored means the watch process has to be restarted.

If I modified main.ts like this, the error isn't happening anymore:

const folder = `dist/nested/folder/${new Date().getTime()}`; // note the fact that the folder is inside /dist now
mkdirSync(folder, { recursive: true });
writeFileSync(join(folder, '.gitignore'), 'node_modules\n');
console.log('Hello World');

This also makes sense to me. Since we're generating a .gitignore file in a folder that is ignored anyways, the daemon watcher doesn't care about the file and thus won't need to restart.

This behaviour seems logical to me. If you're generating .gitignore files as part of your serve, make sure they are generated under an already ignored folder. In general, executors should probably create artifacts in places where they don't modify the repo permanently

If you think missed a bug in my investigation, please provide a reproduction with steps I can follow to see the bug on a supported version (17-19) and I'm going to have another look. Otherwise I'm going to close this issue soon.

MaxKless avatar May 13 '24 08:05 MaxKless

@MaxKless AFAIR, it was not only about generating files. Imagine, that you have .gitignore in package directory and you specify that you cache output of full directory. Then when it tried to restore it from cache cause it was already build - it triggers rewriting of .gitignore file with the same contents, but it causes errors in the daemon.

fxposter avatar May 13 '24 10:05 fxposter

Could you provide a reproduction of this happening? To me it seems like the same case above - if files are changed/created in an ignored directory (as executor artifacts usually are) they shouldn't trigger the daemon to quit.

MaxKless avatar May 13 '24 11:05 MaxKless

This issue has been automatically marked as stale because no reproduction was provided within 7 days. Please help us help you. Providing a repository exhibiting the issue helps us diagnose and fix the issue. Any time that we spend reproducing this issue is time taken away from addressing this issue and other issues. This issue will be closed in 21 days if a reproduction is not provided. If a reproduction has been provided, please reply to keep it active. Thanks for being a part of the Nx community! 🙏

github-actions[bot] avatar May 21 '24 00:05 github-actions[bot]

For me it helped to add the .gitignore file to the .openapi-generator-ignore file like:

# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator

# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.

# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs

# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux

# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux

# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
.gitignore

This prevents the override of the .gitignore file and therefore the crash of the NX service when using openapi generator (tested with nx v19)

cre8 avatar May 21 '24 20:05 cre8

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[bot] avatar Jul 14 '24 00:07 github-actions[bot]