Skip to content

process.cwd() fails in a not usefully descriptive way #57045

Open
@Qard

Description

@Qard

Version

22.14.0

Platform

macOS Sequoia 15.1.1

Subsystem

process

What steps will reproduce the bug?

~/Code/platformatic via  v22.14.0 on ☁️  (us-east-1)
❯ mkdir lol

~/Code/platformatic via  v22.14.0 on ☁️  (us-east-1)
❯ cd lol

Code/platformatic/lol on ☁️  (us-east-1)
❯ rm -rf ../lol

Code/platformatic/lol on ☁️  (us-east-1)
❯ node -p "process.cwd()"
node:internal/bootstrap/switches/does_own_process_state:142
    cachedCwd = rawMethods.cwd();
                           ^

Error: ENOENT: no such file or directory, uv_cwd
    at process.wrappedCwd [as cwd] (node:internal/bootstrap/switches/does_own_process_state:142:28)
    at [eval]:1:9
    at runScriptInThisContext (node:internal/vm:209:10)
    at node:internal/process/execution:449:12
    at [eval]-wrapper:6:24
    at runScriptInContext (node:internal/process/execution:447:60)
    at evalFunction (node:internal/process/execution:87:30)
    at evalScript (node:internal/process/execution:99:3)
    at node:internal/main/eval_string:74:3 {
  errno: -2,
  code: 'ENOENT',
  syscall: 'uv_cwd'
}

Node.js v22.14.0

How often does it reproduce? Is there a required condition?

Always

What is the expected behavior? Why is that the expected behavior?

Could be made clearer that this is a failure of process.cwd() as the stack trace makes no mention of it. One may make the connection by context, but not necessarily--it's non-obvious. If this was triggered by a process.cwd() deep in your code somewhere it could be quite confusing.

It'd also probably be useful to explain the possible scenario in which this could be triggered--the directory the process was working in was deleted somehow.

What do you see instead?

Error: ENOENT: no such file or directory, uv_cwd
    at process.wrappedCwd [as cwd] (node:internal/bootstrap/switches/does_own_process_state:142:28)
    at [eval]:1:9
    at runScriptInThisContext (node:internal/vm:209:10)
    at node:internal/process/execution:449:12
    at [eval]-wrapper:6:24
    at runScriptInContext (node:internal/process/execution:447:60)
    at evalFunction (node:internal/process/execution:87:30)
    at evalScript (node:internal/process/execution:99:3)
    at node:internal/main/eval_string:74:3

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues with confirmed bugs.good first issueIssues that are suitable for first-time contributors.processIssues and PRs related to the process subsystem.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions