Bug 190255 - Job delayed after using crontab -e
Summary: Job delayed after using crontab -e
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: vixie-cron
Version: 3.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Marcela Mašláňová
QA Contact: Brock Organ
URL:
Whiteboard:
Depends On:
Blocks: 190430
TreeView+ depends on / blocked
 
Reported: 2006-04-29 12:42 UTC by Jose Plans
Modified: 2007-11-30 22:07 UTC (History)
1 user (show)

Fixed In Version: RHBA-2007-0122
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-04-18 13:13:53 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Patch fixing delays on vixie-cron 4.x job execution (775 bytes, patch)
2006-04-29 12:42 UTC, Jose Plans
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2007:0122 0 normal SHIPPED_LIVE vixie-cron bug fix update 2007-06-06 13:26:33 UTC

Description Jose Plans 2006-04-29 12:42:04 UTC
Description of problem:
Vixie-cron versions 4.x delay the execution of new updated jobs.
If one user edits its cron table at time 0:00, cron wont update its informations
on the first loop but after it, delaying the execution of the task by 1 loop.

Version-Release number of selected component (if applicable):
vixie-cron-4.1-10.EL3

How reproducible:
Always.


Steps to Reproduce:
1. Use an account.
2. Edit its crontab. crontab -e, adding a job (for example * * * * * user
/bin/ls /tmp)
3. Wait for the job to be executed.
  
Actual results:
The job is executed later than expected :

 ---
Apr 13 10:00:10 chancroid crontab[3929]: (ctatman) END EDIT (ctatman)
Apr 13 10:00:10 chancroid crontab[3941]: (ctatman) LIST (ctatman)
Apr 13 10:01:01 chancroid crond[3944]: (root) CMD (run-parts /etc/cron.hourly)
Apr 13 10:01:01 chancroid crond[1537]: (ctatman) RELOAD (cron/ctatman)
Apr 13 10:02:01 chancroid crond[3954]: (ctatman) CMD (user  /bin/ls /tmp/)
 ---

The job is delayed by 1 minute.

Expected results:

 ---
/var/log/cron with vixie-cron-4.1-11test.EL3 installed:
Apr 26 16:11:11 chancroid crontab[10985]: (ctatman) BEGIN EDIT (ctatman)
Apr 26 16:11:33 chancroid crontab[10985]: (ctatman) REPLACE (ctatman)
Apr 26 16:11:33 chancroid crontab[10985]: (ctatman) END EDIT (ctatman)
Apr 26 16:11:33 chancroid crontab[10989]: (ctatman) LIST (ctatman)
Apr 26 16:12:01 chancroid crond[1486]: (ctatman) RELOAD (cron/ctatman)
Apr 26 16:12:01 chancroid crond[10992]: (ctatman) CMD (ctatman  /bin/ls /tmp/) 
 ---

The job is executed in time.

Additional info:

Attached you will find a patch that solves the issue. The main loop has
load_database called too late, and after the job execution tasks; setting it up
after cron_sleep and before find_jobs, I believe, is the right place to populate
the infos to the job descriptions.

Comment 1 Jose Plans 2006-04-29 12:42:05 UTC
Created attachment 128388 [details]
Patch fixing delays on vixie-cron 4.x job execution

Comment 14 Red Hat Bugzilla 2007-04-18 13:13:54 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2007-0122.html



Note You need to log in before you can comment on or make changes to this bug.