Duplicate :
|
|
Relates :
|
|
Relates :
|
A remote call to getMBeanInfo using rmi/iiop gets stuck when : - server runs over JDK6 (GA or U5) - client runs over JDK5 (U5 or U13) When dumping the stack : ^\Full thread dump Java HotSpot(TM) Server VM (1.5.0_13-rev-b06 mixed mode): "Thread-2" daemon prio=10 tid=0x085b7a40 nid=0xf waiting on condition [0xc387d000..0xc387dc28] at java.lang.Thread.sleep(Native Method) at com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.run(ClientCommunicatorAdmin.java:154) at java.lang.Thread.run(Thread.java:595) "p: default-threadpool; w: Idle" daemon prio=10 tid=0x082ffe10 nid=0xe in Object.wait() [0xc39ab000..0xc39abca8] at java.lang.Object.wait(Native Method) - waiting on <0xf28b6f28> (a com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl) at com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl.requestWork(WorkQueueImpl.java:122) - locked <0xf28b6f28> (a com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl) at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:388) "SelectorThread" daemon prio=10 tid=0x082b0428 nid=0xd runnable [0xc39ed000..0xc39edb28] at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method) at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:164) at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69) - locked <0xf28c0f10> (a sun.nio.ch.Util$1) - locked <0xf28c0f00> (a java.util.Collections$UnmodifiableSet) - locked <0xf28c0b58> (a sun.nio.ch.DevPollSelectorImpl) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80) at com.sun.corba.se.impl.transport.SelectorImpl.run(SelectorImpl.java:249) "Low Memory Detector" daemon prio=10 tid=0x08191fe8 nid=0xb runnable [0x00000000..0x00000000] "CompilerThread1" daemon prio=10 tid=0x08190760 nid=0xa waiting on condition [0x00000000..0xc3bfce30] "CompilerThread0" daemon prio=10 tid=0x0818f930 nid=0x9 waiting on condition [0x00000000..0xf7e510b0] "AdapterThread" daemon prio=10 tid=0x0818eb00 nid=0x8 waiting on condition [0x00000000..0x00000000] "Signal Dispatcher" daemon prio=10 tid=0x0818dd38 nid=0x7 waiting on condition [0x00000000..0x00000000] "Finalizer" daemon prio=10 tid=0x081814f8 nid=0x6 in Object.wait() [0xf7f17000..0xf7f17ca8] at java.lang.Object.wait(Native Method) - waiting on <0xf2800ad8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0xf2800ad8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x08181008 nid=0x5 in Object.wait() [0xf7f59000..0xf7f59b28] at java.lang.Object.wait(Native Method) - waiting on <0xf28009e8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:474) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0xf28009e8> (a java.lang.ref.Reference$Lock) "main" prio=10 tid=0x080744f0 nid=0x1 in Object.wait() [0x08045000..0x08046178] at java.lang.Object.wait(Native Method) - waiting on <0xf2ae27d8> (a java.lang.Object) at java.lang.Object.wait(Object.java:474) at com.sun.corba.se.impl.transport.CorbaResponseWaitingRoomImpl.waitForResponse(CorbaResponseWaitingRoomImpl.java:140) - locked <0xf2ae27d8> (a java.lang.Object) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.waitForResponse(SocketOrChannelConnectionImpl.java:1058) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.waitForResponse(CorbaMessageMediatorImpl.java:253) at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete1(CorbaClientRequestDispatcherImpl.java:349) at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:323) at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129) at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457) at com.sun.org.omg.SendingContext._CodeBaseStub.meta(_CodeBaseStub.java:105) at com.sun.corba.se.impl.encoding.CachedCodeBase.meta(CachedCodeBase.java:89) at com.sun.corba.se.impl.io.IIOPInputStream.getOrderedDescriptions(IIOPInputStream.java:1276) at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStream.java:1455) at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:398) at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327) at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293) at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034) at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253) at com.sun.jmx.remote.internal.PInputStream.read_value(Unknown Source) at org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub.getMBeanInfo(Unknown Source) at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getMBeanInfo(RMIConnector.java:1031) at Client.main(Client.java:42) "VM Thread" prio=10 tid=0x0817ef30 nid=0x4 runnable "GC task thread#0 (ParallelGC)" prio=10 tid=0x080f62f0 nid=0x2 runnable "GC task thread#1 (ParallelGC)" prio=10 tid=0x080f6d30 nid=0x3 runnable "VM Periodic Task Thread" prio=10 tid=0x080ed9e8 nid=0xc waiting on condition In order to reproduce, use the attached zip file of bug 6288100 that contains all java and class files and follow the steps as listed: In a first shell, do: tnameserv -ORBInitialPort 9999 In a second shell, do: java Server In a third shell, do: java Client
|