-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
5.0, 6
-
generic, sparc
-
generic, solaris_8, solaris_9
The following steps of getting a Jar entry results in Hotspot VM error instead
of an Exception being thrown.
Way to reproduce the problem:
1. Create a JarFile instance using any Jar file
2. Get a Jar entry
// This is a programming error.
3. open the same Jar file for writing
4. Get a Jar entry again
I encountered this problem while working on an open source project (http://sourceforge.net/diduce) in a much more complex environment.
The following a code snippet reproduces the problem using the
jar file attached to this bug report.
import java.util.zip.*;
import java.util.jar.*;
import java.io.*;
class TestGetEntry {
public static void main(String args[]) throws Exception {
String jar_file_name = "java-classes.jar";
String entry1 = "Methods.class";
String entry2 = "Sanity.class";
JarFile _input_jarfile = new JarFile (jar_file_name);
JarEntry je = _input_jarfile.getJarEntry(entry1);
System.out.println("entry name1:" + je.getName());
FileOutputStream fos = new FileOutputStream(jar_file_name);
JarOutputStream jout = new JarOutputStream(fos);
je = _input_jarfile.getJarEntry (entry2);
System.out.println("entry name2:" + je.getName());
}
}
Note: the problem is reproduceable on 1.4.1, 1.4.2 as well as tiger b62.
$ java -version
java version "1.5.0-beta3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta3-b62)
Java HotSpot(TM) Client VM (build 1.5.0-beta3-b62, mixed mode)
======================================================================
Output:
entry name1:Methods.class
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGBUS (0xa) at pc=0xfe772ee8, pid=5530, tid=1
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-beta3-b62 mixed mode)
# Problematic frame:
# C [libzip.so+0x2ee8]
#
# An error report file with more information is saved as hs_err_pid5530.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
===========================================================================
The Error log is more verbose with 1.4.2 vm
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
Output:
entry name1:Methods.class
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 10 occurred at PC=0xFE772DA0
Function=[Unknown. Nearest: ZIP_Lock+0x4C]
Library=/usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/libzip.so
Current Java thread:
at java.util.zip.ZipFile.getEntry(Native Method)
at java.util.zip.ZipFile.getEntry(ZipFile.java:146)
- locked <0xf1432908> (a java.util.jar.JarFile)
at java.util.jar.JarFile.getEntry(JarFile.java:194)
at java.util.jar.JarFile.getJarEntry(JarFile.java:181)
at TestGetEntry.main(TestGetEntry.java:21)
Dynamic libraries:
0x10000 /net/sqindia/export/disk05/jaya/java/re/jdk/1.4.2/latest/binaries/solaris-sparc/bin/java
0xff350000 /usr/lib/libthread.so.1
0xff390000 /usr/lib/libdl.so.1
0xff200000 /usr/lib/libc.so.1
0xff330000 /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
0xfe000000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/client/libjvm.so
0xff2d0000 /usr/lib/libCrun.so.1
0xff1d0000 /usr/lib/libsocket.so.1
0xff100000 /usr/lib/libnsl.so.1
0xff0d0000 /usr/lib/libm.so.1
0xff0b0000 /usr/lib/libsched.so.1
0xff300000 /usr/lib/libw.so.1
0xff090000 /usr/lib/libmp.so.2
0xff050000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/native_threads/libhpi.so
0xfe7d0000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/libverify.so
0xfe790000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/libjava.so
0xfe770000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/libzip.so
Heap at VM Abort:
Heap
def new generation total 2112K, used 206K [0xf1400000, 0xf1620000, 0xf1b10000)
eden space 2048K, 10% used [0xf1400000, 0xf1433af0, 0xf1600000)
from space 64K, 0% used [0xf1600000, 0xf1600000, 0xf1610000)
to space 64K, 0% used [0xf1610000, 0xf1610000, 0xf1620000)
tenured generation total 1408K, used 0K [0xf1b10000, 0xf1c70000, 0xf5400000)
the space 1408K, 0% used [0xf1b10000, 0xf1b10000, 0xf1b10200, 0xf1c70000)
compacting perm gen total 4096K, used 1058K [0xf5400000, 0xf5800000, 0xf9400000)
the space 4096K, 25% used [0xf5400000, 0xf55088e0, 0xf5508a00, 0xf5800000)
Local Time = Fri Aug 13 13:05:23 2004
Elapsed Time = 7
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2-b28 mixed mode)
#
# An error report file has been saved as hs_err_pid5539.log.
# Please refer to the file for further information.
#
======================================================================
of an Exception being thrown.
Way to reproduce the problem:
1. Create a JarFile instance using any Jar file
2. Get a Jar entry
// This is a programming error.
3. open the same Jar file for writing
4. Get a Jar entry again
I encountered this problem while working on an open source project (http://sourceforge.net/diduce) in a much more complex environment.
The following a code snippet reproduces the problem using the
jar file attached to this bug report.
import java.util.zip.*;
import java.util.jar.*;
import java.io.*;
class TestGetEntry {
public static void main(String args[]) throws Exception {
String jar_file_name = "java-classes.jar";
String entry1 = "Methods.class";
String entry2 = "Sanity.class";
JarFile _input_jarfile = new JarFile (jar_file_name);
JarEntry je = _input_jarfile.getJarEntry(entry1);
System.out.println("entry name1:" + je.getName());
FileOutputStream fos = new FileOutputStream(jar_file_name);
JarOutputStream jout = new JarOutputStream(fos);
je = _input_jarfile.getJarEntry (entry2);
System.out.println("entry name2:" + je.getName());
}
}
Note: the problem is reproduceable on 1.4.1, 1.4.2 as well as tiger b62.
$ java -version
java version "1.5.0-beta3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta3-b62)
Java HotSpot(TM) Client VM (build 1.5.0-beta3-b62, mixed mode)
======================================================================
Output:
entry name1:Methods.class
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGBUS (0xa) at pc=0xfe772ee8, pid=5530, tid=1
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-beta3-b62 mixed mode)
# Problematic frame:
# C [libzip.so+0x2ee8]
#
# An error report file with more information is saved as hs_err_pid5530.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
===========================================================================
The Error log is more verbose with 1.4.2 vm
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
Output:
entry name1:Methods.class
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 10 occurred at PC=0xFE772DA0
Function=[Unknown. Nearest: ZIP_Lock+0x4C]
Library=/usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/libzip.so
Current Java thread:
at java.util.zip.ZipFile.getEntry(Native Method)
at java.util.zip.ZipFile.getEntry(ZipFile.java:146)
- locked <0xf1432908> (a java.util.jar.JarFile)
at java.util.jar.JarFile.getEntry(JarFile.java:194)
at java.util.jar.JarFile.getJarEntry(JarFile.java:181)
at TestGetEntry.main(TestGetEntry.java:21)
Dynamic libraries:
0x10000 /net/sqindia/export/disk05/jaya/java/re/jdk/1.4.2/latest/binaries/solaris-sparc/bin/java
0xff350000 /usr/lib/libthread.so.1
0xff390000 /usr/lib/libdl.so.1
0xff200000 /usr/lib/libc.so.1
0xff330000 /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
0xfe000000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/client/libjvm.so
0xff2d0000 /usr/lib/libCrun.so.1
0xff1d0000 /usr/lib/libsocket.so.1
0xff100000 /usr/lib/libnsl.so.1
0xff0d0000 /usr/lib/libm.so.1
0xff0b0000 /usr/lib/libsched.so.1
0xff300000 /usr/lib/libw.so.1
0xff090000 /usr/lib/libmp.so.2
0xff050000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/native_threads/libhpi.so
0xfe7d0000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/libverify.so
0xfe790000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/libjava.so
0xfe770000 /usr/dist/share/java,v1.4.2/5.x-sun4/jre/lib/sparc/libzip.so
Heap at VM Abort:
Heap
def new generation total 2112K, used 206K [0xf1400000, 0xf1620000, 0xf1b10000)
eden space 2048K, 10% used [0xf1400000, 0xf1433af0, 0xf1600000)
from space 64K, 0% used [0xf1600000, 0xf1600000, 0xf1610000)
to space 64K, 0% used [0xf1610000, 0xf1610000, 0xf1620000)
tenured generation total 1408K, used 0K [0xf1b10000, 0xf1c70000, 0xf5400000)
the space 1408K, 0% used [0xf1b10000, 0xf1b10000, 0xf1b10200, 0xf1c70000)
compacting perm gen total 4096K, used 1058K [0xf5400000, 0xf5800000, 0xf9400000)
the space 4096K, 25% used [0xf5400000, 0xf55088e0, 0xf5508a00, 0xf5800000)
Local Time = Fri Aug 13 13:05:23 2004
Elapsed Time = 7
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2-b28 mixed mode)
#
# An error report file has been saved as hs_err_pid5539.log.
# Please refer to the file for further information.
#
======================================================================
- duplicates
-
JDK-6390352 SIGBUS in libzip.so when using java.util.zip
- Closed
- relates to
-
JDK-6633178 JVM crash (SIGBUS) on T2000
- Closed
-
JDK-4425695 Updating jar files crashes running programs
- Open