|
Quick Lists
|
|
Bug ID:
|
4944300
|
|
Votes
|
0
|
|
Synopsis
|
Hard JVM Crash("Unknown software exception")
|
|
Category
|
java:runtime
|
|
Reported Against
|
1.4.2
|
|
Release Fixed
|
|
|
State
|
11-Closed, duplicate of 4396719,
bug
|
|
Priority:
|
4-Low
|
|
Related Bugs
|
4396719
|
|
Submit Date
|
27-OCT-2003
|
|
Description
|
FULL PRODUCT VERSION :
D:\entw\java\reflectioncrash>c:\java\1.4.2\ customer \jre\bin\java -version
java version "1.4.2_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_02-b03)
Java HotSpot(TM) Client VM (build 1.4.2_02-b03, mixed mode)
FULL OS VERSION :
customer Windows XP [Version 5.1.2600]
A DESCRIPTION OF THE PROBLEM :
Error in MemoryManagement while passing an Object[] array to its old reference which is of type java.lang.Object.
Instead of returning a decent Exception the whole JVM crashes.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
/** Marc Schoenefeld **/
/* illegalaccess.org */
public class MemApplet extends java.applet.Applet{
static Object o = null;
public static void main(String[] args) {
(new MemApplet()).doit();
}
public void paint(java.awt.Graphics p) {
(new MemApplet()).doit();
}
void doit () {
while (true) try {
Object[] oarr = {o}; o = oarr;
} catch (Throwable t) {
o = null;
System.out.println("Wurfgeschoss: " + t);
}
}
}
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
an exception
ACTUAL -
Window Alert box:
Exception "Unknown software exception" (0xc00000fd) has occured in your application at location 0x6d3deb0e.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
no stack trace available
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
/** Marc Schoenefeld **/
/* illegalaccess.org */
public class MemApplet extends java.applet.Applet{
static Object o = null;
public static void main(String[] args) {
(new MemApplet()).doit();
}
public void paint(java.awt.Graphics p) {
(new MemApplet()).doit();
}
void doit () {
while (true) try {
Object[] oarr = {o}; o = oarr;
} catch (Throwable t) {
o = null;
System.out.println("Wurfgeschoss: " + t);
}
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
check all my class files for the following bytecode sequence
3 iconst_1
4 anewarray class #5 <Class java.lang.Object>
7 dup
8 iconst_0
9 getstatic #6 <Field java.lang.Object o>
12 aastore
13 astore_1
14 aload_1
15 putstatic #6 <Field java.lang.Object o>
18 goto 3
(Incident Review ID: 217993)
======================================================================
|
|
Work Around
|
N/A
|
|
Evaluation
|
The problem is in the Garbage collection subsystem, dealing with
the very deeply nested arrays (an array who's element is an array who's
element is an array...)
This is a duplicate of bug
4396719 Mark sweep stack overflow on deeply nested Object arrays
xxxxx@xxxxx 2003-10-28
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |