Description
The Cloud9 IDE in a brand new Servo container on OVH1 started misbehaving today (thanks a lot to @birtles for reporting it and helping troubleshoot it!)
The IDE was basically unusable, Editor and Terminal not working properly, and it was displaying errors like:
Failed to write to 'state.settings'. EDISCONNECT: Agent disconnected .Reconnecting...
and
Language server could not be loaded; some language features have been disabled
Opening the DevTools revealed that many requests were getting a 499
error status (on VFS URLs like https://ovh1.janitor.technology/vfs/1/9cbOePWuii5bALJ2?access_token=token).
Inspecting the Cloud9 SDK error log with less /tmp/c9sdk-stderr---supervisor-ejOQPD.log
revealed contiuous VFS errors, likely to be the cause of this malfunction:
Error: 'nak' utility failed with exit code 1 and stderr: 'path.js:424
var path = (i >= 0) ? arguments[i] : process.cwd();
^
var path = (i >= 0) ? arguments[i] : process.cwd();
^
Error: ENOENT: no such file or directory, uv_cwd
at Error (native)
at Object.posix.resolve (path.js:424:50)
at Function.Module._resolveLookupPaths (module.js:249:17)
at Function.Module._resolveFilename (module.js:316:31)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/home/user/.c9sdk/node_modules/nak/bin/nak:2:1)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
'
at EventEmitter.<anonymous> (/home/user/.c9sdk/plugins/c9.vfs.server/filelist.js:99:31)
at emitTwo (events.js:126:13)
at EventEmitter.emit (events.js:214:7)
at Parent.onExit (/home/user/.c9sdk/node_modules/vfs-socket/consumer.js:280:17)
1:8)
at emitOne (events.js:116:13)
at Transport.emit (events.js:211:7)
at /home/user/.c9sdk/node_modules/smith/smith.js:96:14
at parse (/home/user/.c9sdk/node_modules/smith/smith.js:252:21)
at Socket.onData (/home/user/.c9sdk/node_modules/smith/smith.js:101:9)
Error: 'nak' utility failed with exit code 1 and stderr: 'path.js:424
var path = (i >= 0) ? arguments[i] : process.cwd();
^
Error: ENOENT: no such file or directory, uv_cwd
at Error (native)
at Object.posix.resolve (path.js:424:50)
at Function.Module._resolveLookupPaths (module.js:249:17)
at Function.Module._resolveFilename (module.js:316:31)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/home/user/.c9sdk/node_modules/nak/bin/nak:2:1)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
'
t.js:99:31)
at emitTwo (events.js:126:13)
at EventEmitter.emit (events.js:214:7)
17)
1:8)
at emitOne (events.js:116:13)
at Transport.emit (events.js:211:7)
at /home/user/.c9sdk/node_modules/smith/smith.js:96:14
at parse (/home/user/.c9sdk/node_modules/smith/smith.js:252:21)
at Socket.onData (/home/user/.c9sdk/node_modules/smith/smith.js:101:9)
VFS Exception in function 'registerHandlers':
Error: ENOENT: no such file or directory, uv_cwd
at Error (native)
at Object.posix.resolve (path.js:424:50)
at Function.Module._nodeModulePaths (module.js:190:15)
at createRequire (jsonalyzer_server:275:33)
at loadPlugin (jsonalyzer_server:253:19)
at registerHandler (jsonalyzer_server:131:5)
at async.forEachSeries.callback.summaries (jsonalyzer_server:107:13)
at iterate (jsonalyzer_server:328:13)
at Object.async.forEachSeries (jsonalyzer_server:344:9)
at Object.registerHandlers (jsonalyzer_server:104:11)
Scheduling process exit
VFS Exception in function 'registerHandlers':
Error: ENOENT: no such file or directory, uv_cwd
at Error (native)
at Object.posix.resolve (path.js:424:50)
at Function.Module._nodeModulePaths (module.js:190:15)
at createRequire (jsonalyzer_server:275:33)
at loadPlugin (jsonalyzer_server:253:19)
at registerHandler (jsonalyzer_server:131:5)
at async.forEachSeries.callback.summaries (jsonalyzer_server:107:13)
at iterate (jsonalyzer_server:328:13)
at Object.async.forEachSeries (jsonalyzer_server:344:9)
at Object.registerHandlers (jsonalyzer_server:104:11)
Scheduling process exit
VFS Exception in function 'registerHandlers':
Error: ENOENT: no such file or directory, uv_cwd
at Error (native)
at Object.posix.resolve (path.js:424:50)
at Function.Module._nodeModulePaths (module.js:190:15)
at createRequire (jsonalyzer_server:275:33)
at loadPlugin (jsonalyzer_server:253:19)
at registerHandler (jsonalyzer_server:131:5)
at async.forEachSeries.callback.summaries (jsonalyzer_server:107:13)
at iterate (jsonalyzer_server:328:13)
at Object.async.forEachSeries (jsonalyzer_server:344:9)
at Object.registerHandlers (jsonalyzer_server:104:11)
Scheduling process exit
[...]
By searching around, this issue looks similar to npm/npm#10983
We were able to work around this issue by simply creating a new container, which worked fine. Hopefully this was just a temporary bug, associated with that particular Cloud9 SDK version, and we won't see again.
But if you do see this bug again, please comment on this issue.