The debuggee client exits abruptly for no reason.
TEST CASE
Run WireFrame under JDB: the client exits after one second.
jdb sun.applet.AppletViewer example1.html
Initializing jdb...
0x14973e8:class(sun.applet.AppletViewer)
> run
run sun.applet.AppletViewer example1.html
running ...
main[1]
sun.applet.AppletViewer exited <<<<<<<< HERE
main[1] at init time, CM = java.awt.image.IndexColorModel@149d0a8
Input stream closed.
<<< CTRL-BREAK produces: >>>>
Full thread dump:
"Screen Updater" (TID:0x149cc50, sys_thread_t:0x7e841c,
Win32ID:0xfe, state:
CONDVAR_WAIT) prio=5
java.lang.Object.wait(Object.java:152)
sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:75)
sun.awt.ScreenUpdater.run(ScreenUpdater.java:95)
"AWT-Callback-Win32" (TID:0x149c930, sys_thread_t:0x804900,
Win32ID:0xbe, st
ate:RUNNABLE) prio=5
sun.awt.win32.MToolkit.run(MToolkit.java:66)
java.lang.Thread.run(Thread.java:294)
"AWT-Win32" (TID:0x149c8d8, sys_thread_t:0x7f12bc, Win32ID:0xbb,
state:RUNNA
BLE) prio=5
sun.awt.win32.MToolkit.run(MToolkit.java:64)
java.lang.Thread.run(Thread.java:294)
"thread applet-ThreeD.class" (TID:0x149c7c8, sys_thread_t:0x7fb5c4,
Win32ID:
0xb2, state:CONDVAR_WAIT) prio=5
java.lang.Object.wait(Object.java:152)
sun.applet.AppletPanel.getNextEvent(AppletPanel.java:185)
sun.applet.AppletPanel.run(AppletPanel.java:216)
java.lang.Thread.run(Thread.java:294)
"Agent input" (TID:0x1494168, sys_thread_t:0x7a6140, Win32ID:0xf5,
state:CON
DVAR_WAIT) prio=10
java.io.PipedInputStream.read(PipedInputStream.java:152)
java.io.PipedInputStream.read(PipedInputStream.java:184)
java.io.BufferedInputStream.fill(BufferedInputStream.java:107)
java.io.BufferedInputStream.read(BufferedInputStream.java:121)
java.io.FilterInputStream.read(FilterInputStream.java:52)
sun.tools.debug.AgentIn.run(AgentIn.java:43)
java.lang.Thread.run(Thread.java:294)
"Breakpoint handler" (TID:0x1493998, sys_thread_t:0x7819c4,
Win32ID:0x87, st
ate:CONDVAR_WAIT) prio=8
java.lang.Object.wait(Object.java:152)
sun.tools.debug.BreakpointQueue.nextEvent(BreakpointQueue.java:33)
sun.tools.debug.BreakpointHandler.run(BreakpointHandler.java:184)
"Debugger agent" (TID:0x1493810, sys_thread_t:0x794964,
Win32ID:0xa6, state:
CONDVAR_WAIT) prio=10
java.io.PipedInputStream.read(PipedInputStream.java:152)
java.io.FilterInputStream.read(FilterInputStream.java:52)
sun.tools.debug.Agent.run(Agent.java:324)
java.lang.Thread.run(Thread.java:294)
"Finalizer thread" (TID:0x14931f8, sys_thread_t:0x777f0c,
Win32ID:0x8d, stat
e:CONDVAR_WAIT) prio=2
"main" (TID:0x14930a0, sys_thread_t:0x7694d4, Win32ID:0xe4,
state:CONDVAR_WA
IT) prio=5
Monitor Cache Dump:
unknown key (key=0x75f680): <unowned>
unknown key (key=0x75e614): <unowned>
sun.tools.debug.BreakpointQueue@14939D0/152F7D8
(key=0x14939d0): <unowned>
waiters = 1
sun.applet.AppletViewerPanel@149C620/1554D58 (key=0x149c620):
<unowned>
waiters = 1
java.io.PipedInputStream@1493F70/1531180 (key=0x1493f70):
<unowned>
waiters = 1
java.io.PipedInputStream@1493F80/15315A8 (key=0x1493f80):
<unowned>
waiters = 1
unknown key (key=0x75defc): <unowned>
sun.awt.ScreenUpdater@149CC50/15566D0 (key=0x149cc50):
<unowned>
waiters = 1
sun.awt.win32.MToolkit@149C8D0/1555750 (key=0x149c8d0):
"AWT-Win32"
unknown key (key=0x75f264): <unowned>
java.io.BufferedInputStream@1494140/1533EC0 (key=0x1494140):
"Agent input"
Registered Monitor Dump:
Finalize me queue lock: <unowned>
waiters = 1
Thread queue lock: <unowned>
waiters = 1
Class lock: <unowned>
Java stack lock: <unowned>
Code rewrite lock: <unowned>
Heap lock: <unowned>
Has finalization queue lock: <unowned>
Monitor cache lock: <unowned>
Monitor registry: <unowned>
TEST CASE
Run WireFrame under JDB: the client exits after one second.
jdb sun.applet.AppletViewer example1.html
Initializing jdb...
0x14973e8:class(sun.applet.AppletViewer)
> run
run sun.applet.AppletViewer example1.html
running ...
main[1]
sun.applet.AppletViewer exited <<<<<<<< HERE
main[1] at init time, CM = java.awt.image.IndexColorModel@149d0a8
Input stream closed.
<<< CTRL-BREAK produces: >>>>
Full thread dump:
"Screen Updater" (TID:0x149cc50, sys_thread_t:0x7e841c,
Win32ID:0xfe, state:
CONDVAR_WAIT) prio=5
java.lang.Object.wait(Object.java:152)
sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:75)
sun.awt.ScreenUpdater.run(ScreenUpdater.java:95)
"AWT-Callback-Win32" (TID:0x149c930, sys_thread_t:0x804900,
Win32ID:0xbe, st
ate:RUNNABLE) prio=5
sun.awt.win32.MToolkit.run(MToolkit.java:66)
java.lang.Thread.run(Thread.java:294)
"AWT-Win32" (TID:0x149c8d8, sys_thread_t:0x7f12bc, Win32ID:0xbb,
state:RUNNA
BLE) prio=5
sun.awt.win32.MToolkit.run(MToolkit.java:64)
java.lang.Thread.run(Thread.java:294)
"thread applet-ThreeD.class" (TID:0x149c7c8, sys_thread_t:0x7fb5c4,
Win32ID:
0xb2, state:CONDVAR_WAIT) prio=5
java.lang.Object.wait(Object.java:152)
sun.applet.AppletPanel.getNextEvent(AppletPanel.java:185)
sun.applet.AppletPanel.run(AppletPanel.java:216)
java.lang.Thread.run(Thread.java:294)
"Agent input" (TID:0x1494168, sys_thread_t:0x7a6140, Win32ID:0xf5,
state:CON
DVAR_WAIT) prio=10
java.io.PipedInputStream.read(PipedInputStream.java:152)
java.io.PipedInputStream.read(PipedInputStream.java:184)
java.io.BufferedInputStream.fill(BufferedInputStream.java:107)
java.io.BufferedInputStream.read(BufferedInputStream.java:121)
java.io.FilterInputStream.read(FilterInputStream.java:52)
sun.tools.debug.AgentIn.run(AgentIn.java:43)
java.lang.Thread.run(Thread.java:294)
"Breakpoint handler" (TID:0x1493998, sys_thread_t:0x7819c4,
Win32ID:0x87, st
ate:CONDVAR_WAIT) prio=8
java.lang.Object.wait(Object.java:152)
sun.tools.debug.BreakpointQueue.nextEvent(BreakpointQueue.java:33)
sun.tools.debug.BreakpointHandler.run(BreakpointHandler.java:184)
"Debugger agent" (TID:0x1493810, sys_thread_t:0x794964,
Win32ID:0xa6, state:
CONDVAR_WAIT) prio=10
java.io.PipedInputStream.read(PipedInputStream.java:152)
java.io.FilterInputStream.read(FilterInputStream.java:52)
sun.tools.debug.Agent.run(Agent.java:324)
java.lang.Thread.run(Thread.java:294)
"Finalizer thread" (TID:0x14931f8, sys_thread_t:0x777f0c,
Win32ID:0x8d, stat
e:CONDVAR_WAIT) prio=2
"main" (TID:0x14930a0, sys_thread_t:0x7694d4, Win32ID:0xe4,
state:CONDVAR_WA
IT) prio=5
Monitor Cache Dump:
unknown key (key=0x75f680): <unowned>
unknown key (key=0x75e614): <unowned>
sun.tools.debug.BreakpointQueue@14939D0/152F7D8
(key=0x14939d0): <unowned>
waiters = 1
sun.applet.AppletViewerPanel@149C620/1554D58 (key=0x149c620):
<unowned>
waiters = 1
java.io.PipedInputStream@1493F70/1531180 (key=0x1493f70):
<unowned>
waiters = 1
java.io.PipedInputStream@1493F80/15315A8 (key=0x1493f80):
<unowned>
waiters = 1
unknown key (key=0x75defc): <unowned>
sun.awt.ScreenUpdater@149CC50/15566D0 (key=0x149cc50):
<unowned>
waiters = 1
sun.awt.win32.MToolkit@149C8D0/1555750 (key=0x149c8d0):
"AWT-Win32"
unknown key (key=0x75f264): <unowned>
java.io.BufferedInputStream@1494140/1533EC0 (key=0x1494140):
"Agent input"
Registered Monitor Dump:
Finalize me queue lock: <unowned>
waiters = 1
Thread queue lock: <unowned>
waiters = 1
Class lock: <unowned>
Java stack lock: <unowned>
Code rewrite lock: <unowned>
Heap lock: <unowned>
Has finalization queue lock: <unowned>
Monitor cache lock: <unowned>
Monitor registry: <unowned>