JDK-6626774 : Plugin2: ClassLoader cache leak if the applet fails to load some class
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-11-06
  • Updated: 2010-09-08
  • Resolved: 2008-06-13
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.
JDK 6
6u10 b08Fixed
Related Reports
Relates :  
Description
This is a stop applet bug. Under the situation an applet is not loaded correctly, for instance, the ClassNotFoundException, the applet is not stopped correctly after leave the page or reload.
The applet ThreadGroup and AppContext are not disposed during reloading, the cache entry of the Applet2ClassLoader is live and refCount keep increasing.

Comments
EVALUATION When errors (null applet, ClassNotFoundException, etc.) happened in applet start, applet stop did not do some routine cleanups such as checking ClassLoader cache, disposing AppContext, notifying LiveConnect worker thread. It resulted in ClassLoader cache reference count leak and Exceptions being thrown. To fix it, we need call the cleanup routines in the applet stop when errorOccurred during applet start.
09-11-2007