JDK-4479689 : VM does not defend against OutOfMemory errors on MDO creation
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 1.4.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2001-07-13
  • Updated: 2001-07-19
  • Resolved: 2001-07-19
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 beta2Fixed
Related Reports
Relates :  
Description
OutOfMemory errors are not frequent, but when they do occur they must
not cause the VM to crash.  However, if an application happens to
get an OOM error while attempting to create a method-data object,
the resulting exception will be misrouted, since VM calls which
create MDOs do not expect exceptions.

(This is a flaw in the recent implementation of MDOs.  It arose as
an issue during the fix to 4472895.)

Also, uncommon traps on certain heroic optimizations (null_cast, range_check)
do not set the "sticky bit" on the MDO, and so the heroic optimizations
are retried ad infinitum, causing many uncommon traps and recompilations.
This problem was observed in work on 4472895.  It has only been seen in -Xcomp
mode so far, and perturbs -Xcomp based testing.  The "sticky bit" is not set
because there is no MDO to store it on.  Creating the MDO eagerly in the
uncommon trap handler fixes this problem.


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

EVALUATION Will fix in Merlin. david.spott@Eng 2001-07-13
13-07-2001