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

org.omg.stub.javax.management.remote.rmi._RMIConnectionImpl_Tie._invoke throws NPE intermittently

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • 8
    • 8
    • core-svc

      This may be a dup of 6360330 but it's not impossible to edit 6360330 as the jets/idl/rmi-iiop category is apparently migrated to BugDB.

      Periodically we see JMX remote tests failing with an NPE like this:

      java.lang.NullPointerException
      at org.omg.stub.javax.management.remote.rmi._RMIConnectionImpl_Tie._invoke(Unknown Source)
      at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:654)
      at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:205)
      at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1698)
      at com.sun.corba.se.impl.protocol.SharedCDRClientRequestDispatcherImpl.marshalingComplete(SharedCDRClientRequestDispatcherImpl.java:171)
      at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:148)
      at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:475)
      at com.sun.jmx.remote.protocol.iiop.ProxyStub._invoke(Unknown Source)
      at org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub.getDefaultDomain(Unknown Source)
      at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getDefaultDomain(RMIConnector.java:1042)

      Shanliang Jiang provides some analysis in 6360330.

      The following is the complete output of a test run with jdk8/tl that demonstrates the failure.


      --------------------------------------------------
      TEST: javax/management/remote/mandatory/connection/ReconnectTest.java
      JDK under test: (/tmp/jprt/P2/191612.albatem/testproduct/linux_x64_2.6-product)
      java version "1.8.0-internal"
      Java(TM) SE Runtime Environment (build 1.8.0-internal-201202111916.albatem.tl-b00)
      Java HotSpot(TM) 64-Bit Server VM (build 23.0-b14, mixed mode)

      ACTION: clean -- Passed. Clean successful
      REASON: User specified action: run clean ReconnectTest
      TIME: 0.0 seconds
      messages:
      command: clean ReconnectTest
      reason: User specified action: run clean ReconnectTest
      elapsed time (seconds): 0.0

      ACTION: build -- Passed. Build successful
      REASON: User specified action: run build ReconnectTest
      TIME: 1.106 seconds
      messages:
      command: build ReconnectTest
      reason: User specified action: run build ReconnectTest
      elapsed time (seconds): 1.106

      ACTION: compile -- Passed. Compilation successful
      REASON: .class file out of date or does not exist
      TIME: 1.106 seconds
      messages:
      command: compile /tmp/jprt/P2/191612.albatem/source/jdk/test/javax/management/remote/mandatory/connection/ReconnectTest.java
      reason: .class file out of date or does not exist
      elapsed time (seconds): 1.106
      STDOUT:
      STDERR:
      Note: /tmp/jprt/P2/191612.albatem/source/jdk/test/javax/management/remote/mandatory/connection/ReconnectTest.java uses unchecked or unsafe operations.
      Note: Recompile with -Xlint:unchecked for details.

      ACTION: build -- Passed. All files up to date
      REASON: Named class compiled on demand
      TIME: 0.0 seconds
      messages:
      command: build ReconnectTest
      reason: Named class compiled on demand
      elapsed time (seconds): 0.0

      ACTION: main -- Failed. Unexpected exit from test [exit code: 1]
      REASON: User specified action: run main ReconnectTest
      TIME: 8.957 seconds
      messages:
      command: main ReconnectTest
      reason: User specified action: run main ReconnectTest
      elapsed time (seconds): 8.957
      STDOUT:
      >>> test to reconnect.


      >>> Test for protocol rmi
      The default domain is DefaultDomain
      ************** Sleeping ...... 0
      Sleep done.
      The default domain is DefaultDomain
      ************** Sleeping ...... 1
      Sleep done.
      The default domain is DefaultDomain
      ************** Sleeping ...... 2
      Sleep done.
      The default domain is DefaultDomain
      Close the client ...
      Close the server ...
      Bye bye.
      >>> Test successed for rmi


      >>> Test for protocol iiop
      The default domain is DefaultDomain
      ************** Sleeping ...... 0
      Sleep done.
      >>> Test failed for iiop
      java.lang.NullPointerException
      at org.omg.stub.javax.management.remote.rmi._RMIConnectionImpl_Tie._invoke(Unknown Source)
      at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:654)
      at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:205)
      at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1698)
      at com.sun.corba.se.impl.protocol.SharedCDRClientRequestDispatcherImpl.marshalingComplete(SharedCDRClientRequestDispatcherImpl.java:171)
      at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:148)
      at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:475)
      at com.sun.jmx.remote.protocol.iiop.ProxyStub._invoke(Unknown Source)
      at org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub.getDefaultDomain(Unknown Source)
      at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getDefaultDomain(RMIConnector.java:1042)
      at ReconnectTest.test(ReconnectTest.java:110)
      at ReconnectTest.main(ReconnectTest.java:60)
      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:474)
      at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94)
      at java.lang.Thread.run(Thread.java:722)


      >>> Test for protocol jmxmp
      Skipping unsupported URL jmxmp
      >>> Test successed for jmxmp
      >>> TEST FAILED
      STDERR:
      Feb 11, 2012 12:02:22 PM ServerCommunicatorAdmin reqIncoming
      WARNING: The server has decided to close this client connection.
      Feb 11, 2012 12:02:22 PM ServerCommunicatorAdmin reqIncoming
      WARNING: The server has decided to close this client connection.
      Feb 11, 2012 12:02:28 PM ClientCommunicatorAdmin Checker-run
      WARNING: Failed to check the connection: java.lang.NullPointerException

      TEST RESULT: Failed. Unexpected exit from test [exit code: 1]
      --------------------------------------------------

            jbachorik Jaroslav BachorĂ­k
            alanb Alan Bateman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: