Hi everyone,

Seems like the right list to ask, but redirect me if there's a better
place, please.

I have a Java process that forks a process and waits for it. When
repeatedly running on:

Windows (64 bit)
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

it once hung on:

"pool-10-thread-1" prio=6 tid=0x000000000a31b800 nid=0x1964 runnable
[0x000000000a49e000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.ProcessImpl.waitForInterruptibly(Native Method)
        at java.lang.ProcessImpl.waitFor(ProcessImpl.java:252)

Interestingly, the forked process was not visible to jps, jstack or
any other tools. Neither could it be killed using procexp. I've
created a mini and full dump file to see where it actually was and
what happened but I don't know the windows toolchain enough to be able
to analyze it. What I did get to is load windbg and a dump threads
from a full dump:

0:000> ~*kL

WARNING: Teb 0 pointer is NULL - defaulting to 00000000`7ffde000
WARNING: 00000000`7ffde000 does not appear to be a TEB
.  0  Id: ec8.e88 Suspend: -1 Teb: 00000000`7ffde000 Unfrozen
WARNING: Teb 0 pointer is NULL - defaulting to 00000000`7ffde000
WARNING: 00000000`7ffde000 does not appear to be a TEB
Child-SP          RetAddr           Call Site
00000000`06d5fb48 00000000`7753418b ntdll!NtTerminateProcess+0xa
00000000`06d5fb50 00000000`74320cf5 ntdll!RtlExitUserProcess+0x9b
*** ERROR: Symbol file could not be found.  Defaulted to export
symbols for jvm.dll -
00000000`06d5fb80 00000000`6c4e3c75 msvcr100!get_pgmptr+0x249
00000000`06d5fbf0 00000000`6c514d85 jvm!JVM_ResolveClass+0x19d25
00000000`06d5fc20 00000000`6c513db1 jvm!JVM_ResolveClass+0x4ae35
00000000`06d5fc50 00000000`6c514183 jvm!JVM_ResolveClass+0x49e61
00000000`06d5fcc0 00000000`6c51464e jvm!JVM_ResolveClass+0x4a233
00000000`06d5fd30 00000000`6c54556e jvm!JVM_ResolveClass+0x4a6fe
00000000`06d5fd90 00000000`74321db7 jvm!JVM_FindSignal+0x633e
00000000`06d5fdd0 00000000`74321e53 msvcr100!endthreadex+0x43
*** ERROR: Symbol file could not be found.  Defaulted to export
symbols for kernel32.dll -
00000000`06d5fe00 00000000`7740652d msvcr100!endthreadex+0xdf
00000000`06d5fe30 00000000`7753c521 kernel32!BaseThreadInitThunk+0xd
00000000`06d5fe60 00000000`00000000 ntdll!RtlUserThreadStart+0x21

This was a permanent state, lasted a few hours. Any help decoding
what's happened will be greatly appreciated.

Dawid

Reply via email to