From: Oleg Dashevskii Date: 2009-07-06T15:36:43+09:00 Subject: [ruby-core:24161] [Bug #1735] Ruby compiled with gcc 4.4.0: problems in date.rb Bug #1735: Ruby compiled with gcc 4.4.0: problems in date.rb http://redmine.ruby-lang.org/issues/show/1735 Author: Oleg Dashevskii Status: Open, Priority: Normal ruby -v: ruby 1.8.6 (2009-06-08 patchlevel 369) [x86_64-linux] 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] =========================================== ---------------------------------------- http://redmine.ruby-lang.org