Comment 4 for bug 868395

Revision history for this message
Dmitry Nesterov (keyd) wrote : Re: Bug in Europe/Russia timezones

We have found that this bug occurs because of bug in glibc.
Version of glibc used: 2.7-10ubuntu3

The problem is that glibc uses function __tzfile_compute() if no rules are present in compiled binary zone file (usually, /etc/localtime).
If that occurs we may see while profiling (bad case):
samples % image name app name symbol name
63893 44.1876 libc-2.13.so libc-2.13.so _IO_vfscanf <-- this one
15824 10.9437 libc-2.13.so libc-2.13.so __offtime
7527 5.2056 libc-2.13.so libc-2.13.so __tzset_parse_tz
6295 4.3535 libc-2.13.so libc-2.13.so __strcmp_sse2
4781 3.3065 no-vmlinux no-vmlinux /no-vmlinux
4484 3.1011 libxul.so libxul.so /opt/firefox/libxul.so
3799 2.6273 libc-2.13.so libc-2.13.so ____strtoull_l_internal
3309 2.2885 libc-2.13.so libc-2.13.so compute_change
2803 1.9385 libc-2.13.so libc-2.13.so _IO_old_init
2317 1.6024 libc-2.13.so libc-2.13.so __tz_compute
2312 1.5989 libc-2.13.so libc-2.13.so _IO_str_init_static_internal
2225 1.5388 libc-2.13.so libc-2.13.so __tzfile_compute

When rules are present in compiled binary zone we have (good case):
samples % image name app name symbol name
15592 25.2322 libc-2.13.so libc-2.13.so __strcmp_sse2
10024 16.2216 no-vmlinux no-vmlinux /no-vmlinux
6336 10.2534 libc-2.13.so libc-2.13.so __offtime
5398 8.7355 libc-2.13.so libc-2.13.so __tzfile_compute
4961 8.0283 libc-2.13.so libc-2.13.so __tzstring
1361 2.2025 libc-2.13.so libc-2.13.so __tz_convert
1240 2.0067 libc-2.13.so libc-2.13.so __strlen_sse2
455 0.7363 test test main
253 0.4094 libc-2.13.so libc-2.13.so tzset_internal