JDK-4503551 : Too short waits: roll forward 4275818 from 1.2.2.x
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.3.0,1.4.0
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_7,solaris_8
  • CPU: generic,sparc
  • Submitted: 2001-09-17
  • Updated: 2012-10-08
  • Resolved: 2001-09-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.4.0 beta3Fixed
Related Reports
Duplicate :  
Description
With the switch to UseLWPSynchronization as default, we run into a Solaris
bug, 4501753 which had a rounding problem with lwp_cond_timedwait calls.

This results in wait calls, with small millisecond values, returning
immediately, i.e. with a wait of 0, which is against the spec.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin-rc1 FIXED IN: merlin-rc1 INTEGRATED IN: merlin-beta3
14-06-2004

EVALUATION See suggested fix.
11-06-2004

SUGGESTED FIX The fix in 1.2.2.x was to round up the milliseconds requested by "11", the magic rounding number found via experimentation on Solaris. This was fixed under bug # 4275818. Given that there is now a Solaris fix for Solaris 9, and Solaris 8 (I believe patch >= 5) we chose a subset fix so as to minimize performance impact. In order to not have waits of time zero, for timeout values <= 11, we round up so the timeout value will be 11. For Solaris 6, 7, and most Solaris 8 systems, this will leave us with a short, but non-zero, legal timeout value. For Solaris 9, this timeout will be rounded up and be a little long. All other timeout values are left alone. note: two tests attached - SleepTest.java and SleepTest1.java
11-06-2004