JDK-6491621 : Documentation for timeouts cause garbage retention in java.util.concurrent lock
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.util.concurrent
  • Affected Version: 5.0
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2006-11-09
  • Updated: 2011-02-16
  • Resolved: 2007-01-05
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
FULL PRODUCT VERSION :


A DESCRIPTION OF THE PROBLEM :
As reported in bug 6457123, timed waits for instances of java.util.concurrent classes can leak memory. As it is not going to be fixed, this bug should be documented in the Javadoc for the API of Lock, Queue, CountDownLatch, and so forth. Even a short note mentioning the bug number 6457123 would be helpful.

If the problem were documented at the API level, it would likely save thousands - perhaps tens of thousands - of hours of debug time over the coming years.

ACTUAL -
I spent about twenty hours figuring out that the genuinely odd behaviour we were seeing in the production app was due to a memory leak.

REPRODUCIBILITY :
This bug can be reproduced always.

Comments
EVALUATION We have a *real* fix for 6460501: Synchronizer timed acquire still leaks memory and a backport for jdk5 is in progress, so I am closing this as a dup of 6460501.
05-01-2007

EVALUATION Unfortunately, we don't modify the javadoc for update releases. Apparently our fix for 6236036: Timeouts can cause garbage retention in lock classes was incomplete. A more complete fix for this problem is being undertaken in 6460501: Synchronizer timed acquire still leaks memory Hopefully we will get it right this time. We will try to backport this to all relevant releases. If and when 6460501 is backported to java 5, this CR should be closed as a dup of that.
09-11-2006