Forum: Ruby-core [ruby-trunk - Bug #6571][Assigned] Time.mktime Y2K38 problem on 1.9.3p125 i386-mingw32

Posted by Martin Bosslet (martin_b)
on 2012-06-10 18:23
(Received via mailing list)
Issue #6571 has been reported by MartinBosslet (Martin Bosslet).

----------------------------------------
Bug #6571: Time.mktime Y2K38 problem on 1.9.3p125 i386-mingw32
https://bugs.ruby-lang.org/issues/6571

Author: MartinBosslet (Martin Bosslet)
Status: Assigned
Priority: Normal
Assignee: luislavena (Luis Lavena)
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3p125 (2012-02-16) [i386-mingw32]


This came up in https://bugs.ruby-lang.org/issues/6122.

Time.mktime(2038, 1, 19, 11, 14, 8) failed. To my understanding, 32 bit 
Time
issues shouldn't occur in 1.9.3? I'm assigning this to Luis, maybe he 
knows
about this and what to do? Please feel free to reassign back to me.
Posted by Tanaka Akira (Guest)
on 2012-06-11 06:33
(Received via mailing list)
2012/6/11 MartinBosslet (Martin Bosslet) 
<Martin.Bosslet@googlemail.com>:

> Time.mktime(2038, 1, 19, 11, 14, 8) failed. To my understanding, 32 bit Time
> issues shouldn't occur in 1.9.3? I'm assigning this to Luis, maybe he knows
> about this and what to do? Please feel free to reassign back to me.

I couldn't reproduce the problem on GNU/Linux (x86_64 and i686).

  % ./ruby -ve 'Time.mktime(2038, 1, 19, 11, 14, 8)'
  ruby 2.0.0dev (2012-06-11 trunk 36028) [x86_64-linux]

  % ./ruby -ve 'Time.mktime(2038, 1, 19, 11, 14, 8)'
  ruby 2.0.0dev (2012-06-11 trunk 36030) [i686-linux]

So it seems platform dependent issue.

However I think you should show the actual result (failure message) and
your timezone, though.

Note that my timzone is +0900 (JST).
Posted by Nobuyoshi Nakada (nobu)
on 2012-06-11 06:54
(Received via mailing list)
Issue #6571 has been updated by nobu (Nobuyoshi Nakada).

Description updated
Status changed from Assigned to Feedback
Target version changed from 2.0.0 to 1.9.3

I can't reproduce it with 1.9.3p216, in JST and PST.
What are the failure message and your timezone?

----------------------------------------
Bug #6571: Time.mktime Y2K38 problem on 1.9.3p125 i386-mingw32
https://bugs.ruby-lang.org/issues/6571#change-27153

Author: MartinBosslet (Martin Bosslet)
Status: Feedback
Priority: Normal
Assignee: luislavena (Luis Lavena)
Category: core
Target version: 1.9.3
ruby -v: ruby 1.9.3p125 (2012-02-16) [i386-mingw32]


=begin
This came up in https://bugs.ruby-lang.org/issues/6122.

(({Time.mktime(2038, 1, 19, 11, 14, 8)})) failed. To my understanding, 
32 bit Time
issues shouldn't occur in 1.9.3? I'm assigning this to Luis, maybe he 
knows
about this and what to do? Please feel free to reassign back to me.
=end
Posted by Heesob Park (phasis)
on 2012-06-11 07:21
(Received via mailing list)
Issue #6571 has been updated by phasis68 (Heesob Park).


I guess it is not an issue of Time#mktime but an issue of OpenSSL.
Furthermore, the description is inaccurate.

Here is my test with ruby 1.9.3p194 (2012-04-20) [i386-mingw32]
C:\Ruby193\bin>irb
irb(main):001:0> require 'OpenSSL'
=> true
irb(main):002:0> cert = OpenSSL::X509::Certificate.new
=> #<OpenSSL::X509::Certificate subject=, issuer=, serial=0, 
not_before=nil, not_after=nil>
irb(main):003:0> cert.not_after = Time.mktime(2038, 1, 19, 12, 14, 7)
=> 2038-01-19 12:14:07 +0900
irb(main):004:0> cert.not_after = Time.mktime(2038, 1, 19, 12, 14, 8)
RangeError: bignum too big to convert into `long'
        from (irb):4:in `not_after='
        from (irb):4
        from C:/Ruby193/bin/irb:12:in `<main>'

I think that this error due to time_to_time_t function defined in 
ext/openssl/ossl_asn1.c

time_t
time_to_time_t(VALUE time)
{
    return (time_t)NUM2LONG(rb_Integer(time));
}

----------------------------------------
Bug #6571: Time.mktime Y2K38 problem on 1.9.3p125 i386-mingw32
https://bugs.ruby-lang.org/issues/6571#change-27156

Author: MartinBosslet (Martin Bosslet)
Status: Feedback
Priority: Normal
Assignee: luislavena (Luis Lavena)
Category: core
Target version: 1.9.3
ruby -v: ruby 1.9.3p125 (2012-02-16) [i386-mingw32]


=begin
This came up in https://bugs.ruby-lang.org/issues/6122.

(({Time.mktime(2038, 1, 19, 11, 14, 8)})) failed. To my understanding, 
32 bit Time
issues shouldn't occur in 1.9.3? I'm assigning this to Luis, maybe he 
knows
about this and what to do? Please feel free to reassign back to me.
=end
Posted by Nobuyoshi Nakada (nobu)
on 2012-06-11 07:33
(Received via mailing list)
Issue #6571 has been updated by nobu (Nobuyoshi Nakada).

Status changed from Feedback to Assigned
Assignee changed from luislavena (Luis Lavena) to MartinBosslet (Martin 
Bosslet)
Target version changed from 1.9.3 to 2.0.0


----------------------------------------
Bug #6571: Time.mktime Y2K38 problem on 1.9.3p125 i386-mingw32
https://bugs.ruby-lang.org/issues/6571#change-27157

Author: MartinBosslet (Martin Bosslet)
Status: Assigned
Priority: Normal
Assignee: MartinBosslet (Martin Bosslet)
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3p125 (2012-02-16) [i386-mingw32]


=begin
This came up in https://bugs.ruby-lang.org/issues/6122.

(({Time.mktime(2038, 1, 19, 11, 14, 8)})) failed. To my understanding, 
32 bit Time
issues shouldn't occur in 1.9.3? I'm assigning this to Luis, maybe he 
knows
about this and what to do? Please feel free to reassign back to me.
=end
Posted by Martin Bosslet (martin_b)
on 2012-06-12 02:13
(Received via mailing list)
Issue #6571 has been updated by MartinBosslet (Martin Bosslet).

Category changed from core to ext

Thanks for your analysis, guys. Makes sense now, why I couldn't 
reproduce it on 64 bits. The original #6122 did not contain the actual 
error that was raised, so thanks Heesob for pointing me towards the 
solution!
----------------------------------------
Bug #6571: Time.mktime Y2K38 problem on 1.9.3p125 i386-mingw32
https://bugs.ruby-lang.org/issues/6571#change-27173

Author: MartinBosslet (Martin Bosslet)
Status: Assigned
Priority: Normal
Assignee: MartinBosslet (Martin Bosslet)
Category: ext
Target version: 2.0.0
ruby -v: ruby 1.9.3p125 (2012-02-16) [i386-mingw32]


=begin
This came up in https://bugs.ruby-lang.org/issues/6122.

(({Time.mktime(2038, 1, 19, 11, 14, 8)})) failed. To my understanding, 
32 bit Time
issues shouldn't occur in 1.9.3? I'm assigning this to Luis, maybe he 
knows
about this and what to do? Please feel free to reassign back to me.
=end
Posted by mghomn (Justin Peal) (Guest)
on 2012-12-06 09:17
(Received via mailing list)
Issue #6571 has been updated by mghomn (Justin Peal).


Great thanks to all of you.
----------------------------------------
Bug #6571: Time.mktime Y2K38 problem on 1.9.3p125 i386-mingw32
https://bugs.ruby-lang.org/issues/6571#change-34464

Author: MartinBosslet (Martin Bosslet)
Status: Assigned
Priority: Normal
Assignee: MartinBosslet (Martin Bosslet)
Category: ext
Target version: 2.0.0
ruby -v: ruby 1.9.3p125 (2012-02-16) [i386-mingw32]


=begin
This came up in https://bugs.ruby-lang.org/issues/6122.

(({Time.mktime(2038, 1, 19, 11, 14, 8)})) failed. To my understanding, 
32 bit Time
issues shouldn't occur in 1.9.3? I'm assigning this to Luis, maybe he 
knows
about this and what to do? Please feel free to reassign back to me.
=end
Posted by mame (Yusuke Endoh) (Guest)
on 2013-02-18 13:52
(Received via mailing list)
Issue #6571 has been updated by mame (Yusuke Endoh).

Target version changed from 2.0.0 to next minor


----------------------------------------
Bug #6571: Time.mktime Y2K38 problem on 1.9.3p125 i386-mingw32
https://bugs.ruby-lang.org/issues/6571#change-36523

Author: MartinBosslet (Martin Bosslet)
Status: Assigned
Priority: Normal
Assignee: MartinBosslet (Martin Bosslet)
Category: ext
Target version: next minor
ruby -v: ruby 1.9.3p125 (2012-02-16) [i386-mingw32]


=begin
This came up in https://bugs.ruby-lang.org/issues/6122.

(({Time.mktime(2038, 1, 19, 11, 14, 8)})) failed. To my understanding, 
32 bit Time
issues shouldn't occur in 1.9.3? I'm assigning this to Luis, maybe he 
knows
about this and what to do? Please feel free to reassign back to me.
=end
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.