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

ThreadMXBean.dumpAllThreads() fails when the caller have "monitor" permission

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: tbd
    • Component/s: core-svc
    • Labels:
      None
    • Subcomponent:
    • Understanding:
      Cause Known
    • Introduced In Version:
      5.0
    • CPU:
      generic
    • OS:
      generic

      Description

      ThreadMXBean.dumpAllThreads() fails when the caller have "monitor" permission - see attached test. The test first uses "control" permission, which works fine, but ThreadMXBean.dumpAllThreads() fails with
      java.lang.SecurityException: Access denied! Invalid access level for requested MBeanServer operation.
      at com.sun.jmx.remote.security.MBeanServerFileAccessController.checkAccess(MBeanServerFileAccessController.java:344)
      at com.sun.jmx.remote.security.MBeanServerFileAccessController.checkWrite(MBeanServerFileAccessController.java:240)
      at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:466)
      at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1471)
      at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
      at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1312)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1411)
      at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:832)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:497)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
      at sun.rmi.transport.Transport$1.run(Transport.java:200)
      at sun.rmi.transport.Transport$1.run(Transport.java:197)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$256(TCPTransport.java:683)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
      at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
      at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
      at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
      at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown Source)
      at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:1022)
      at com.sun.jmx.mbeanserver.MXBeanProxy$InvokeHandler.invoke(MXBeanProxy.java:150)
      at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167)
      at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:258)
      at com.sun.proxy.$Proxy2.dumpAllThreads(Unknown Source)
      at jmxaccess.DumpAllThreadsTest.main(DumpAllThreadsTest.java:210)

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            thurka Tomáš Hůrka
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated: