Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4108643

STD: Debugger hangs if "run" command specified multiple times in a row.

XMLWordPrintable

    • 1.1.8
    • x86, sparc
    • solaris_2.6, windows_nt
    • Not verified


      Using the attachment arithmetictest.java do the following:
      1. jdb ArithmeticTest
      Initializing jdb...
      0xee2f21a8:class(ArithmeticTest)
      2. stop at ArithmeticTest:15
      Breakpoint set at ArithmeticTest:15
      3. run
      run ArithmeticTest
      x is 6, y is 4
      running ...
      main[1] x + y = 10
      x - y = 2
      x / y = 1
      x % y = 2
      a is 12.5, b is 7.0

      Breakpoint hit: ArithmeticTest.main (ArithmeticTest:15)
      main[1]
      4. run
      run ArithmeticTest
      x is 6, y is 4
      x + y = 10
      x - y = 2
      x / y = 1
      x % y = 2
      a is 12.5, b is 7.0

      Breakpoint hit:
      5. run (we hang here)

      Full thread dump:
          "Agent input" (TID:0xee300f08, sys_thread_t:0xbc1c0, state:MW) prio=10
              at sun.tools.debug.RemoteAgent.dumpStack(RemoteAgent.java:550)
              at sun.tools.debug.RemoteThread.getStack(RemoteThread.java:280)
              at sun.tools.debug.RemoteThread.dumpStack(RemoteThread.java:131)
              at sun.tools.ttydebug.TTY.breakpointEvent(TTY.java:82)
              at sun.tools.debug.AgentIn.run(AgentIn.java:62)
              at java.lang.Thread.run(Thread.java:472)
          "output reader" (TID:0xee301888, sys_thread_t:0x1054d8, state:CW) prio=9
              at java.lang.Object.wait(Native Method)
              at java.io.PipedInputStream.read(PipedInputStream.java:195)
              at java.lang.ProcessInputStream.read(UNIXProcess.java:314)
              at java.io.PipedInputStream.read(PipedInputStream.java:236)
              at java.io.InputStream.read(InputStream.java:74)
              at java.io.InputStreamReader.fill(InputStreamReader.java:159)
              at java.io.InputStreamReader.read(InputStreamReader.java:229)
              at java.io.BufferedReader.fill(BufferedReader.java:138)
              at java.io.BufferedReader.readLine(BufferedReader.java:226)
              at sun.tools.debug.RemoteAgent$1.run(RemoteAgent.java:109)
          "stderr reader pid=28103" (TID:0xee301a68, sys_thread_t:0xf96e8, state:CW) prio=5
              at java.io.FileInputStream.readBytes(Native Method)
              at java.io.FileInputStream.read(FileInputStream.java:142)
              at java.lang.ProcessInputStream.run(UNIXProcess.java:349)
              at java.lang.Thread.run(Thread.java:472)
          "stdout reader pid=28103" (TID:0xee3017f0, sys_thread_t:0xfba00, state:CW) prio=5
              at java.io.FileInputStream.readBytes(Native Method)
              at java.io.FileInputStream.read(FileInputStream.java:142)
              at java.lang.ProcessInputStream.run(UNIXProcess.java:349)
              at java.lang.Thread.run(Thread.java:472)
          "process reaper" (TID:0xee3018f0, sys_thread_t:0xfb7d0, state:CW) prio=5
              at java.lang.UNIXProcess.run(Native Method)
              at java.lang.Thread.run(Thread.java:472)
          "Finalizer" (TID:0xee300378, sys_thread_t:0xad110, state:CW) prio=8
              at java.lang.Object.wait(Native Method)
              at java.lang.Ref$Queue.remove(Ref.java:232)
              at java.lang.Ref$Queue.remove(Ref.java:245)
              at java.lang.Finalizer$FinalizerThread.run(Finalizer.java:130)
          "Ref handler" (TID:0xee300428, sys_thread_t:0xaa398, state:CW) prio=10
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:309)
              at java.lang.Ref$RefHandler.run(Ref.java:269)
          "Async Garbage Collector" (TID:0xee3001f0, sys_thread_t:0x940e8, state:CW) prio=1
          "Idle thread" (TID:0xee300238, sys_thread_t:0xa2b10, state:R) prio=0 *current thread*
          "Clock" (TID:0xee300088, sys_thread_t:0xa2a08, state:CW) prio=12
          "main" (TID:0xee3000b0, sys_thread_t:0x20a60, state:CW) prio=10
              at java.net.SocketInputStream.socketRead(Native Method)
              at java.net.SocketInputStream.read(SocketInputStream.java:90)
              at java.io.BufferedInputStream.fill(BufferedInputStream.java:129)
              at java.io.BufferedInputStream.read(BufferedInputStream.java:156)
              at java.io.DataInputStream.readInt(DataInputStream.java:360)
              at sun.tools.debug.RemoteAgent.getReply(RemoteAgent.java:413)
              at sun.tools.debug.RemoteAgent.run(RemoteAgent.java:743)
              at sun.tools.debug.RemoteDebugger.run(RemoteDebugger.java:216)
              at sun.tools.ttydebug.TTY.run(TTY.java:301)
              at sun.tools.ttydebug.TTY.executeCommand(TTY.java:1361)
              at sun.tools.ttydebug.TTY.<init>(TTY.java:1463)
              at sun.tools.ttydebug.TTY.main(TTY.java:1584)
      Monitor Cache Dump:
          sun.tools.debug.RemoteThread@EE304DB8/EE379228: owner "Agent input" (0xbc1c0, 1 entry)
          java.io.DataOutputStream@EE300FE8/EE370120: owner "main" (0x20a60, 1 entry)
              Waiting to enter:
                  "Agent input"
          java.io.InputStreamReader@EE3019D0/EE367580: owner "output reader" (0x1054d8, 1 entry)
          java.io.BufferedInputStream@EE300F50/EE36EF80: owner "main" (0x20a60, 1 entry)
      Registered Monitor Dump:
          utf8 hash table: <unowned>
          JNI pinning lock: <unowned>
          JNI global reference lock: <unowned>
          BinClass lock: <unowned>
          Class linking lock: <unowned>
          Code rewrite lock: <unowned>
          Heap lock: <unowned>
          Monitor IO lock: <unowned>
          Child death monitor: <unowned>
              Waiting to be notified:
                  "process reaper"
          Event monitor: <unowned>
          I/O monitor: <unowned>
          Alarm monitor: <unowned>
              Waiting to be notified:
                  "Clock"
          Sbrk lock: <unowned>
          Monitor cache expansion lock: <unowned>
          Thread queue lock: <unowned>
          Monitor registry: owner "Idle thread" (0xa2b10, 1 entry)
      Thread Alarm Q:
          sys_thread_t 0x1054d8 [Timeout in 512 ms]
          sys_thread_t 0x940e8 [Timeout in 542 ms]

            ghirschsunw Gordon Hirsch (Inactive)
            lblairsunw Liz Blair (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: