If one of our services crashes, then the traceback is automatically printed by Python. However it is printed to stderr, which means that it does not go through the proper log system. Right now that mostly works anyway as we set up stderr to point to the proper log file as a fallback. However the formatting is broken. If ThinLinc is configured to use syslog though then the lines will be lost (or end up in a log file that normally doesn't exist). This would be the norm if we always use syslog (e.g. bug 5452). So we should set up sys.excepthook for all our services, just like we do for tl-setup already.
This is less of a problem after bug 7636. Very few crashes are now fatal, and will instead by caught by asyncio and logged by our exception handler.