Ticket #22872 (new defect)
aiccu - daemondo automatically restarts it, the reason why it exists is because something is broken.....
|Reported by:||jeroen@…||Owned by:||cr@…|
"daemondo launches the daemon directly, rather than indirectly via a script, and therefore it automatically knows how to monitor a daemon process and restart it if it dies."
And thus, when aiccu exits because there is an unresolvable error case daemondo automatically restarts it, aiccu exists, daemondo restarts it, aiccu exits..... ad infinitum.
Otherwise said: daemondo is not the proper tool for running AICCU in this way as it clearly avoids to check the exit code of AICCU, which exits because there is an error condition, which means it can't do anything else and that user intervention is needed.
A couple of solutions that should be applied in this case and most likely in the cases of many other daemons which will abort on startup:
- don't use it specifically for AICCU
- rate limit the number of 'startups', if it fails X times, then don't start it any more.
- If it fails after the first startup, tell the user, and don't start it again.
- etc etc etc.
From the 'README' file in the AICCU distribution: 8<------------------------------- WARNING: never run AICCU from DaemonTools or a similar automated 'restart' tool/script. When AICCU does not start, it has a reason not to start which it gives on either the stdout or in the (sys)log file. The TIC server *will* automatically disable accounts which are detected to run in this mode. Use 'verbose true' to see more information which is especially handy when starting fails.
Oh and as clearly logging is not configured properly, nor the user ever cares to look at it they will never figure this problem out.
Most likely the same goes for a lot of other daemons.
In this case it is especially annoying as it will contact the TIC servers of SixXS, which will then have to rate limit the client and disable them, as per the above. Still, the client, which gets repeatedly restarted by daemondo will keep on trying to hammer those TIC servers. Thank you macport folks for another attempt at DDoSSing them. (attempt, as it fails due to the ratelimmitting and fortunately also the limited number of clients of which we had to tell and explain the users that they had a broken client....)
But lets solve this properly, as macports is where the problem happens. Please resolve this.
Additionally "startupitem.netchange" which is described as "Cause the daemon to be restarted when a change in network state is detected." is completely ridiculous in the case of AICCU as AICCU already KNOWS how to handle network changes, that is why there are "specialized" protocols called heartbeat and AYIYA which AICCU supports. Thus that option can also go to /dev/null for AICCU.
- Owner changed from macports-tickets@… to cr@…
- Keywords aiccu daemondo broken ddos repeat no-logging useraware removed
- Priority changed from High to Normal