View Single Post
  #1   (View Single Post)  
Old 2nd April 2012
comet--berkeley comet--berkeley is offline
Real Name: Richard
Package Pilot
 
Join Date: Apr 2009
Location: California
Posts: 163
Default Y2K38 - is it still a problem?

Several years back I could not find a Linux/BSD system that was ready for the year 2038:

https://en.wikipedia.org/wiki/Year_2038_problem

Here is my simple shell script to test the problem:

Code:
#! /bin/sh
set -x
touch -t 203801181234 y2k38-test
touch -t 203801201234 y2k38-test
ls -al                y2k38-test
The code first changes the date on a file to 2038-01-18, something which still works on
32-bit systems.

Then it tries to set the date to 2038-01-20 which only works on Y2K38 compliant systems.

With time I found that some 64-bit system work but some "64-bit" systems fail.

64-bit Linux (Slackware, RedHat) and 64-bit FreeBSD systems seem to work and be Y2K38 compliant:

Code:
$ bin/y2k38.sh
+ touch -t 203801181234 y2k38-test
+ touch -t 203801201234 y2k38-test
+ ls -al y2k38-test
-rw-r--r-- 1 john doe 0 Jan 20  2038 y2k38-test
$ uname -srvm
Linux 3.2.13 #2 SMP Sat Mar 24 03:43:56 CDT 2012 x86_64
64-bit OpenBSD and 64-bit NetBSD systems do not seem to work:

Code:
$ bin/y2k38.sh
+ touch -t 203801181234 y2k38-test
+ touch -t 203801201234 y2k38-test
touch: out of range or illegal time specification: [[CC]YY]MMDDhhmm[.SS]
+ ls -altr y2k38-test
-rw-r--r--  1 john doe  0 Jan 18 12:34 y2k38-test
$ uname -srvm
OpenBSD 5.0 GENERIC.MP#63 amd64
The problem with 64-bit OpenBSD and 64-bit NetBSD is probably that the default file systems are only 32-bits...

Does anyone know if OpenBSD and/or NetBSD are being changed to have a Y2K38 compliant file system for a default install?
Reply With Quote