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

Out-of-the-box: No error if role name in password file is not in access file

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 5.0
    • core-svc
    • None

      If the password file contains a role name that doesn't exist in
      the access file, currently it's not detected as an error.

      The JMX connector will throw an exception when a client attempts
      to connect to it.

      For example, when jconsole connects to such an application,
      the following exception is thrown.

      Exception in thread "Worker-Memory-monitorRole@localhost:1070" java.lang.SecurityException: Access denied! Invalid access level for requested MBeanServer operation.
              at com.sun.jmx.remote.security.MBeanServerFileAccessController.checkAccessLevel(MBeanServerFileAccessController.java:248)
              at com.sun.jmx.remote.security.MBeanServerFileAccessController.checkRead(MBeanServerFileAccessController.java:170)
              at com.sun.jmx.remote.security.MBeanServerAccessController.queryNames(MBeanServerAccessController.java:465)
              at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1420)
              at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:82)
              at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1248)
              at java.security.AccessController.doPrivileged(Native Method)
              at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1342)
              at javax.management.remote.rmi.RMIConnectionImpl.queryNames(RMIConnectionImpl.java:533)
              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:582)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
              at sun.rmi.transport.Transport$1.run(Transport.java:153)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
              at java.lang.Thread.run(Thread.java:595)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
              at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
              at javax.management.remote.rmi.RMIConnectionImpl_Stub.queryNames(Unknown Source)
              at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.queryNames(RMIConnector.java:798)
              at sun.tools.jconsole.ProxyClient.getMBeans(ProxyClient.java:198)
              at sun.tools.jconsole.MemoryTab$1.run(MemoryTab.java:155)
              at sun.tools.jconsole.Worker.run(Worker.java:33)
      Exception in thread "Timer-monitorRole@localhost:1070" java.lang.SecurityException: Access denied! Invalid access level for requested MBeanServer operation.
              at com.sun.jmx.remote.security.MBeanServerFileAccessController.checkAccessLevel(MBeanServerFileAccessController.java:248)
              at com.sun.jmx.remote.security.MBeanServerFileAccessController.checkRead(MBeanServerFileAccessController.java:170)
              at com.sun.jmx.remote.security.MBeanServerAccessController.isInstanceOf(MBeanServerAccessController.java:438)
              at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1407)
              at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:82)
              at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1248)
              at java.security.AccessController.doPrivileged(Native Method)
              at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1342)
              at javax.management.remote.rmi.RMIConnectionImpl.isInstanceOf(RMIConnectionImpl.java:895)
              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:582)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
              at sun.rmi.transport.Transport$1.run(Transport.java:153)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
              at java.lang.Thread.run(Thread.java:595)

              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
              at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
              at javax.management.remote.rmi.RMIConnectionImpl_Stub.isInstanceOf(Unknown Source)
              at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.isInstanceOf(RMIConnector.java:1049)
              at java.lang.management.ManagementFactory.newPlatformMXBeanProxy(ManagementFactory.java:615)
              at sun.tools.jconsole.ProxyClient.getRuntimeMXBean(ProxyClient.java:363)
              at sun.tools.jconsole.SummaryTab.formatSummary(SummaryTab.java:64)
              at sun.tools.jconsole.SummaryTab.update(SummaryTab.java:41)
              at sun.tools.jconsole.VMPanel.update(VMPanel.java:88)
              at sun.tools.jconsole.VMPanel$1.run(VMPanel.java:52)
              at java.util.TimerThread.mainLoop(Timer.java:512)
              at java.util.TimerThread.run(Timer.java:462)
      Error when synchronizing with MBeanServer : java.lang.SecurityException: Access denied! Invalid access level for requested MBeanServer operation.

            lmalvent Luis-Miguel Alventosa (Inactive)
            mchung Mandy Chung (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: