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: 4525530
Votes 0
Synopsis REGRESSION: Stack overflow and Error ID: 53484152454432554E54494D450E43505000DB
Category hotspot:other
Reported Against 1.3
Release Fixed
State 11-Closed, duplicate of 4298656, bug
Priority: 4-Low
Related Bugs 4298656
Submit Date 09-NOV-2001
Description




java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)

I tested java with a highly-recursive program. I tested, when a stack-overflow
occurs. I expected a stack-overflow or a running program. Instead this, java
requested me to report this error:
#
# HotSpot Virtual Machine Error, Internal Error
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Error ID: 53484152454432554E54494D450E43505000DB
#
# Problematic Thread: prio=5 tid=0x761990 nid=0x106 runnable
#

the following function call failed:
Ackermann(1L,6666L)

here is the java source:

package de.unilog.java.grundlagen;
public class HJW{

// Zeilenkommentar

/* mehrzeiliger
   Blockkommentar

java de.unilog.java.grundlagen.HJW
   
*/

public static void main(java.lang.String[] Uebergabeparameter)
{
    Ackermann();
}


private static void Ackermann()
{
  java.lang.System.out.println("Ackermann 0 -> " + Ackermann(0L,0L));
  java.lang.System.out.println("Ackermann 0 -> " + Ackermann(0L,1L));
  java.lang.System.out.println("Ackermann 0 -> " + Ackermann(0L,2L));
  java.lang.System.out.println("Ackermann 0 -> " + Ackermann(0L,3L));
  java.lang.System.out.println("Ackermann 0 -> " + Ackermann(0L,4L));
  java.lang.System.out.println("Ackermann 0 -> " + Ackermann(0L,5L));
  java.lang.System.out.println("----------------------------------");
  java.lang.System.out.println("Ackermann 1 -> " + Ackermann(1L,0L));
  java.lang.System.out.println("Ackermann 1 -> " + Ackermann(1L,1L));
  java.lang.System.out.println("Ackermann 1 -> " + Ackermann(1L,2L));
  java.lang.System.out.println("Ackermann 1 -> " + Ackermann(1L,3L));
  java.lang.System.out.println("Ackermann 1 -> " + Ackermann(1L,4L));
  java.lang.System.out.println("Ackermann 1 -> " + Ackermann(1L,5L));
  java.lang.System.out.println("Ackermann x -> " + Ackermann(1L,6666L));
  java.lang.System.out.println("----------------------------------");
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,0L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,1L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,2L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,3L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,4L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,5L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,6L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,7L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,8L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,9L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,10L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,11L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,12L));
  java.lang.System.out.println("Ackermann 2 -> " + Ackermann(2L,13L));
  java.lang.System.out.println("----------------------------------");
  java.lang.System.out.println("Ackermann 3 -> " + Ackermann(3L,0L));
  java.lang.System.out.println("Ackermann 3 -> " + Ackermann(3L,1L));
  java.lang.System.out.println("Ackermann 3 -> " + Ackermann(3L,2L));
  java.lang.System.out.println("Ackermann 3 -> " + Ackermann(3L,3L));
  java.lang.System.out.println("----------------------------------");
  java.lang.System.out.println("Ackermann 4 -> " + Ackermann(4L,0L));
  java.lang.System.out.println("Ackermann 4 -> " + Ackermann(4L,1L));
  java.lang.System.out.println("Ackermann 4 -> " + Ackermann(4L,2L));
}

private static long Ackermann(long m, long n)
{
   return
          (n == 0) ? 1L :
          (n == 1) ? 2L :
          (m == 0) ? n + 2L :
          Ackermann(m - 1, Ackermann(m, n - 1));
}

}

Webbugs Test < ----------------

Solaris 8
Using 1.3.1, 1.3.1_01, 1.4beta3 did not show this error. A Stack overflow
	occurred.

Windows NT 4 SP6
Using 1.3.1, A Stack overflow	occurred after some execution of the code.

Using 1.4-rc-b85, A Stack overflow occurred after some execution of 
	the code. No hotspot error occured

Using 1.3.1-01, The hotspot error listed above was experianced

Windows 2k
Using 1.3.1 and using 1.3.1_01 resulted in the same hotspot error listed 
	above.

Using 1.4-rc-b85, A Stack overflow occurred after some execution of the code.
	No hotspot error occured

Release Regression From : 1.3.1
The above release value was the last known release where this 
bug was knwon to work. Since then there has been a regression.

(Review ID: 135342) 
======================================================================
Work Around




no workaround needed - it was only a test
======================================================================
Evaluation
sree-  xxxxx@xxxxx   2001-11-22
---------------------------------

* No hotspot Error on WinNT4 SP6 using jdk1.3.1_01 as mentioned in bug description. Got stackoverflow error as excepted.

* No hotspot Error on WinNT4 SP6 using jdk1.4.0-rc-b87 as mentioned in bug description. Got stackoverflow error as excepted.

--------------------------------------------------------------------------

This has been tested and does not reproduce on windows 2k or NT sp6 on hopper
or the current baseline.  I believe this was fixed with 4298656 .  See
also bugid 4400208 with the same description which was fixed for merlin.

  xxxxx@xxxxx   2002-06-18


Closing as duplicate of 4298656. One more bug-4381856 with similar failure
(Hotspot crash instead of StackOverflow) is also closed as a duplicate of 4298656.


sree-  xxxxx@xxxxx   2002-06-19
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang