hackmdio/codimd

CodiMD fails to start with existing unix socket file

Open

#1,024 opened on Oct 26, 2018

View on GitHub
 (4 comments) (0 reactions) (0 assignees)JavaScript (1,038 forks)batch import
bughelp wanted

Repository metrics

Stars
 (8,949 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

When starting CodiMD the first time, it creates the Unix socket (file), but leaves it on shutdown. The second time I start CodiMD, it fails with message=listen EADDRINUSE /run/codimd/socket, stack=Error: listen EADDRINUSE /run/codimd/socket. It would be helpful when CodiMD could use an existing socket, because I could set the permissions of the socket and change ownership, before starting CodiMD.

    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at Server.setupListenHandle [as _listen2] (net.js:1350:19)
    at listenInCluster (net.js:1408:12)
    at Server.listen (net.js:1503:5)
    at startListen (/srv/www/n.jo-so.de/app.js:221:12)
    at /srv/www/n.jo-so.de/app.js:234:47
    at /srv/www/n.jo-so.de/lib/models/revision.js:167:20
    at Model.<anonymous> (/srv/www/n.jo-so.de/lib/models/revision.js:200:41)
    at Model.tryCatcher (/srv/www/n.jo-so.de/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/srv/www/n.jo-so.de/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/srv/www/n.jo-so.de/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/srv/www/n.jo-so.de/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/srv/www/n.jo-so.de/node_modules/bluebird/js/release/promise.js:694:18)
    at _drainQueueStep (/srv/www/n.jo-so.de/node_modules/bluebird/js/release/async.js:138:12)
    at _drainQueue (/srv/www/n.jo-so.de/node_modules/bluebird/js/release/async.js:131:9), code=EADDRINUSE, errno=EADDRINUSE, syscall=listen, address=/run/codimd/socket, port=-1

@ahihi, please have a look.

Contributor guide