I am getting Jar Lockup.
I run jar from an XP command line like so:
c:\> jar t C:\Program Files\Java\jdk1.5.0_04\lib\dt.jar
Jar locks up, and when i hit ctl-Break, here is what it dumps to the
screen.
Full thread dump Java HotSpot(TM) Client VM (1.5.0_04-b05 mixed mode,
sharing):
"Low Memory Detector" daemon prio=5 tid=0x00b6e588 nid=0xcc0 runnable
[0x00000000..0x00000000]
"CompilerThread0" daemon prio=10 tid=0x00b6d160 nid=0xc0c waiting on
condition [0x00000000..0x02d0f6cc]
"Signal Dispatcher" daemon prio=10 tid=0x00b6c3f8 nid=0x228 waiting on
condition [0x00000000..0x00000000]
"Finalizer" daemon prio=9 tid=0x00b476e0 nid=0x5b8 in Object.wait()
[0x02c8f000..0x02c8fa68]
at java.lang.Object.wait(Native Method)
- waiting on <0x22bd0840> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x22bd0840> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x00b46288 nid=0x8b0 in
Object.wait() [0x02c4f000..0x02c4fae8]
at java.lang.Object.wait(Native Method)
- waiting on <0x22bd0750> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:474)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x22bd0750> (a java.lang.ref.Reference$Lock)
"main" prio=5 tid=0x00265e78 nid=0x9d0 runnable
[0x0006f000..0x0006fc3c]
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:194)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
- locked <0x22bff7c0> (a java.io.BufferedInputStream)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at java.io.PushbackInputStream.read(PushbackInputStream.java:161)
at java.util.zip.ZipInputStream.readFully(ZipInputStream.java:389)
at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:218)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:73)
at sun.tools.jar.Main.list(Main.java:735)
at sun.tools.jar.Main.run(Main.java:191)
- locked <0x22bff440> (a sun.tools.jar.Main)
at sun.tools.jar.Main.main(Main.java:903)
"VM Thread" prio=10 tid=0x00b67950 nid=0xb14 runnable
"VM Periodic Task Thread" prio=10 tid=0x00b6f7d0 nid=0x98 waiting on
condition
Roedy Green - 22 Sep 2005 01:26 GMT
>at java.io.FileInputStream.readBytes(Native Method)
> at java.io.FileInputStream.read(FileInputStream.java:194)
[quoted text clipped - 10 lines]
> at sun.tools.jar.Main.run(Main.java:191)
> - locked <0x22bff440> (a sun.tools.jar.Main)
Some random ways to attack the problem:
Does YOUR code at some point call sun.tools.jar? That seems an odd
thing to do. Normally you would use the Zip classes or exec jar.exe
rather than use its undocumented interface.
What happen if you run a verify with PKZip or Winzip on this jar? Is
it well formed?
Is there any other jar/zip involved other that your class jar?
It is locked by some other program?
If you are using windows you can investigate that with oh.exe (
available at microsoft.com).

Signature
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.