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

Intermittent debug-agent error message appears

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P4 P4
    • None
    • 1.1.6
    • core-svc
    • x86
    • windows_nt



      Name: mf23781 Date: 08/25/98


      *Test case:

      J4_3_C1.java
      =================

      package Chap04;

      class J4_3_C1 implements Cloneable //LOC:TC0003.02
      {
         int val;
      }


      J4_3_C2.java
      ==============

      package Chap04;

      class J4_3_C2
      {
      int x;
      static J4_3_C2 origin = new J4_3_C2(0);

      J4_3_C2() { System.out.println("default"); } //LOC:TC0001.02

      J4_3_C2(int x) { this.x = x; } //LOC:TC0002.02

      public String toString() {

      return "(" + x + ")";
      }
      }



      J4_3_References.java
      =======================

      package Chap04;

      public class J4_3_References
      {
      public static void main(String[] args)
      {
      // A J4_3_C2 is explicitly created using newInstance:
      J4_3_C2 p = null;
      try {
      p = (Chap04.J4_3_C2)Class.forName("Chap04.J4_3_C2").newInstance(); //LOC:TC0001.01
      } catch (Exception e) {
      System.out.println(e);
      }

      // An array is implicitly created by an array constructor:
      J4_3_C2 a[] = { new J4_3_C2(0), new J4_3_C2(1) }; //LOC:TC0001.03 //LOC:TC0002.01

      // Strings are implicitly created by + operators:
      System.out.println("p: " + p);
      System.out.println("a: { " + a[0] + ", " + a[1] +" }");
      // An array is explicitly created by an array creation expression:
      String sa[] = new String[2];
      sa[0] = "he"; sa[1] = "llo";
      System.out.println(sa[0] + sa[1]);

      J4_3_C1 v1 = new J4_3_C1(); //LOC:TC0003.01
      v1.val=5;
      J4_3_C1 v2 = v1;
      v2.val=6; // Monitor v1 and v2
      System.out.println("v1.val=="+v1.val+" v2.val=="+ v2.val);

      Object obj = new Object(); // Monitor obj //LOC:TC0004.01
      obj = v1;
      System.out.println(obj.getClass());
      System.out.println(obj.toString());
      obj = sa;
      System.out.println(obj.getClass());
      System.out.println(obj.toString());
      }
      }


      *Steps to reproduce this defect:

      jdb Chap04.J4_3_References
      stop in Chap04.J4_3_References.main
      run
      stop at Chap04.J4_3_References:10
      cont
      step
      step up
      step
      list



      *Outputs:
      1.1.6
      ========
      P:\defects\6438>jdb Chap04.J4_3_References
      Initializing jdb...
      Warning: JIT compiler "symcjit" not found. Will use interpreter.
      0xf8faa0:class(Chap04.J4_3_References)
      > stop in Chap04.J4_3_References.main
      Breakpoint set in Chap04.J4_3_References.main
      > run
      run Chap04.J4_3_References
      running ...
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:8)
      main[1] stop at Chap04.J4_3_References:10
      Breakpoint set at Chap04.J4_3_References:10
      main[1] cont
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:10)
      main[1] step
      main[1]
      Breakpoint hit: java.lang.String.<init> (String:368)
      main[1] step up
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:10)
      main[1] step
      main[1]
      Breakpoint hit: Chap04.J4_3_C2.<clinit> (J4_3_C2:6)
      main[1] list
      [Internal debug-agent error: operation failed to complete - deadlock
      avoided]Internal
       exception:
      java.lang.InterruptedException
              at sun.tools.debug.RemoteAgent.getClassInfo(Compiled Code)
              at sun.tools.debug.RemoteClass.getClassInfo(Compiled Code)
              at sun.tools.debug.RemoteClass.getSourceFile(RemoteClass.java:157)
              at sun.tools.ttydebug.TTY.list(Compiled Code)
              at sun.tools.ttydebug.TTY.executeCommand(TTY.java:1405)
              at sun.tools.ttydebug.TTY.<init>(Compiled Code)
              at sun.tools.ttydebug.TTY.main(Compiled Code)
      main[1]

      1.1.7H
      =========
      P:\defects\6438>jdb Chap04.J4_3_References
      Initializing jdb...
      0xf8ff78:class(Chap04.J4_3_References)
      > stop in Chap04.J4_3_References.main
      Breakpoint set in Chap04.J4_3_References.main
      > run
      run Chap04.J4_3_References
      running ...
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:8)
      main[1] stop at Chap04.J4_3_References:10
      Breakpoint set at Chap04.J4_3_References:10
      main[1] cont
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:10)
      main[1] step
      main[1]
      Breakpoint hit: java.lang.String.<init> (String:360)
      main[1] step up
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:10)
      main[1] step
      main[1]
      Breakpoint hit: Chap04.J4_3_C2.<clinit> (J4_3_C2:6)
      main[1] list
      [Internal debug-agent error: operation failed to complete - deadlock
      avoided]Internal exce
      ption:
      java.lang.InterruptedException
              at sun.tools.debug.RemoteAgent.getClassInfo(Compiled Code)
              at sun.tools.debug.RemoteClass.getClassInfo(Compiled Code)
              at sun.tools.debug.RemoteClass.getSourceFile(RemoteClass.java:149)
              at sun.tools.ttydebug.TTY.list(Compiled Code)
              at sun.tools.ttydebug.TTY.executeCommand(TTY.java:1397)
              at sun.tools.ttydebug.TTY.<init>(Compiled Code)
              at sun.tools.ttydebug.TTY.main(Compiled Code)
      main[1]


      1.2fcs-E
      ==========
      P:\defects\6438>jdb Chap04.J4_3_References
      Initializing jdb...
      0xa9:class(Chap04.J4_3_References)
      > stop in Chap04.J4_3_References.main
      Breakpoint set in Chap04.J4_3_References.main
      > run
      run Chap04.J4_3_References
      running ...
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:8)
      main[1] stop at Chap04.J4_3_References:10
      Breakpoint set at Chap04.J4_3_References:10
      main[1] cont
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:10)
      main[1] step
      main[1]
      Breakpoint hit: java.lang.ClassLoader.loadClass (ClassLoader:202)
      main[1] step up
      main[1]
      Breakpoint hit: Chap04.J4_3_References.main (J4_3_References:10)
      main[1] step
      main[1]
      Breakpoint hit: Chap04.J4_3_C2.<init> (J4_3_C2:8)
      main[1] list
      4 {
      5 int x;
      6 static J4_3_C2 origin = new J4_3_C2(0);
      7
      8 => J4_3_C2() { System.out.println("default"); }
      //LOC:TC0001.02
      9
      10 J4_3_C2(int x) { this.x = x; } //LOC:TC0002.02
      11
      12 public String toString() {
      main[1]


      *Notes:

      Please note that at this point, if you tell jdb to display
      the call stack via 'where', it will work. However, the call to
      RemoteClass.typeName() for the first class on the call stack will
      result in a similar error at this point. jdb does not use
      typeName() so we never see this problem. However, the debugger
      that the raiser uses, will need to use typeName() ( or getName())
      often.






      ======================================================================

            Unassigned Unassigned
            miflemi Mick Fleming
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: