[Bug 1437534] Re: unstable mktime result
Andor Rozsnyai
arozsny at gmail.com
Fri May 27 12:23:34 UTC 2016
I had the I think the same problem with mktime().
(Ubuntu EGLIBC 2.19-0ubuntu6.8) 2.19
With input data:
struct tm testtime = {0};
testtime.tm_year=10;
testtime.tm_mon=0;
testtime.tm_mday=1;
testtime.tm_hour=0;
testtime.tm_min=0;
testtime.tm_sec=0;
mktime(t) int -1893459600 for "Europe/Budapest"
mktime(t) int -1893456000 for "Europe/London"
mktime(t) int -1893462264 ??? for "Europe/Bucharest"
for
struct tm testtime = {0};
testtime.tm_year=50;
testtime.tm_mon=0;
testtime.tm_mday=1;
testtime.tm_hour=0;
testtime.tm_min=0;
testtime.tm_sec=0;
mktime(t) int -631155600 for "Europe/Budapest"
mktime(t) int -631152000 for "Europe/London"
mktime(t) int -631159200 for "Europe/Bucharest"
mktime(t) int -631134000 for "America/Nipigon"
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/1437534
Title:
unstable mktime result
Status in glibc package in Ubuntu:
New
Bug description:
Hi all,
Mktime has different results when using dates that coincide with times
that "didn't" exist due to a change of the reference for the specific
timezone. In the examples I've run, when it's first called, it returns
a past (IMHO invalid) value. After it's called for another date,
calling it again for the first date, returns the expected result.
I found this happens on 1912-01-01 for Europe/Lisbon timezone and
1910-10-01 for Europe/Istanbul and it may be happening on other cases.
I also found a similar case where it doesn't happen, 1940-05-15 for
Europe/Amsterdam.
The tests I made are available here:
https://gist.github.com/fmfdias/5c7c36726ff3cce12ead
Running them:
gcc test_europe_lisbon_glibc.c -o test_europe_lisbon_glibc
TZ='Europe/Lisbon' ./test_europe_lisbon_glibc
gcc test_europe_istanbul_glibc.c -o test_europe_istanbul_glibc
TZ='Europe/Istanbul' ./test_europe_istanbul_glibc
gcc test_europe_amsterdam_glibc.c -o test_europe_amsterdam_glibc
TZ='Europe/Amsterdam' ./test_europe_amsterdam_glibc
Although I run these tests on Ubuntu 14.10, I saw this also happening
on a Ubuntu 12.04 machine.
lsb_release -rd
Description: Ubuntu 14.10
Release: 14.10
sudo apt-cache policy libc6
libc6:
Installed: 2.19-10ubuntu2.3
Candidate: 2.19-10ubuntu2.3
Version table:
*** 2.19-10ubuntu2.3 0
500 http://archive.ubuntu.com/ubuntu/ utopic-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ utopic-security/main amd64 Packages
100 /var/lib/dpkg/status
2.19-10ubuntu2 0
500 http://archive.ubuntu.com/ubuntu/ utopic/main amd64 Packages
Thank you!
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1437534/+subscriptions
More information about the foundations-bugs
mailing list