Bug 133481

Summary: Updates to the time aren't reflected in clock display
Product: Red Hat Enterprise Linux 4 Reporter: Jay Turner <jturner>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: fweimer, markmc, srevivo
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-09-30 09:03:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 131589    

Description Jay Turner 2004-09-24 11:49:52 UTC
Description of problem:
With gnome-panel-2.7.92.1-1, I set the time to EDT when I initially
setup the system, then after relocating to Europe, ran
"system-config-date" to modify the timezone to CEST.  I've left the
machine running for several hours, and the time continues to update,
but ever jumps forward those 6 hours.  Running 'date' does show the
correct time, as does running 'system-config-date' again, so just
appears to be a problem with the applet display refreshing. 
Restarting X does appear to resolve the problem.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Mark McLoughlin 2004-09-29 09:44:44 UTC
4 year old upstream bug:

  http://bugzilla.gnome.org/show_bug.cgi?id=19197

Comment 2 Mark McLoughlin 2004-09-29 10:18:17 UTC
Okay, turns out this can be trivially fixed in glibc:

  - recently, changes were made to glibc in order to stat() 
    /etc/localtime everytime tzset() is called and re-load
    if the file has changed

  - the actual check to see if the file changed only compares
    the previous st_dev/st_ino to the current one

  - system-config-time truncates and re-writes /etc/localtime
    rather than creating a new file, so the __tzfile_read()
    check doesn't get triggered in this case

  - Jakub agreed that adding an st_mtime check to __tzfile_read()
    makes sense and that should fix the problem


Comment 5 Jakub Jelinek 2004-09-30 09:03:50 UTC
Should be fixed in glibc-2.3.3-60 and above.