[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Weird time-zone oscillation



On Sun, Dec 13, 2009 at 07:39:31PM +0100, David Kubicek wrote:
> The POSIX variant result would be important - it would tell us it's not  
> Glib related. There would be less stuff to check with just libc/tzdata.

Right.

> BUT, I made a typo in posix.c, which *could* in effect randomize the  
> "zone" part of the input iso date. So, first of all - use this new one,  
> recompile and try again. If it'll work fine, then the issue has been  
> solved by refreshing those packages. It would mean that some of the  
> files form your previous tzdata were corrupted.
>
> However, if the issue remains - read on...

The issue remains. So I'll proceed.

> I want to see if there's any difference between Linux tzdata and pure  
> POSIX TZ specification and between our tool and the standard date(1)  
> command. I need you to run this:
>
> # export TZ=Europe/Prague
> # for i in `seq 1 20`; do ./posix; date; done
> 1260496200
> Sun Dec 13 19:04:24 CET 2009
> ...

(Note: 2600 vs. 6200):
[kumar@bluemoon ~] for i in `seq 1 10`;do TZ=Europe/Prague ./a.out && TZ=Europe/Prague date ;done
1260492600
Sun Dec 13 19:47:24 CET 2009
1260496200
Sun Dec 13 19:47:24 CET 2009
1260492600
Sun Dec 13 19:47:24 CET 2009
1260492600
Sun Dec 13 19:47:24 CET 2009
1260496200
Sun Dec 13 19:47:24 CET 2009
1260496200
Sun Dec 13 19:47:24 CET 2009
1260496200
Sun Dec 13 19:47:24 CET 2009
1260496200
Sun Dec 13 19:47:24 CET 2009
1260496200
Sun Dec 13 19:47:24 CET 2009
1260492600
Sun Dec 13 19:47:24 CET 2009

> # export TZ=CET-1CES,M3.5.0,M10.5.0
> # for i in `seq 1 20`; do ./posix; date; done
> 1260496200
> Sun Dec 13 19:04:36 CET 2009
> ...
> # unset TZ

(The same)
[kumar@bluemoon ~] for i in `seq 1 10`;do TZ="CET-1CES,M3.5.0,M10.5.0" ./a.out && TZ="CET-1CES,M3.5.0,M10.5.0" date ;done
1260496200
Sun Dec 13 19:48:03 CET 2009
1260492600
Sun Dec 13 19:48:03 CET 2009
1260496200
Sun Dec 13 19:48:03 CET 2009
1260496200
Sun Dec 13 19:48:03 CET 2009
1260492600
Sun Dec 13 19:48:03 CET 2009
1260496200
Sun Dec 13 19:48:03 CET 2009
1260492600
Sun Dec 13 19:48:03 CET 2009
1260492600
Sun Dec 13 19:48:03 CET 2009
1260496200
Sun Dec 13 19:48:03 CET 2009
1260492600
Sun Dec 13 19:48:03 CET 2009

> "Europe/Prague" and "CET-1CES,M3.5.0,M10.5.0" is the same description of  
> my time zone (inc. daylight savings). One points to a tzdata file, the  
> other has all specs. *in itself*.
>
>> I'm dumbfounded. But I'd REALLY like to get to the bottom of this!
>> Could you please help me explore the other possibilities which could
>> have lead to this?
>
> Me too, I've never seen this.
>
> From your description the issue seems random. 10 commands executed  
> almost at the same time return different times. There must be something  
> screwing your time zone data, resp. data files. That would fit with your  
> chroot tests - my new test with two different TZ setting methods would  
> reveal it (one is using tzdata's files, the other does not).
>
> When I look at the results, I'll know where to move next. I'll probably  
> let you run it again in a single-user mode (e.g. adding kernel param  
> "init=/bin/sh" via lilo/grub boot menu), to eliminate stuff like ntpd  
> and other possibly mischievous processes.

OK, where do I move next? :-) Especially given that these things don't
happen in a fresh sid chroot, I am really wondering what unearthly
configuration option could be causing this.

Thanks!

Kumar
-- 
Ooh, mommy, mommy, what I have now doesn't work in this extremely
unlikely circumstance, so I'll just throw it away and write something
completely new.
		-- Linus Torvalds


Reply to: