Make systemd unit provide reason for start failure
Closed this issue · 2 comments
Currently the systemd
unit delegated to the initd
unit which generally don't provide usable output because it gets lost in redirection or just logged to files without informing the user. systemctl status
should reveal why the start failed and/or where to get the reason for the failure (log file, syslog, etc.).
This issue is especially annoying because codasrv
doesn't have a verbose/foreground option (requested at #5) which could be used for debugging and simply returns 1
after a failure without giving any feedback which should never happen for any program.
It makes sense to migrate to systemd
which should be discussed in a separate issue.
experienced with 6.9.6-2+ubuntu16.04 on Ubuntu 16.04
Are you complaining about the initd unit? There are good reasons why the server is logging to files, it isn't our fault that systemd has invented it's own way of handling daemons. If you look at how it deals with user sessions it clearly could have let daemons do their own thing the way they have always done instead of insisting on them becoming foreground processes and using stdout as a logging mechanism.
Stdout logging is simply too slow for a program that can produce a lot of output and uses cooperative threading which blocks when stdout is connected to a terminal over a slow network connection. Remember Coda was designed back around 1986 when remote access over dialup modem connections was typical and 10baseT was considered a fast local network.