-
Bug
-
Resolution: Fixed
-
P4
-
1.2.0, 1.2.1
-
kestrel
-
generic, sparc
-
generic, solaris_2.6
-
Verified
Name: ksC84122 Date: 12/18/98
java.util.zip.ZipFile.ZipFile(String),
java.util.jar.JarFile.JarFile(String name) and
java.util.jar.JarFile.JarFile(String name, boolean verify)
cause core dump in JDK-1.2-V when called
with name = null.
An example to reproduce this:
===== Test15.java ====
import java.util.zip.*;
import java.io.File;
public class Test15 {
public static void main (String argv[]) {
File file = null;
String fileName = null;
try {
new ZipFile(fileName);
}
catch (NullPointerException npe) {
System.out.println("Passed");
return; }
catch (Throwable e) {
System.out.println("Failed: NullPointerException expected");
return;
}
System.out.println("Failed: NullPointerException expected");
return;
}
}
========= Sample run (JDK-1.2-V) ==========
#>java Test15
FATAL ERROR in native method: Null object passed to a non-static method
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Compiled Code)
at Test15.main(Compiled Code)
SIGABRT 6* abort (generated by abort(3) routine)
si_signo [6]: SIGABRT 6* abort (generated by abort(3) routine)
si_errno [0]: Error 0
si_code [0]: SI_USER [pid: 14561, uid: 346]
stackpointer=efffe8c0
Full thread dump Classic VM (JDK-1.2-V, green threads):
"Finalizer" (TID:0xebc98320, sys_thread_t:0x69218, state:CW) prio=8
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
"Reference Handler" (TID:0xebc983b0, sys_thread_t:0x64d68, state:CW) prio=10
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:424)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
"Signal dispatcher" (TID:0xebc983e0, sys_thread_t:0x5dfe8, state:CW) prio=5
"main" (TID:0xebc981e0, sys_thread_t:0x26900, state:R) prio=5
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Compiled Code)
at Test15.main(Compiled Code)
Monitor Cache Dump:
java.lang.ref.ReferenceQueue$Lock@EBC98338/EBCCE028: <unowned>
Waiting to be notified:
"Finalizer" (0x69218)
java.lang.ref.Reference$Lock@EBC983C0/EBCCDB20: <unowned>
Waiting to be notified:
"Reference Handler" (0x64d68)
Registered Monitor Dump:
PCMap lock: <unowned>
utf8 hash table: <unowned>
JNI pinning lock: <unowned>
JNI global reference lock: <unowned>
BinClass lock: <unowned>
Class linking lock: <unowned>
System class loader lock: <unowned>
Code rewrite lock: <unowned>
Heap lock: <unowned>
Monitor cache lock: owner "main" (0x26900) 1 entry
Dynamic loading lock: <unowned>
Monitor IO lock: <unowned>
User signal monitor: <unowned>
Waiting to be notified:
"Signal dispatcher" (0x5dfe8)
Child death monitor: <unowned>
I/O monitor: <unowned>
Alarm monitor: <unowned>
Waiting to be notified:
<unknown thread> (0x2bbf0)
Thread queue lock: owner "main" (0x26900) 1 entry
Monitor registry: owner "main" (0x26900) 1 entry
Abort (core dumped)
(gdb) where
#0 0xef6072e0 in _libc_kill ()
#1 0xef5ba558 in abort ()
#2 0xef6d5934 in jni_Invoke ()
#3 0xef6d6fcc in jni_CallObjectMethod ()
#4 0xef34cb0c in JNU_GetStringPlatformChars ()
#5 0xef1d5ac4 in Java_java_util_zip_ZipFile_open ()
#6 0xef7115a8 in args_done ()
#7 0xef6bf504 in invokeJNINativeMethod ()
#8 0xef11ec00 in JIT_CALLBACK3_MARKER ()
#9 0x1436ac in ?? ()
#10 0x1a850c in ?? ()
#11 0xef11e980 in JIT_INVOKER_MARKER ()
#12 0xef711eec in notJavaInvocation ()
#13 0xef6d5ae4 in jni_Invoke ()
#14 0xef6d8884 in jni_CallStaticVoidMethod ()
#15 0x11a7c in main ()
(gdb)
======================================================================
- duplicates
-
JDK-4219643 ZipFile constructor causes VM crash instead of NullPointerException
-
- Closed
-
-
JDK-4210153 ZipFile(String fname) with fname null causes a segv
-
- Closed
-