I am having trouble starting a flash policy daemon under systemd in Fedora 15. It uses my own .service file. It dies during bootup with status=203/EXEC.
Flashpolicyd.py is a little Python program that opens up a socket on TCP port 843 and listens. It is not a forking server.
After putting the flashpolicyd.service file in /etc/systemd/system/multi-user.target.wants/, all seems good. The new service shows up on the systemctl list of all services, I can enable it and start it manually with systemctl start flashpolicyd.service
However flashpolicyd fails during bootup with exit status 203.
I set up the systemd debugging parameters on the kernel, where I see the following:
systemd[1]: Installed new job flashpolicyd.service/start as 91
...
systemd[1]: About to execute: /usr/local/sbin/flashpolicyd.py --file=/var/www/crossdomain.xml
systemd[1]: Forked /usr/local/sbin/flashpolicyd.py as 746
systemd[1]: flashpolicyd.service changed dead -> running
systemd[1]: Job flashpolicyd.service/start finished, result=done
...
systemd[1]: Got SIGCHLD for process 746 (sd.exec)
systemd[1]: Child 746 died (code=exited, status=203/EXEC)
systemd[1]: Child 746 belongs to flashpolicyd.service
systemd[1]: flashpolicyd.service: main process exited, code=exited, status=203
systemd[1]: flashpolicyd.service changed running -> auto-restart
...and it retries several times before giving up
-- There is a Python try/except block around the main code in an effort to print errors in a better form, but it does not seem to be catching anything.
-- I have played with the After= in the .service file to make sure everything imaginable is loaded.
-- I cannot find any documentation on Python error code 203
-- And, as mentioned, it works just fine if I start it manually with systemctl.
Any ideas?
Here is my flashpolicyd.service file:
[Unit]
Description=...omitted...
After=basic.target syslog.target network.target
[Service]
Type=simple
PIDFile=/var/run/flashpolicyd
ExecStart=/usr/local/sbin/flashpolicyd.py --file=/var/www/crossdomain.xml
Restart=always
StandardOutput=syslog
StandardError=inherit
SyslogFacility=daemon
SyslogLevel=err
SyslogIdentifier=flashpolicyd
[Install]
WantedBy=multi-user.target