-
-
Notifications
You must be signed in to change notification settings - Fork 102
Open
Description
Affected line of code:
return new Promise((resolve, reject) => {
const interval = setInterval(() => {
if (fs.existsSync(filepath)) {
const connectionJSON = fs.readFileSync(filepath).toString("utf-8");
resolve({
serverPID: server.pid,
connectionFilepath: filepath,
connectionOptions: JSON.parse(connectionJSON) \\ <----- OFFENDING LINE OF CODE
});
clearTimeout(timeout);
clearInterval(interval);
} else if (server.exitCode) {
reject(new Error("Failed to start parse server."));
clearTimeout(timeout);
clearInterval(interval);
}
}, 100);
I've been seeing this error pop up now and again. I was wondering, is there an actual race condition here between writing the file and reading the file? Is it possible that the file being written is only partially written, and if you read it at the wrong moment you will get this JSON parse error?
If so, then maybe the JSON parse error should be handled gracefully?
Metadata
Metadata
Assignees
Labels
No labels