coreybutler / coreybutler/node-windows

Error while creating daemon folder: daemon already exists

Open
#359 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
2.9k
Forks
368
PR merge metrics
No merged PRs in 30d

Description

**Issue:**
On a fresh machine (where node-windows has never run before), if I initiate two or more installs (of different services) simultaneously, we see an intermittent issue where:
1. For one or more installs, fs.exists (https://github.com/coreybutler/node-windows/blob/27779d9caafe9854fa5767574ac288d98447c0ff/lib/daemon.js#L540) does not find the daemon folder (because nod-windows has not been run yet and daemon folder is actually not there).
2. Since fs.exists is async (also deprecated), all calls in step 1 will try to create the daemon folder.
3. This leads to a collision where all the installs after the first one (whoever gets to create daemon folder) will fail with an error saying daemon folder already exists.

**How To Reproduce:**
Give multiple install commands simultaneously.

**Expected Behavior:**
daemon folder should be created without errors and services should get installed.

**Desktop:**
- OS: Windows 11

**Probable Fix:**
We should be using the fs.existsSync function instead of fs.exists at https://github.com/coreybutler/node-windows/blob/27779d9caafe9854fa5767574ac288d98447c0ff/lib/daemon.js#L540
@coreybutler if you want, I can raise a PR with this fix

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.