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

TTY: second 'step' command runs incorrectly in "-server -Xcomp" mode on Intel

XMLWordPrintable

    • b24
    • generic
    • generic
    • Verified



      Name: ipR10196 Date: 09/01/2003


      --------------------------------------
      Test : nsk/jdb/next/next001
      VM : ServerVM
      Mode : -Xcomp
      Platform : x86
      OS : SunOS 5.8, RedHat Linux 8.0, Windows 2000
      JDK : 1.5.0 b15-b17
      ----------------------------------------

      This test runs debugee class with JDB and exercise commands
      'step' and 'next' for two similar threads in debuggee VM.
      The JDB session shows that for the first thread both comands
      work fine, while for the second thread the 'step' command
      just runs debugee VM until exit.

      This failure is reproduced since Tiger-b15 with ServerVM in
      -Xcomp mode on Intel platform only. Solaris-sparc works fine.
      Tiger-b14 also works fine on all platforms.

      To reproduce this failure:
        cd /net/sqesvr.sfbay/export/vsn/GammaBase/Bugs/<this bug number>
        sh build.sh $JAVA_HOME
        sh run.sh [-g] [-v] $JAVA_HOME [JAVA_OPTS]
        see jdb.session file
      where
          -g - run test with java_g binaries
          -v - run test in verbose mode

      Here is failed jdb.session for "-server -Xcomp":
      ====================================================================================
      Initializing jdb ...
      > stop in nsk.jdb.next.next001a.main
      Deferring breakpoint nsk.jdb.next.next001a.main.
      It will be set after the class is loaded.
      > run
      run nsk.jdb.next.next001a
      Set uncaught java.lang.Throwable
      Set deferred uncaught java.lang.Throwable
      >
      VM Started: Set deferred breakpoint nsk.jdb.next.next001a.main

      Breakpoint hit: "thread=main", nsk.jdb.next.next001a.main(), line=16 bci=0

      main[1] stop in nsk.jdb.next.next001a.lastBreak
      Set breakpoint nsk.jdb.next.next001a.lastBreak
      main[1] cont
      >
      Breakpoint hit: "thread=Thread-1", nsk.jdb.next.next001a.lastBreak(), line=20 bci=0

      Thread-1[1] step
      >
      Step completed: "thread=Thread-1", nsk.jdb.next.MyThread.func2(), line=65 bci=3

      Thread-1[1] next
      >
      Step completed: "thread=Thread-1", nsk.jdb.next.MyThread.func2(), line=66 bci=9

      Thread-1[1] where
        [1] nsk.jdb.next.MyThread.func2 (next001a.java:66)
        [2] nsk.jdb.next.MyThread.func1 (next001a.java:60)
        [3] nsk.jdb.next.MyThread.run (next001a.java:56)
      Thread-1[1] cont
      >
      Breakpoint hit: "thread=Thread-2", nsk.jdb.next.next001a.lastBreak(), line=20 bci=0

      Thread-2[1] step
      >
      The application exited
      next
      ====================================================================================

      Here is successful jdb.session for "-server -Xint":
      ====================================================================================
      Initializing jdb ...
      > stop in nsk.jdb.next.next001a.main
      Deferring breakpoint nsk.jdb.next.next001a.main.
      It will be set after the class is loaded.
      > run
      run nsk.jdb.next.next001a
      Set uncaught java.lang.Throwable
      Set deferred uncaught java.lang.Throwable
      >
      VM Started: Set deferred breakpoint nsk.jdb.next.next001a.main

      Breakpoint hit: "thread=main", nsk.jdb.next.next001a.main(), line=16 bci=0

      main[1] stop in nsk.jdb.next.next001a.lastBreak
      Set breakpoint nsk.jdb.next.next001a.lastBreak
      main[1] cont
      >
      Breakpoint hit: "thread=Thread-1", nsk.jdb.next.next001a.lastBreak(), line=20 bci=0

      Thread-1[1] step
      >
      Step completed: "thread=Thread-1", nsk.jdb.next.MyThread.func2(), line=65 bci=3

      Thread-1[1] next
      >
      Step completed: "thread=Thread-1", nsk.jdb.next.MyThread.func2(), line=66 bci=9

      Thread-1[1] where
        [1] nsk.jdb.next.MyThread.func2 (next001a.java:66)
        [2] nsk.jdb.next.MyThread.func1 (next001a.java:60)
        [3] nsk.jdb.next.MyThread.run (next001a.java:56)
      Thread-1[1] cont
      >
      Breakpoint hit: "thread=Thread-2", nsk.jdb.next.next001a.lastBreak(), line=20 bci=0

      Thread-2[1] step
      >
      Step completed: "thread=Thread-2", nsk.jdb.next.MyThread.func2(), line=65 bci=3

      Thread-2[1] next
      >
      Step completed: "thread=Thread-2", nsk.jdb.next.MyThread.func2(), line=66 bci=9

      Thread-2[1] where
        [1] nsk.jdb.next.MyThread.func2 (next001a.java:66)
        [2] nsk.jdb.next.MyThread.func1 (next001a.java:60)
        [3] nsk.jdb.next.MyThread.run (next001a.java:56)
      Thread-2[1] cont
      >
      The application exited
      ====================================================================================

      Ivan Popov <###@###.###>

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

      ###@###.### 2003-09-09

      The assertion that was added to the comments section has also been seen
      in the following tests:

          nsk/jvmdi/RedefineClasses/redefclass019
          nsk/jvmdi/events/framepop001


      Name: pvR10198 Date: 09/09/2003


      See also hotspot/jvmti bug:
        4917404 VM misses stack frames in compiled mode on x86 platforms

      Pavel Vyssotski <###@###.###>
      ======================================================================

      ###@###.### 2003-09-10

      The following NSK test has the same failure modes as the next001 test:

          nsk/jdb/step_up/step_up001

      The java command "runs to the end of the program" and the java_g
      command fails the assertion.

            rgottliesunw Robert Gottlieb (Inactive)
            popovsunw Popov Popov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: