Project

General

Profile

Actions

Bug #1735

closed

Ruby compiled with gcc 4.4.0: problems in date.rb

Added by be9 (Oleg Dashevskii) over 15 years ago. Updated over 13 years ago.

Status:
Closed
ruby -v:
ruby 1.8.6 (2009-06-08 patchlevel 369) [x86_64-linux]
[ruby-core:24161]

Description

=begin
I have a 64-bit ArchLinux system with gcc 4.4.0 and glibc 2.10.1. The distro itself ships 1.8.7, but I use REE which is 1.8.6-based. I'll illustrate the problem with stock Ruby 1.8.6-p369.

===========================================
home:~% /opt/ruby-1.8.6-p369/bin/irb
irb(main):001:0> t = Time.now
=> Mon Jul 06 13:21:20 +0700 2009
irb(main):002:0> [t.year, t.month, t.day]
=> [2009, 7, 6]
irb(main):003:0> d = Date.civil_to_jd(t.year, t.month, t.day)
=> 248077102
irb(main):004:0> Date.jd_to_civil(d)
=> [2075, -1, 37364]
irb(main):005:0>

I've run into this in my Rails app, namely with activesupport: 1.day.from_now and 1.year.from_now. The former raises ArgumentError with "invalid date", the latter just hangs.

The original post is on the REE group: http://groups.google.com/group/emm-ruby/browse_thread/thread/5bdb6869ed0f9843
Other people with gcc 4.4.0 have confirmed this bug.

Here's valid behavior in 1.8.7:

===========================================

RUBY_VERSION
=> "1.8.7"
RUBY_PATCHLEVEL
=> 173
t = Time.now
=> Mon Jul 06 13:34:12 0700 2009
[t.year, t.month, t.day]
=> [2009, 7, 6]
d = Date.civil_to_jd(t.year, t.month, t.day)
=> 2455019
Date.jd_to_civil(d)
=> [2009, 7, 6]
===========================================
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0