[Rd] strange behaviour when converting from char to POSIX (PR#6427)

ripley at stats.ox.ac.uk ripley at stats.ox.ac.uk
Sun Jan 11 17:52:25 MET 2004


On Sun, 11 Jan 2004, Dirk Eddelbuettel wrote:

> On Fri, Jan 09, 2004 at 06:01:27PM +0100, christoph.schmutz at meteoschweiz.ch wrote:
> > Full_Name: Christoph Schmutz, MeteoSchweiz, Switzerland
> > Version: R1.7.1, R1.8.1
> > OS: windows2000, solaris sunOS 5.8
> > Submission from: (NULL) (141.249.133.6)
> > 
> > 
> > 
> > I'm not sure if I don't get the clue, but please consider this:
> > > strptime("19930870150","%Y%j%H%M")
> > [1] "1993-03-28 01:50:00"
> > > strptime("19930870250","%Y%j%H%M")
> > [1] "1993-03-28 01:50:00"
> > > strptime("19930870350","%Y%j%H%M")
> > [1] "1993-03-28 03:50:00"
> 
> You are presumably hitting the switch from dayligh-saving to regular time in
> that year.

The reverse, as I posted yesterday.

> I was just mucking about with that, but R (1.9.0 as of Jan 8, 2004, on
> Debian unstable) still crashes reliably even when I explicitly set the TZ
> variable (and it also crashed for TZ=GMT):
> 
> > Sys.getenv("TZ")
> TZ
> ""
> > Sys.putenv("TZ"="CDT6CST")
> > Sys.getenv("TZ")
>        TZ
> "CDT6CST"
> > format(strptime("199308070150","%Y%m%d%H%M"), "%Y-%m-%d %H:%M:%S",
> tz="GMT", usetz=TRUE)
> [1] "1993-08-07 01:50:00"
> > format(strptime("199308070150","%Y%m%d%H%M"), "%Y-%m-%d %H:%M:%S %Z",
> tz="GMT", usetz=TRUE)
> Segmentation fault
> 
> 
> Not nice.

And the bug is in glibc, not R (the segfault is in strftime in libc).  
It works perfectly on Solaris:

[1] "1993-08-07 01:50:00 CST"

and on Windows (where that is not a valid time zone so I used mine).

[1] "1993-08-07 01:50:00 GMT Daylight Time"

Presumably glibc has some undocumented assumption that we are not 
fulfilling, but I am by now very tired of the bugs in its date-time code.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-devel mailing list