Bug#186393: time error (random time jump) in libc
Package: libc6
Version: 2.3.1-14
Distribution: mostly Testing, some unstable
KERNEL: Linux bambusa 2.4.20-686 #1 Mon Jan 13 22:22:30 EST 2003 i686
unknown unknown GNU/Linux
Kernel: kernel-image-2.4-686_2.4.20-5_i386.deb
Libc: libc6-2.3.1-14
Gcc: gcc-2.95.4-17
Gcc: gcc-3.0-3.0.4-7
Ntp: ntp-1:4.1.0-8
I noticed out of sequences in various log files, etc. Was not restricted
just to syslog, or Exim, or any other particular program. NTP is locked
solid to a stratum 1 server and is not reporting any changes of server,
synchronization lost, etc.
The error is always the same (within a couple of seconds), about 72 minutes
ahead, then reverts to correct time.
The source code of error test is below (c1.c). Error seems to occur
randomly, is frequent enough that you'll get several over a 10-15 minute
period.
Tested under gcc-2.95 and gcc-3.0
Gcc 2.95 invocation: gcc -O2 -Wall -m486 -o c1-2.95 c1.c
Gcc 3.00 invocation: gcc-3.0 -O2 -Wall -mcpu=i486 -o c1-3.0 c1.c
Source code (c1.c)
#include <stdio.h>
#include <time.h>
#include <unistd.h>
int main (int argc, char **argv) {
time_t current, elapsed, past=0;
while ( -1 ) {
current = time(NULL);
elapsed = current - past;
printf("Current: %li Last: %li Elapsed: %li\n", current,
past, elapsed);
past = current;
sleep(1);
}
return(0);
}
RESULTS:
bambusa:~/time# ./c1-3.0
Current: 1048708765 Last: 0 Elapsed: 1048708765
Current: 1048708766 Last: 1048708765 Elapsed: 1
Current: 1048708767 Last: 1048708766 Elapsed: 1
Current: 1048708768 Last: 1048708767 Elapsed: 1
Current: 1048708769 Last: 1048708768 Elapsed: 1
Current: 1048708770 Last: 1048708769 Elapsed: 1
Current: 1048708771 Last: 1048708770 Elapsed: 1
Current: 1048708772 Last: 1048708771 Elapsed: 1
Current: 1048708773 Last: 1048708772 Elapsed: 1
Current: 1048708774 Last: 1048708773 Elapsed: 1
Current: 1048708775 Last: 1048708774 Elapsed: 1
Current: 1048708776 Last: 1048708775 Elapsed: 1
Current: 1048708777 Last: 1048708776 Elapsed: 1
Current: 1048708778 Last: 1048708777 Elapsed: 1
Current: 1048708779 Last: 1048708778 Elapsed: 1
Current: 1048713075 Last: 1048708779 Elapsed: 4296
Current: 1048713076 Last: 1048713075 Elapsed: 1
Current: 1048708783 Last: 1048713076 Elapsed: -4293
Current: 1048708784 Last: 1048708783 Elapsed: 1
Current: 1048708785 Last: 1048708784 Elapsed: 1
bambusa:~/time# ./c1-2.95
Current: 1048709046 Last: 1048709045 Elapsed: 1
Current: 1048709047 Last: 1048709046 Elapsed: 1
Current: 1048709048 Last: 1048709047 Elapsed: 1
Current: 1048709049 Last: 1048709048 Elapsed: 1
Current: 1048709050 Last: 1048709049 Elapsed: 1
Current: 1048709051 Last: 1048709050 Elapsed: 1
Current: 1048709052 Last: 1048709051 Elapsed: 1
Current: 1048709053 Last: 1048709052 Elapsed: 1
Current: 1048709054 Last: 1048709053 Elapsed: 1
Current: 1048709055 Last: 1048709054 Elapsed: 1
Current: 1048709056 Last: 1048709055 Elapsed: 1
Current: 1048709057 Last: 1048709056 Elapsed: 1
Current: 1048709058 Last: 1048709057 Elapsed: 1
Current: 1048709059 Last: 1048709058 Elapsed: 1
Current: 1048709060 Last: 1048709059 Elapsed: 1
Current: 1048709061 Last: 1048709060 Elapsed: 1
Current: 1048713357 Last: 1048709061 Elapsed: 4296
Current: 1048713358 Last: 1048713357 Elapsed: 1
Current: 1048709065 Last: 1048713358 Elapsed: -4293
Current: 1048709066 Last: 1048709065 Elapsed: 1
Current: 1048709067 Last: 1048709066 Elapsed: 1
Reply to: