JDK-4271484 : Internal Error in StackOverflow situation
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 2.0
  • Priority: P1
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows_nt
  • CPU: x86
  • Submitted: 1999-09-14
  • Updated: 1999-09-15
  • Resolved: 1999-09-15
Related Reports
Relates :  
Description

Name: dkC59003			Date: 09/14/99



HotSpot Server 2.0beta-C sometimes crashes giving internal error
while running the test nsk/regression/b4254544. The error is
intermittent (I tried 5 times successively and got 2 failures).
The test is based on the bugreport 
#4254544 Internal error with Hotspot VM when a HashMap is inserted into itself
filed against 1.0_fcs, which is closed as not reproducible.
This b4254544 test failure was not observed with any other HotSpot
release.
Log and test source follow:

$ java -version
java version "1.2.2"
Java(TM) HotSpot Server VM (2.0beta, mixed mode, build C)
$ java  b4254544
#
# HotSpot Virtual Machine Error, Internal Error
#
# Error ID: 53484152454432554E54494D450E435050013E
#

ErrorID program translates this error ID as: sharedRuntime.cpp, 318

------------------------------------------------------------- b4254544.java
import java.io.PrintStream;
import java.util.HashMap;

public class b4254544 {

    public static void main(String argv[]) {
	System.exit(run(argv, System.out) + 95/*STATUS_TEMP*/);
    }

    public static int run(String argv[], PrintStream out) {
	HashMap hm = new HashMap();
	for (int i = 0; i < 10; i++)
	    hm.put(new Integer(i), new Integer(i));
	hm.put(hm, hm);
	for (int i = 0; i < 10; i++)
	    hm.get(new Integer(i));
	try {
	    out.println(hm.get(hm));
	} catch (StackOverflowError e) {
	}
	return 0/*STATUS_PASSED*/;
    }
}

======================================================================

Comments
EVALUATION Could not reproduce with 1.0fcs, or 1.0.1, with/without _g version. Tried many runs. benedict.gomes@eng 1999-09-14 This is not a bug. The problem is caused by stackoverflow in runtime code. There is no way to recover from this kind of problem. A better error message is needed to explain the situation instead of just saying internal error. (This has already been done.) ###@###.### 1999-09-15
15-09-1999