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

jstack reports wrongly for very deep stack and -Xcomp

    Details

      Description

      It was noticed only on solaris-sparc that jstack can wrong reports
      "scenario4" prio=5 tid=XXXXXX nid=XXXXXX XXXXXX
          java.lang.Thread.State: RUNNABLE
         at tmtools.jstack.share.debuggee.ComplexRecursiveStackDebuggee.method186(ComplexRecursiveStackDebuggee.java:1310)
         at tmtools.jstack.share.debuggee.ComplexRecursiveStackDebuggee.method185(ComplexRecursiveStackDebuggee.java:1303)
         at tmtools.jstack.share.debuggee.ComplexRecursiveStackDebuggee.method184(ComplexRecursiveStackDebuggee.java:1296)

      although expected stack looks like
       "scenario4" prio=5 tid=XXXXXX nid=XXXXXX XXXXXX
          java.lang.Thread.State: RUNNABLE
         at java.lang.Thread.sleep(Native Method)
         at tmtools.jstack.share.utils.Utils.sleep(Utils.java:31)
         at tmtools.jstack.share.debuggee.ComplexRecursiveStackDebuggee.method699(ComplexRecursiveStackDebuggee.java:4903)
         at tmtools.jstack.share.debuggee.ComplexRecursiveStackDebuggee.method698(ComplexRecursiveStackDebuggee.java:4894)

      On windows was noticed other strange stack under the same conditions.
      [2014-02-13T08:29:51.41] "scenario" prio=5 tid=XXXXXX nid=XXXXXX XXXXXX
      [2014-02-13T08:29:51.41] java.lang.Thread.State: RUNNABLE
      [2014-02-13T08:29:51.41] at java.io.FileInputStream.open(Native Method)
      [2014-02-13T08:29:51.41] at java.io.FileInputStream.<init>(FileInputStream.java:146)
      [2014-02-13T08:29:51.41] at sun.misc.URLClassPath$FileLoader$1.getInputStream(URLClassPath.java:1086)
      [2014-02-13T08:29:51.41] at sun.misc.Resource.cachedInputStream(Resource.java:77)
      [2014-02-13T08:29:51.41] at sun.misc.Resource.getByteBuffer(Resource.java:160)
      [2014-02-13T08:29:51.41] at java.net.URLClassLoader.defineClass(URLClassLoader.java:436)
      [2014-02-13T08:29:51.41] at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
      [2014-02-13T08:29:51.41] at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
      [2014-02-13T08:29:51.41] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
      [2014-02-13T08:29:51.41] at java.security.AccessController.doPrivileged(Native Method)
      [2014-02-13T08:29:51.41] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
      [2014-02-13T08:29:51.41] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
      [2014-02-13T08:29:51.41] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
      [2014-02-13T08:29:51.41] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      [2014-02-13T08:29:51.41] at tmtools.jstack.share.debuggee.ComplexRecursiveStackDebuggee.method399(ComplexRecursiveStackDebuggee.java:2803)
      [2014-02-13T08:29:51.41] at tmtools.jstack.share.debuggee.ComplexRecursiveStackDebuggee.method398(ComplexRecursiveStackDebuggee.java:2794)

      Possibly it is consequences of stack overflow that happens in attached process.
       

        Attachments

          Activity

            People

            • Assignee:
              poonam Poonam Bajaj Parhar
              Reporter:
              bmoloden Boris Molodenkov (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: