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: 4697667
Votes 1
Synopsis nsk/regression/b4278848 dumps core with Client VM
Category hotspot:compiler1
Reported Against 1.4 , hopper , mantis , s9u6_08a , hopper-rc , hopper-fcs , merlin-rc1 , hopper-beta , merlin-beta , merlin-beta2 , merlin-beta3
Release Fixed 1.4.2(mantis)
State 10-Fix Delivered, Verified, bug
Priority: 2-High
Related Bugs 4427144 , 4502373 , 4525850 , 4646281 , 4716338 , 4732557 , 4742778 , 4743133 , 4742278 , 4810721
Submit Date 05-JUN-2002
Description
Many stack overflow problems have been fixed using a more general method
of detecting stack overflow from Java code.  The VM does not detect stack
overflow from native code however.   If you get a segmentation fault or
"An irrecoverable stack overflow has occurred", you may need more space to
run your native code if it has reached the top of a Java stack.  There is a
tuning parameter -XX:StackShadowPages=n that you can increase from 3 to what
the native code requires so that stack overflow is detected and has room
to throw the exception.
Build : 1.4.1-b14 (Hopper Beta)
Test : nsk/regression/b4278848
TestBase : testbase_nsk
VM : client VM
Mode : mixed,  comp
OS :  solx86

Steps to reproduce :
1. cd /net/sqesvr.sfbay/export/vsn/GammaBase/Bugs/{BugID}
2. sh doit {JAVA_HOME}

Error output:
--------------------
sh doit.sh

/net/alpheridies/export/VM/hopper/weekly/JDK/latest/solx86/bin/java -client -DHANGINGJAVA -client -Xmixed b4278848

Segmentation Fault - core dumped
Status = 139
------------------------------------------------
/net/alpheridies/export/VM/hopper/weekly/JDK/latest/solx86/bin/java -client -DHANGINGJAVA -client -Xcomp b4278848

Segmentation Fault - core dumped
Status = 139
------------------------------------------------

 xxxxx@xxxxx  2002-06-05
Work Around
N/A
Evaluation
This test is a stress test for stack overflow errors in native code. We will
look into it, but it is not a Hopper showstopper.

The test fails in -Xint mode as well.

 xxxxx@xxxxx  2002-06-17


 xxxxx@xxxxx  has suggested that we bang the stack a configurable
number of pages ahead in the JavaCalls::call stub and maintaining that number of
banged pages both in the interpreter and both compilers. Currently C2 does this
in their I2C adapters but the interpreter and C1 do not. This is probably the
best possible solution for stack overflow problems (which are not solvable in
the general case) and would simplify the associated logic on both platforms.

 xxxxx@xxxxx  2002-06-21

The changes above have been applied to the hotspot compilers and interpreter and
this and  xxxxx  stack overflow detection bugs are fixed.  This general solution
has been applied to both compilers and the interpreter so they should all
detect and throw StackOverflowError the same.  A new hotspot tuning variable
-XX:StackShadowPages=n can be increased for deeply nested native code near the
stack limit, to detect stack overflow from the java caller.  The value of 'n'
is number of pages the deeply nested native code needs, and should be greater
than 3 which is the number of pages the VM and known runtime code needs.

Several  xxxxx  bugs have been made a duplicate of this bug.  The  xxxxx  bugs have
different failure modes, but the root cause was the same.  See the "see also"
list.

 xxxxx@xxxxx  2002-10-16
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang