Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4724509
Votes 2
Synopsis [1.3.1_04] Exception in "CompileThread0" java.lang.OutOfMemoryError: alloc 512MB
Category hotspot:compiler2
Reported Against ladybird , s28u7_10
Release Fixed
State 11-Closed, Not Reproducible, bug
Priority: 2-High
Related Bugs 4463485 , 4769666 , 4789803 , 5046021
Submit Date 01-AUG-2002
Description



Platform: Solaris

Operating System Level/Version: 5.8

Release Information: 1.3.1_04-b02

Maybe related to 4463485

Application server exits when the HotSpot compiler requests 512 Mb:

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

Unfortunately there is no core file as this error surfaces as an
unhandled OutOfMemory exception. 
======================================================================
Work Around



Use the client HotSpot compiler (C1).
======================================================================

Additional work around:
      Run with -XX:+PrintCompilation to determine which method is causing
      the compiler to hang.  Then exclude that method in the .hotspot_compiler
      file:
         echo >> ./.hotspot_compiler 'exclude package/class method'
 
  xxxxx@xxxxx   2003-01-27
Evaluation
This error is probably being printed from vm_exit_out_of_memory(), but it's
not clear from the bug report which allocation in the compiler is failing.
May be possible to get more information by running with a non-product (debug
or optimized) build with -XX:+TraceExceptions ; also can try running in the
debugger and setting a breakpoint in vm_exit_out_of_memory().

Apparently this is occurring with the server compiler so reassigning to
compiler2.

  xxxxx@xxxxx   2002-08-01

Attached the output from -XX:+PrintCompilation -verbose:class
runs to the bug (its in the file output.zip). Dave Korbel is
trying to get a test case and will get a core from a fastdebug 
run.

  xxxxx@xxxxx   2002-08-13

Customer ran with fastdebug and got the following assertion failure:

The log contains the following assertion failure:
[src/share/vm/opto/loopnode.cpp, line 319]

       assert(du->cnt(iftrue) == 1 && du->out(iftrue)[0] == x, "")

I've attached the log file (stdout.txt[.Z]) to the bug.

  xxxxx@xxxxx   2002-08-21

After removing the assertion above we get the following assertion:

367      com.ibm.sslite.w::rdTime (388 bytes)
...
#
# HotSpot Virtual Machine Error, assertion failure
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# assert(found || old == du->C->_top_node, "missing du edge")
#
# Error ID: 
/net/altair.east/terra/space5/chrisph/1.3.1_04-local/src/share/vm/opto/phaseX.cp
p, 1540 [ Patched ]

with a stack as follows:
 (Note we get the following dbx error:
dbx: error in parsing nested blocks .....)

  [1] __sigprocmask(0x0, 0xca3ffbd8, 0x0, 0x0, 0x0, 0x0), at 0xff369794
  [2] _resetsig(0xff36bf6c, 0x0, 0x0, 0xca401d70, 0xff37e000, 0x0), at 0xff35e9a0
  [3] _sigon(0xca401d70, 0xff385938, 0x6, 0xca3ffcac, 0xca401d70, 0x6), at 0xff35e140
  [4] _thrp_kill(0x0, 0xc, 0x6, 0xff37e000, 0xc, 0xff2be448), at 0xff361180
  [5] raise(0x6, 0x0, 0x0, 0xffffffff, 0xff2be3b4, 0x4), at 0xff24b758
  [6] abort(0xff2ba000, 0xca3ffe00, 0x0, 0xfffffff8, 0x4, 0xca3ffe21), at 0xff235a7c
=>[7] os::abort(0xfe44e3ec, 0x1, 0x26998, 0x17ab78, 0x1, 0xfe41eba4), at 0xfdefa978
  [8] report_error(0x1, 0xfe46c5ec, 0xa, 0xfe294528, 0xfe294624, 0xfe4f4f00), at 0xfdd50e6c
  [9] report_assertion_failure(0xfe41eb80, 0xfe41eba4, 0x604, 0xfe41ebf8, 0xca400fc8, 0x0), at 0xfdd5074c
  [10] Node::set_req_du(0xfe41ebf8, 0xfe46cadc, 0x0, 0xabc200, 0x0, 0x0), at 0xfe228f6c
  [11] Node::set_req(0xbf9d58, 0xfe4055d4, 0x1, 0xbf9d38, 0xfe46cadc, 0xca400fc8), at 0xfe1bc9fc
  [12] PhaseIdealLoop::clone_up_backedge_goo(0xca400bd8, 0xca400fc8, 0xbf9d58, 0x1, 0xbf9d38, 0xabc200), at 0xfe1b8388
  [13] PhaseIdealLoop::insert_pre_post_loops(0xfe44e3ec, 0xf78c60, 0x6, 0xe75338, 0xabc1d0, 0xca400fc8), at 0xfe1b8ce4
  [14] IdealLoopTree::iteration_split_impl(0x0, 0x0, 0x1, 0xabc264, 0x0, 0xfe44e3ec), at 0xfe1bb824
  [15] IdealLoopTree::iteration_split(0xfe44e3ec, 0xca400bd8, 0xca400b14, 0xe75338, 0xca400bd8, 0xbf6828), at 0xfe1bb9c8
  [16] IdealLoopTree::iteration_split(0xfe44e3ec, 0xca400bd8, 0xca400b14, 0xe752f8, 0xca400bd8, 0xd727a8), at 0xfe1bb8e4
  [17] PhaseIdealLoop::PhaseIdealLoop(0xfe46c958, 0xca400e88, 0x0, 0xfe4f4f00, 0xfe44e3ec, 0x1695), at 0xfe1a977c
  [18] Compile::Optimize(0xca401658, 0xfe46cadc, 0xfe44e3ec, 0x1, 0x1, 0xca401658), at 0xfe1149e4
  [19] Compile::Compile(0xfe46ca78, 0xfe4f82ec, 0x91b268, 0xfe44e3ec, 0x8a4748, 0xca401798), at 0xfe112db0
  [20] C2Compiler::compile_method(this = ???, env = ???, scope = ???, target = ???, entry_bci = ???, reuse_env = ???) (optimized), at 0xfe0ed188 (line ~20) in "c2compiler.cpp"
  [21] CompileBroker::invoke_compiler_on_method(0xfe46c894, 0x91b268, 0x91b174, 0x17ab78, 0x0, 0xffffffff), at 0xfe01fe94
  [22] CompileBroker::compiler_thread_loop(0x0, 0x5, 0xbcbe58, 0xfe46cadc, 0x17aab0, 0x0), at 0xfe01fa98
  [23] compiler_thread_entry(0x17ab78, 0xfe364830, 0xfe46cadc, 0xfe44e3ec, 0x1, 0x17ab78), at 0xfdf9c154
  [24] JavaThread::thread_main_inner(0x17ab78, 0xfe362f44, 0xfe46cadc, 0x1, 0x17ab78, 0x6), at 0xfdf98db4
  [25] JavaThread::run(0xfe362ebc, 0xfe46cadc, 0xfe44e3ec, 0x1, 0x17ab78, 0x0), at 0xfdf98c6c
  [26] _start(0x17ab78, 0xfe330b08, 0xfe46cadc, 0xfe44e3ec, 0x17b688, 0x1), at 0xfdef9334
We are going to exclude the above method (com/ibm/sslite/w rdtime)
and see if that works around the issue. If so we'll get the print from that
method and the bytecode/or java and see if we can create a test case.

  xxxxx@xxxxx   2002-09-03

IBM has re-opened this in a new escalation. Attached is new info.

Deleted information was based on an incorrect java source file provided.
Please ignore.

Additional info....
Many of the problems appear to occur in the sslite java code.
Another workaround may be to use Sun's JSSE implementation. 
[See bug# 4789803  http://sdn.sfbay.sun.com/cgi-bin/bug2html?4789803 ]

Also the fix to bug# 4769666 
 [ http://sdn.sfbay.sun.com/cgi-bin/bug2html?4769666 ]
appears to have impact on this. Please note thet this problem
is not a memory leak but rather a bug in the C2 compiler that
causes it to calculate and request absurd memory requirements.

  xxxxx@xxxxx   2003-01-27

This bug was difficult to reproduce initially and became very rare after
1.3.1_07,  bug was no longer reproduceable after 1.3.1_07 + the
fix for 4769666. This fix is in 1.3.1_08.
Closing bug as not reproduceable.

  xxxxx@xxxxx   2003-04-30
Comments
  
  Include a link with my name & email   

Submitted On 27-AUG-2002
Joanna_zhy
this happened on windows 2000, java version : 1.3.1_01 too.
when I was using java -server myapp


Submitted On 20-SEP-2002
TonyChen
Also happens on :

Host Operating System is SunOS, version 5.8
Java version = JPSE_1.3.1_20020313, Java Compiler = null, 
Java VM name = Java HotSpot(TM) Server VM

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

It might also asks for 1GB :

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


Submitted On 04-OCT-2002
tlafoon
I am experiencing this problem also. Has there not been 
progress on this Bug since 9/20? 



PLEASE NOTE: JDK6 is formerly known as Project Mustang