JDK-4484290 : JDK1.3.1: WebLogic6.1 appserver dies with OutOfMemoryError
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 1.3.1,1.3.1_01,1.3.1_02
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_2.4,solaris_8,windows_nt
  • CPU: generic,x86
  • Submitted: 2001-07-25
  • Updated: 2013-11-01
  • Resolved: 2001-10-03
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.3.1_02 02Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
Weblogic 6.1 appserver dies with OutOfMemoryError while running ECperf benchmark on windows nt.  OutOfMemoryError occurs only with server VM on Windows NT and usually within the first 10 minutes of running.

Exception in thread "CompileThread0" java.lang.OutOfMemoryError: requested 100663304 bytes

Because ECperf is rather complicated to setup, please contact eileen.yang@eng to access machines on which to replicate the problem.

  

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.3.1_02 1.3.1_03 FIXED IN: 1.3.1_02 INTEGRATED IN: 1.3.1_02 VERIFIED IN: 1.3.1_02
14-06-2004

WORK AROUND use compiler1
11-06-2004

SUGGESTED FIX ------- cfgnode.cpp ------- 519c519 < return TypeInt::make(lo->_lo,hi->_hi); --- > return TypeInt::make(lo->_lo,hi->_hi,3); ------- connode.cpp ------- 2c2 < * %W% %E% %U% --- > * @(#)connode.cpp 1.143 01/02/16 10:59:48 148,149c148,150 < const Type *CMoveNode::Value( PhaseTransform *phase ) const { < return phase->type(in(IfFalse))->meet(phase->type(in(IfTrue))); --- > const Type *CMoveNode::Value( PhaseTransform *phase ) const { > const Type *t = phase->type(in(IfFalse))->meet(phase->type(in(IfTrue))); > return phase->widen(t, phase->_types[_idx]); // Widen once per Phi
11-06-2004

EVALUATION The culprit seems to be java.util.SimpleTimeZone::getOffset Adding a -XX:CompileOnly=.getOffset I can reproduce the bug, but I can't get MSVC++ to stop before it gives me an "out of memory" error. ###@###.### 2001-08-21 The fix seems to work, but performance is still slow. Also, there are a few timeouts waiting for weblogic. Looks like something else is wrong... working on it. ###@###.### 2001-09-10 This bug has been fixed and the fix is included in our latest release, 1.3.1_02. It is now publically available on our website at java.sun.com ###@###.### 2002-01-03
10-09-2001