Red Hat Bugzilla – Bug 1316553
at does not post a job with the correct time when the UTC timezone is specified
Last modified: 2016-03-29 05:08:58 EDT
Description of problem: The system clock is configured for UTC. When an at request is made using the form
at 16:00 UTC,
the time displayed is is 15:00 rather than 16:00
Version-Release number of selected component (if applicable):3.1.10-48.el6
How reproducible: always
Steps to Reproduce:
1.Configure the system clock for UTC
2.Key in at 16:00 UTC
3.Key in atq to display the at queue
5 2016-03-10 15:00 a root
5 2016-03-10 16:00 a root
Please use the regular Red Hat support channels https://www.redhat.com/support to help to prioritize the bug fix appropriately.
The problem is caused by code in the parsetime subprogram in parsetime.y . exectm is moved to currtm after exectm.tm_isdst is set to -1. Nothing ever resets currtm.tm_isdst to either 0 or 1. When execution reaches line 508, currtm.tm_isdst is still -1, causing the test to pass, reducing the scheduled time by one hour. The proposed fix moves exectm to currtm before exectm.tm_isdst is set to -1. The proposed fix (based on line numbers in at-3.1.10-48.el6.i686 is 479a480 > memcpy(&currtm,&exectm,sizeof(currtm)); 482d482 < memcpy(&currtm,&exectm,sizeof(currtm));
I do not think this is proper fix either. The dst correction is incorrect. I committed the proper fix to the current Fedora rawhide package.
I am sorry that I have to repeat that if you need the fix in the RHEL package, please report it via regular Red Hat support channels so it can be properly prioritized.
Ah I see there is already such report. If it was not you who opened it, please open it too so the priority is raised.
*** This bug has been marked as a duplicate of bug 1320322 ***