Process.exec() hung on Windows, how to tell what happened from dmp file? (original) (raw)
Dawid Weiss dawid.weiss at gmail.com
Tue Aug 7 08:14:20 UTC 2012
- Previous message: [PATCH] Review Request: 7076644 TEST_BUG: test/java/io/File/Basic.java fails with cygwin
- Next message: hg: jdk8/tl/jdk: 7076644: TEST_BUG: test/java/io/File/Basic.java fails with cygwin
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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 000000007ffde000 WARNING: 00000000
7ffde000 does not appear to be a TEB
. 0 Id: ec8.e88 Suspend: -1 Teb: 000000007ffde000 Unfrozen WARNING: Teb 0 pointer is NULL - defaulting to 00000000
7ffde000
WARNING: 000000007ffde000 does not appear to be a TEB Child-SP RetAddr Call Site 00000000
06d5fb48 000000007753418b ntdll!NtTerminateProcess+0xa 00000000
06d5fb50 0000000074320cf5 ntdll!RtlExitUserProcess+0x9b *** ERROR: Symbol file could not be found. Defaulted to export symbols for jvm.dll - 00000000
06d5fb80 000000006c4e3c75 msvcr100!get_pgmptr+0x249 00000000
06d5fbf0 000000006c514d85 jvm!JVM_ResolveClass+0x19d25 00000000
06d5fc20 000000006c513db1 jvm!JVM_ResolveClass+0x4ae35 00000000
06d5fc50 000000006c514183 jvm!JVM_ResolveClass+0x49e61 00000000
06d5fcc0 000000006c51464e jvm!JVM_ResolveClass+0x4a233 00000000
06d5fd30 000000006c54556e jvm!JVM_ResolveClass+0x4a6fe 00000000
06d5fd90 0000000074321db7 jvm!JVM_FindSignal+0x633e 00000000
06d5fdd0 0000000074321e53 msvcr100!endthreadex+0x43 *** ERROR: Symbol file could not be found. Defaulted to export symbols for kernel32.dll - 00000000
06d5fe00 000000007740652d msvcr100!endthreadex+0xdf 00000000
06d5fe30 000000007753c521 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
- Previous message: [PATCH] Review Request: 7076644 TEST_BUG: test/java/io/File/Basic.java fails with cygwin
- Next message: hg: jdk8/tl/jdk: 7076644: TEST_BUG: test/java/io/File/Basic.java fails with cygwin
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]