SUMMARY: Cron dies when hosts are up for a long time.

From: csb@gdwb.OZ.AU
Date: Thu Nov 26 1992 - 22:55:03 CST


Original queery.

        We are having a spate of problems caused by the cron process no
        longer forking the processes contained in the crontab files.
        
        The machines where this has been occurring have been up for
        close to or more than 100 days.
        
        Restarting cron fixes the problem. But the main problem is that
        we don't know about the problem until something that cron should
        have been running causes a problem.
        
        Anyone have a fix for cron or know of a fix for cron?
        
Result is if you are running 4.1, 4.1.1 or 4.1.2 you need
patch 100651-01 which fixes the following problems with the
cron program.

=====================================

BUG 1031907:
   If there are cron events scheduled for the time that will disappear
   when daylight savings time starts, they will be scheduled for a time
   practically in future infinity. This is because timelocal() returns
   -1 if given a gmt that falls into the 'non-existent' time period.
   This value of -1 was being used as the 'next time' of the event.
   As far as time values go, it's either a very long time ago or some
   time far into the future.

   Note that 'at' will not allow you to schedule jobs during this
   time period.

   With this patch, jobs that would fall into this 'offset' period are
   scheduled `later', e.g. the daylight-savings-time offset is added
   to their event time. If the offset is one hour, for example, then
   one hour is added. If there are cron jobs scheduled for the
   hour following the 'offset' period, those jobs will also be run
   during the same hour.

BUG 1069046:
   Due to a racing condition, the "usr" structure of a "at"/"cron" job
   while running could be removed. Hence, when cron tries to print out
   the information of "usr" at the end of the job, it will core dump.
   One can confirm this problem by looking at the core. If "cron" dies
   at the point it's running "logit()" (called from cleanup), then very
   probably it's due to this problem.
  
=====================================
   
Note: this patch has been rolled into 4.1.3.

Thanks to the following.

geertj@ica.philips.nl
ups!upstage!glenn@fourx.Aus.Sun.COM (Glenn Satchell)
etnibsd!vsh@uunet.uu.net (Steve Harris)
poffen@sj.ate.slb.com (Russ Poffenberger)
Perry_Hutchison.Portland@xerox.com
peterp@Aus.Sun.COM (Peter Parus)

Craig Bishop Information Systems Division
Email: csb@gdwb.OZ.AU Geelong & District Water Board
Phone: +61 52 262506 61-67 Ryrie St Geelong
Fax: +61 52 218236 Victoria 3220 Australia



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:06:53 CDT