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

jstack -m (mixed threads) throws NullPointerException

    Details

    • Subcomponent:
    • CPU:
      x86
    • OS:
      linux

      Description

      FULL PRODUCT VERSION :
      java version "1.6.0_02"
      Java(TM) SE Runtime Environment (build 1.6.0_02-b05)
      Java HotSpot(TM) Client VM (build 1.6.0_02-b05, mixed mode, sharing)

      also tested with 1.6.0_01

      ADDITIONAL OS VERSION INFORMATION :
      Linux heffer.pirobase.de 2.6.17-13mdv #1 SMP Fri Mar 23 19:03:31 UTC 2007 i686 Intel(R) Pentium(R) D CPU 3.00GHz GNU/Linux

      and Ubuntu 7.04

      A DESCRIPTION OF THE PROBLEM :
      jstack -m <pid> in jdk1.6 just throws a lot of NullPointerException instead of reporting something useful:

      Attaching to process ID 30466, please wait...
      Debugger attached successfully.
      Server compiler detected.
      JVM version is 1.6.0_01-b06
      Deadlock Detection:

      No deadlocks found.

      ----------------- 30467 -----------------
      java.lang.NullPointerException
              at sun.jvm.hotspot.tools.PStack.printUnknown(PStack.java:207)
              at sun.jvm.hotspot.tools.PStack.run(PStack.java:130)
              at sun.jvm.hotspot.tools.PStack.run(PStack.java:36)
              at sun.jvm.hotspot.tools.PStack.run(PStack.java:31)
              at sun.jvm.hotspot.tools.JStack.run(JStack.java:43)
              at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
              at sun.jvm.hotspot.tools.JStack.main(JStack.java:69)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at sun.tools.jstack.JStack.runJStackTool(JStack.java:118)
              at sun.tools.jstack.JStack.main(JStack.java:84)
      ...

      the same was working in jdk1.5.0_07 (only 1.5 release I tested). I also tested with the last jdk7 snapshot:

      java version "1.7.0-ea"
      Java(TM) SE Runtime Environment (build 1.7.0-ea-b13)
      Java HotSpot(TM) Client VM (build 1.7.0-ea-b13, mixed mode, sharing)

      there it seems to work, at least some threads are dumped. But there I get a lot of these:

      sun.jvm.hotspot.debugger.UnalignedAddressException: Trying to read at address: 0x466e3a6e with alignm ent: 4
              at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$1.checkAlignment(LinuxDebuggerLocal.java :181)
              at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readCInteger(LinuxDebuggerLocal.java:469 )
              at sun.jvm.hotspot.debugger.DebuggerBase.readAddressValue(DebuggerBase.java:442)
              at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readAddress(LinuxDebuggerLocal.java:423)
              at sun.jvm.hotspot.debugger.linux.LinuxAddress.getAddressAt(LinuxAddress.java:74)
              at sun.jvm.hotspot.debugger.linux.x86.LinuxX86CFrame.sender(LinuxX86CFrame.java:60)
              at sun.jvm.hotspot.tools.PStack.run(PStack.java:161)
              at sun.jvm.hotspot.tools.PStack.run(PStack.java:53)
              at sun.jvm.hotspot.tools.PStack.run(PStack.java:48)
              at sun.jvm.hotspot.tools.JStack.run(JStack.java:60)
              at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
              at sun.jvm.hotspot.tools.JStack.main(JStack.java:86)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:624)
              at sun.tools.jstack.JStack.runJStackTool(JStack.java:136)
              at sun.tools.jstack.JStack.main(JStack.java:102)


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      call jstack -m on some pid with a java process

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      a mixed thread dump
      ACTUAL -
      NullPointerException

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      see attachment


      REPRODUCIBILITY :
      This bug can be reproduced always.

      Release Regression From : 5.0u12
      The above release value was the last known release where this
      bug was not reproducible. Since then there has been a regression.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                ryeung Roger Yeung (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: