[Bug 394] pre Epoch bug : java.lang.ExceptionInInitializerError on systems with uninitialized clock/triggered after Y2038 time overflow on 32bit systems

bugzilla-daemon at icedtea.classpath.org bugzilla-daemon at icedtea.classpath.org
Mon Jun 28 01:55:56 PDT 2010


http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=394





------- Comment #13 from aph at redhat.com  2010-06-28 08:55 -------
> (In reply to comment #10)
>> The Y2038 bug is an issue with 32-bit systems only as time_t = pointer size. 
>> So it affects x86 and arm, but not x86_64 where time_t will be 64-bit.
> 
> This bug can still hit on both 64bit and 32bit systems since time_t are
> *signed*.
> 
> when time_t < 0 then it refers to pre Epoch time on both 32bit and 64bit
> systems 

This doesn't make any sense.  currentTimeMillis() returns the current
time in milliseconds.  The current time is not before 1970, and never
will be.

> John wrote:

>> Any checks that are failing simply because currentTimeMillis() is
>> negative are bugs in themselves IMO (unless they really mean to
>> check that the system clock is later than 1970), and should be
>> fixed separately if found.
> 
> I cant agree more, and this bug are one of these cases when Java fails to
> launch because currentTimeMillis() returns a negative number.

If currentTimeMillis() returns a negative number (on a 64-bit system), the
system is not Java compatible.


-- 
Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the distro-pkg-dev mailing list