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: 5053921
Votes 0
Synopsis Application crashes using :XX+UseTLE and -server on Windows
Category hotspot:compiler2
Reported Against 1.3.1_12
Release Fixed 1.3.1_14(b01)
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs 6583812
Submit Date 27-MAY-2004
Description
The application crashes at boot time when using 1.3.1_12-b02 (_11 as well)
use UseTLE in conjunction with the -server option on Windows.

Symptoms:
The application crashes always with-server -XX+UseTLE. -printCompilation shows that it crashes with different methods being compiled.
Excluding methods allows the application to  customer . It however crashes
later (methods being excluded 3 times with and without -xcomp).

The application never crashes with -Xint or -client in conjunction with -XX:UseTLE.

The application crashes without any hot spot err id.

The application crashes as well with a fulldebug version.
It runs into assertion failures.

See two following logs.

Assertion seems to be


# assert(_no_handle_mark_nesting == 0, "allocating handle inside NoHandleMark")

#

# Error ID: D:\BUILD_AREA\jdk131-update\ws\fcs\hotspot\src\share\vm\runtime\handles.cpp, 18

#

# Problematic Thread: prio=5 tid=0x6d346d90 nid=0x188c runnable

#

[error occured during error reporting]

see attachment trace2.txt
Work Around
-client option
Evaluation
In chaitin.cpp:
 PhaseChaitin::stretch_base_pointer_live_ranges:
 
 A non oop derived pointer is dealt like a oop to get base oop pointer. change:

------- chaitin.cpp -------
1894c1894
<           if( tj && tj->_offset != 0 ) {
---
>           if( tj && tj->_offset != 0 && tj->isa_oop_ptr()) {
avoid the crash in SwingSet2.
The binary delivered to customer for test.

The bug is solved in merlin beta2, before that version, all failed with -XX:+UseTLAB (UseTLE in 131). 
This part in graphKit.cpp gives well explaination:
  // We need a Region for the loop-back contended case.  The loop-back edge
  // is dead and the Region unused with TLABs.  We'll make it anyways and
  // rely on the optimizer to fold it away.  Then we'll do the folding in the
  // parser but it will simplify things to have all the logic around for the
  // general case.
So the true fix for this problem is buried in the big changes which occured from beta to beta2.

  xxxxx@xxxxx   2004-06-28

Above diff works for customer. 
A non OopPtr in this case (UseTLE applied) was used to get the base pointer caused this failure.  

  xxxxx@xxxxx   2004-08-25
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang