JDK-6291845 : Test iload_w00310m1t8p failed with runtime exception java.lang.StackOverflowError
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2005-06-28
  • Updated: 2011-01-27
  • Resolved: 2005-12-21
Related Reports
Relates :  
Relates :  
Description
JAVA VERSION
==============
java version "1.6.0-ea"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-ea-b42)
Java HotSpot(TM) Client VM (build 1.6.0-ea-b42, mixed mode)

OS & HARDWARE
==============
Windows XP, Solaris i586

Description of Problem
=========================
Test vm/instr/iload_w/iload_w003/iload_w00310m1t/iload_w00310m1t.html
failed with runtime exception java.lang.StackOverflowError

TO REPRODUCE
=======================================================================
I've prepared standalone test to simply reproduce issue.

# untar attached archive
# run test
$java -cp . p.iload_w00310m1t

###@###.### 2005-06-28 18:44:29 GMT

Comments
EVALUATION Closing as "will not fix" because tests are correct but couldn't pass on particular platform in plugin mode with default stack size. And, for this platform we have decision to not change default stack size. The tests will be run with -Xss in plugin mode on this platform.
21-12-2005

EVALUATION I want to reassign this back to the jck testers to fix plugin parameters to run this test. Who do I assign it to?
06-12-2005

EVALUATION From plugin: After looking at this, and discussing with Steve, we agree that this jck test should either have its default values bumped up when run within plugin or the test should be excluded as a plugin JCK test for mustang. The final coment in the coments section by Igna, "tests should passed with the same set of parameters in plugin and non-plugin mode." , is just not true. Any test that operates at any resource limit (such as stack size), will be affected by running with other middleware, such as the the plugin. /Andy
01-12-2005

EVALUATION Test needs -Xss512k stack space for this test. Much too large to make default on windows. Please run the test with this option.
18-11-2005

EVALUATION Appears b59 this now passes and b58 it was failing. Closing as addressed in b59. No code change putback that we know of that addressed this issue.
10-11-2005

EVALUATION On Windows, this test needs to run with a bigger stack size because the StackOverflow is justified. It uses a big stack. On Windows the system default stack size should be used as the default. I can't bump this up as I did for Linux and Solaris. On Windows, the default stack size comes from the .EXE file, so there's another bug where -Xss doesn't work if the thread running into StackOverflow is the primoridal thread (4689767). So if the test doesn't pass with -Xss512k (or higher), then that is that bug. That bug is also a duplicate of 6316197. I'm making this a test bug.
25-10-2005

EVALUATION Fixed 6282841: Plumhall jvs/ch6/j63p31_x exceeds default thread stack size on solaris-i586 Fixed 6291845: Test iload_w00310m1t8p failed with runtime exception java.lang.StackOverflowError Revert previous change to increase stack size to 512 for tagged stack interpreter that I snuck in with that putback. Stack size doesn't need to be a power of two and that hurts the number of threads that can be created. Make stack size be 320 - this allows the tests in the bug reports to run without stack overflow and allows the TaggedStackInterpreter to run also on these jck tests that have a lot of locals without getting StackOverflowError. javasoft.sqe.tests.vm.instr.dload_w.dload_w001.dload_w00101m1.dload_w00101m1 javasoft.sqe.tests.vm.instr.dstore_w.dstore_w005.dstore_w00501m1.dstore_w00501m1 Fix verified (y/n): y Verified by: test cases submitted (tests are in our normal test suites no need to be added). Other testing: PRT and jck with -XX:+TaggedStackInterpreter volano on linux/x86 (since 320 < current default) runThese -full linux/x86 -client Webrev: http://jruntime.east/~coleenp/webrev/17Aug05_14:38:13 Reviewed by: hui, sbohne, phh
17-08-2005

EVALUATION This test has a function public static Method run:"([Ljava/lang/String;Ljava/io/PrintStream;)I" stack 2 locals 65535 which uses up java stack. It fails in fastdebug because the VM functions in fastdebug and product use more stack in VM C++ methods due to inlining than jvmg. Bumping the default stack size to 320 on i486 platforms makes this test pass. With -XX:+TaggedStackInterpreter this test requires -Xss540k but that's too big for the default just to have this one test pass.
17-08-2005

WORK AROUND Bump up stacksize will make issue go away.. I ran with -Xss281k.. or use 64bit jvm and issue goes away. ###@###.### 2005-06-29 12:32:23 GMT
28-06-2005