[MacPorts] #22872: aiccu - daemondo automatically restarts it, the reason why it exists is because something is broken.....

MacPorts noreply at macports.org
Sun Dec 13 08:32:53 PST 2009


#22872: aiccu - daemondo automatically restarts it, the reason why it exists is
because something is broken.....
--------------------------------------------------------------------+-------
 Reporter:  jeroen@…                                                |       Owner:  macports-tickets@…                   
     Type:  defect                                                  |      Status:  new                                  
 Priority:  High                                                    |   Milestone:                                       
Component:  ports                                                   |     Version:  1.8.1                                
 Keywords:  aiccu daemondo broken ddos repeat no-logging useraware  |        Port:  aiccu                                
--------------------------------------------------------------------+-------
 "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.
 ------------------------------------->8

 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.

-- 
Ticket URL: <http://trac.macports.org/ticket/22872>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list