[Cuis-dev] ATTENTION. maybe nasty bug in Time management on Summer/Winter time change

Gerald Klix cuis.01 at klix.ch
Wed Nov 3 04:05:03 PDT 2021


Nicola,

If you look at

https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/634e4e3c8556a72d54f43beefc3069c60e594a21/platforms/unix/vm/sqUnixHeartbeat.c#L139

you see that "vmGMTOffset" is added to the new time.
"vmGMTOffset" is updated here:

https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/634e4e3c8556a72d54f43beefc3069c60e594a21/platforms/unix/vm/sqUnixHeartbeat.c#L150

which is only called during VM initialization:

https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/634e4e3c8556a72d54f43beefc3069c60e594a21/platforms/unix/vm/sqUnixHeartbeat.c#L273


All this is only an educated guess.


HTH, Gerald


PS: This is really nasty, it may also ignore leap seconds:

https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/634e4e3c8556a72d54f43beefc3069c60e594a21/platforms/unix/vm/sqUnixHeartbeat.c#L135


On 11/3/21 10:56 AM, Nicola Mingotti via Cuis-dev wrote:
> 
> Hi guys,
> 
> I report you what i discovered this morning.
> 
> . I have 2 services running in Cuis in 2 independent Linux/Debian servers.
> 
> . In weekend in Italy we changed time from CEST to CET
> 
> . The OSes changed time correctly
> 
> . But Cuis services are 1 hour forward !?!?
> 
> . If i run a fresh new Cuis now in my laptop (Linux/debian vm), I see it 
> has the correct time, corresponding to the OS time
> 
> . I did not change my localTimeZone in Cuis, in any machine. It is 
> acceptable for me it says UTC
>    even if it is actually localtime.
> 
> . Seeing 'DateAndTime now' I discovered that Cuis by default uses 
> primLocalMicrosecondClock, so it should
>    always use the OS local clock and think it is in the UTC timezone. 
> But, it is not doing
>    so on images that were started some days ago (max 20). It does so on 
> new run images.
> 
> I don't know well how to fix this. Maybe some time config is made when 
> Cuis starts up?
> It seems it is remembering the time when it was stared.
> 
> 
> EXTRA. NOT IMPORTANT AS THE PREVIOUS.
> If there are some changes to make I have a suggestion for improvement.
> Could we set localTimeZone to "system", or "local" ? At present we are 
> reading localTime from the OS
> and setting to UTC. Which is a bit confusing.
> 
> bye
> Nicola
> 
> 
> 
> 


More information about the Cuis-dev mailing list