Jvm with some options can not catche stackOverFlow as an exception.
In some cases, JVM terminates with Segmantation fault ,
or in other cases, the behavior seems to be infinite loop.
1. Reproduce
1) Compile the attached program
2) Invoke java command with some options
ex.
java -server StackTest24 10000
2. Results
Command line is
java [option] StackTest24 10000
2.1 Solaris
options -Xint default -server
-------------+----------+------------+-----------
1.3.1_04 | NG1 | NG1 | NG1
-------------+----------+------------+-----------
1.4.0_01 NG2 O.K NG2
-------------+----------+------------+-----------
1.4.1rc-b19 NG2 O.K NG2
-------------------------------------------------
NG1 : Hotspot runtime Error
NG2 : Segmentation fault occurs
O.K : StackOverflow is caught by try-catch block
FYI: Linux(Turbo linux 7.0(Japanese))
options -Xint default -server
-------------+----------+------------+-----------
1.4.0 (fcs) loop loop loop
-------------+----------+------------+-----------
1.4.1rc-b19 loop loop loop
-------------------------------------------------
loop : looks infinite loop ?, program does not end up.
The above result can be seen by
"java [option] StackTest24 100000"
^^^^^^^
With 10000, it does not happen.
3. Configration
goedel[11]% uname -a
SunOS goedel 5.7 Generic_106541-15 sun4u sparc SUNW,Ultra-60
goedel[12]% psrinfo -v
Status of processor 0 as of: 08/14/02 16:58:31
Processor has been on-line since 08/05/02 15:23:41.
The sparcv9 processor operates at 296 MHz,
and has a sparcv9 floating point processor.
4. Note
- Attachement
StackTest24.java : Test program
hs_err_pid28400.log : log file in 1.3.1_04 on Solaris
- Setting the option -Xss8m, but it did not suppress the
segmentations falt.
2002-08-16
==============================================================================