I've got the following problems:
1) The result of System.nanoTime() on Solaris/AMD64 returns unexpectedly huge value and then doesn't increase: http://forums.java.net/jive/thread.jspa?threadID=61998
2) During an execution of java.util.concurrent.locks.Condition.await(timeout, TimeUnit.MILLISECONDS) a thread hangs on Solaris/AMD x64 instead of being resumed after timeout is gone: http://forums.java.net/jive/thread.jspa?messageID=341135
The first problem causes the second one. So we can speak about one problem with nanoTime on AMD/Solaris.
The environment is:
java version "1.6.0_14" (in the attached posts java version is 1.6.0_13, but I've just run the tests again on 1.6.0_14 - the problem is still reproduced)
SunOS x2001 5.10 Generic_137138-09 i86pc i386 i86pc
x2200 M2, AMD Opteron 2356 2 CPU x Quad-Core 2312 MHz, 16 GB RAM
If you have available AMD dual or quad core CPU (for example from the list http://www.sun.com/x64/products_amd.jsp), could you please run the Java test attached to the first post http://forums.java.net/jive/thread.jspa?threadID=61998 ? I just want to figure out if this problem is global or there is something wrong with my x2200 or Solaris 10.
After applying the latest Solaris release from May 2009 "Kernel version: SunOS 5.10 Generic_139556-08, Solaris 10 5/09 s10x_u7wos_08 X86", the bug is not reproduced any longer.