From d74f27b75d69c37fac1587930508da6cd953f33c Mon Sep 17 00:00:00 2001 From: drebs Date: Mon, 20 Nov 2017 11:13:53 -0200 Subject: [bug] log and exit on server startup errors Some errors during server startup could leave the server in a zombie state (running, but not listening). This commit makes sure the server stops if errors occur during deferreds created on server startup. Closes #8997. --- src/leap/soledad/server/app.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/leap/soledad/server/app.py b/src/leap/soledad/server/app.py index 725b1383..77d3a1cd 100644 --- a/src/leap/soledad/server/app.py +++ b/src/leap/soledad/server/app.py @@ -39,6 +39,12 @@ def _exit(status): reactor.stop() +def _log_and_exit(failure): + logger.error('Error while starting up server: %r' + % failure.getErrorMessage()) + _exit(20) + + # # necessary checks # @@ -124,6 +130,7 @@ def run(application): d = check_schema_versions(conf['couch_url']) d.addCallback(lambda _: create_services(local_port, public_port, application)) + d.addErrback(_log_and_exit) application = service.Application('soledad-server') -- cgit v1.2.3