[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