-
Bug
-
Resolution: Fixed
-
P3
-
6
-
None
-
b45
-
generic
-
generic
-
Verified
The issue has been seen between two jvm, one started with management on and the other trying to create MXBean proxies for the java.lang.management MXBeans.
The client is Mustang b42; the server is either Tiger Update 5 build 2 or Mustang b42; in both cases, the stack got on client side is the same.
The call that fails is the newMXBeanProxy one in the following client side code :
ObjectName threadName =
new ObjectName(ManagementFactory.THREAD_MXBEAN_NAME) ;
Utils.trace("getMBeanInfo\t\t"
+ getClient().getMBeanInfo(threadName));
ThreadMXBean thread =
JMX.newMXBeanProxy(getClient(),
threadName,
ThreadMXBean.class) ;
Test output :
[SQE] ---- ThreadMXBean
[SQE] getMBeanInfo javax.management.MBeanInfo[description=sun.management.ThreadImpl, attributes=[javax.management.MBeanAttributeInfo[description=CurrentThreadCpuTimeSupported, name=CurrentThreadCpuTimeSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadCpuTimeEnabled, name=ThreadCpuTimeEnabled, type=boolean, read/write, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadCpuTimeSupported, name=ThreadCpuTimeSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=CurrentThreadCpuTime, name=CurrentThreadCpuTime, type=long, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=ObjectMonitorUsageSupported, name=ObjectMonitorUsageSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=PeakThreadCount, name=PeakThreadCount, type=int, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=CurrentThreadUserTime, name=CurrentThreadUserTime, type=long, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadContentionMonitoringEnabled, name=ThreadContentionMonitoringEnabled, type=boolean, read/write, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=DaemonThreadCount, name=DaemonThreadCount, type=int, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=AllThreadIds, name=AllThreadIds, type=[J, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=AllLockedMonitors, name=AllLockedMonitors, type=javax.management.openmbean.TabularData, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadContentionMonitoringSupported, name=ThreadContentionMonitoringSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=TotalStartedThreadCount, name=TotalStartedThreadCount, type=long, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadCount, name=ThreadCount, type=int, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=SynchronizerUsageSupported, name=SynchronizerUsageSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=AllLockedSynchronizers, name=AllLockedSynchronizers, type=javax.management.openmbean.TabularData, read-only, descriptor={}]], constructors=[], operations=[javax.management.MBeanOperationInfo[description=resetPeakThreadCount, name=resetPeakThreadCount, returnType=void, signature=[], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadInfo, name=getThreadInfo, returnType=[Ljavax.management.openmbean.CompositeData;, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=[J, descriptor={}], javax.management.MBeanParameterInfo[description=p1, name=p1, type=int, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadInfo, name=getThreadInfo, returnType=javax.management.openmbean.CompositeData, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=long, descriptor={}], javax.management.MBeanParameterInfo[description=p1, name=p1, type=int, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadInfo, name=getThreadInfo, returnType=[Ljavax.management.openmbean.CompositeData;, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=[J, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadInfo, name=getThreadInfo, returnType=javax.management.openmbean.CompositeData, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=long, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=findDeadlockedThreads, name=findDeadlockedThreads, returnType=[J, signature=[], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=findMonitorDeadlockedThreads, name=findMonitorDeadlockedThreads, returnType=[J, signature=[], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadUserTime, name=getThreadUserTime, returnType=long, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=long, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadCpuTime, name=getThreadCpuTime, returnType=long, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=long, descriptor={}]], impact=action/info, descriptor={}]], notifications=[], descriptor={}]
java.lang.IllegalArgumentException: Not a class: java.lang.management.MonitorInfo[]
at com.sun.jmx.mbeanserver.XType.asClass(XType.java:85)
at com.sun.jmx.mbeanserver.OpenConverter.makeArrayOrCollectionConverter(OpenConverter.java:309)
at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:256)
at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:239)
at com.sun.jmx.mbeanserver.OpenConverter.makeTabularConverter(OpenConverter.java:329)
at com.sun.jmx.mbeanserver.OpenConverter.makeParameterizedConverter(OpenConverter.java:368)
at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:266)
at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:239)
at com.sun.jmx.mbeanserver.ConvertingMethod.<init>(ConvertingMethod.java:188)
at com.sun.jmx.mbeanserver.ConvertingMethod.from(ConvertingMethod.java:25)
at com.sun.jmx.mbeanserver.MXBeanAnalyzer.<init>(MXBeanAnalyzer.java:105)
at com.sun.jmx.mbeanserver.MXBeanAnalyzer.analyzer(MXBeanAnalyzer.java:29)
at javax.management.JMX.newMXBeanProxy(JMX.java:265)
at javax.management.JMX.newMXBeanProxy(JMX.java:222)
at javasoft.sqe.jmx.test.functional.MXBeanTest1.doThreadMXBeanTest(MXBeanTest1.java:196)
at javasoft.sqe.jmx.test.functional.MXBeanTest1.run(MXBeanTest1.java:75)
at javasoft.sqe.jmx.share.TestStarter.<init>(TestStarter.java:40)
at javasoft.sqe.jmx.share.TestStarter.main(TestStarter.java:98)
[SQE] class java.lang.IllegalArgumentException==>Not a class: java.lang.management.MonitorInfo[]
[SQE] ---- ERROR
###@###.### 2005-06-30 07:14:05 GMT
The client is Mustang b42; the server is either Tiger Update 5 build 2 or Mustang b42; in both cases, the stack got on client side is the same.
The call that fails is the newMXBeanProxy one in the following client side code :
ObjectName threadName =
new ObjectName(ManagementFactory.THREAD_MXBEAN_NAME) ;
Utils.trace("getMBeanInfo\t\t"
+ getClient().getMBeanInfo(threadName));
ThreadMXBean thread =
JMX.newMXBeanProxy(getClient(),
threadName,
ThreadMXBean.class) ;
Test output :
[SQE] ---- ThreadMXBean
[SQE] getMBeanInfo javax.management.MBeanInfo[description=sun.management.ThreadImpl, attributes=[javax.management.MBeanAttributeInfo[description=CurrentThreadCpuTimeSupported, name=CurrentThreadCpuTimeSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadCpuTimeEnabled, name=ThreadCpuTimeEnabled, type=boolean, read/write, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadCpuTimeSupported, name=ThreadCpuTimeSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=CurrentThreadCpuTime, name=CurrentThreadCpuTime, type=long, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=ObjectMonitorUsageSupported, name=ObjectMonitorUsageSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=PeakThreadCount, name=PeakThreadCount, type=int, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=CurrentThreadUserTime, name=CurrentThreadUserTime, type=long, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadContentionMonitoringEnabled, name=ThreadContentionMonitoringEnabled, type=boolean, read/write, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=DaemonThreadCount, name=DaemonThreadCount, type=int, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=AllThreadIds, name=AllThreadIds, type=[J, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=AllLockedMonitors, name=AllLockedMonitors, type=javax.management.openmbean.TabularData, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadContentionMonitoringSupported, name=ThreadContentionMonitoringSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=TotalStartedThreadCount, name=TotalStartedThreadCount, type=long, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=ThreadCount, name=ThreadCount, type=int, read-only, descriptor={}], javax.management.MBeanAttributeInfo[description=SynchronizerUsageSupported, name=SynchronizerUsageSupported, type=boolean, read-only, isIs, descriptor={}], javax.management.MBeanAttributeInfo[description=AllLockedSynchronizers, name=AllLockedSynchronizers, type=javax.management.openmbean.TabularData, read-only, descriptor={}]], constructors=[], operations=[javax.management.MBeanOperationInfo[description=resetPeakThreadCount, name=resetPeakThreadCount, returnType=void, signature=[], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadInfo, name=getThreadInfo, returnType=[Ljavax.management.openmbean.CompositeData;, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=[J, descriptor={}], javax.management.MBeanParameterInfo[description=p1, name=p1, type=int, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadInfo, name=getThreadInfo, returnType=javax.management.openmbean.CompositeData, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=long, descriptor={}], javax.management.MBeanParameterInfo[description=p1, name=p1, type=int, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadInfo, name=getThreadInfo, returnType=[Ljavax.management.openmbean.CompositeData;, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=[J, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadInfo, name=getThreadInfo, returnType=javax.management.openmbean.CompositeData, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=long, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=findDeadlockedThreads, name=findDeadlockedThreads, returnType=[J, signature=[], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=findMonitorDeadlockedThreads, name=findMonitorDeadlockedThreads, returnType=[J, signature=[], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadUserTime, name=getThreadUserTime, returnType=long, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=long, descriptor={}]], impact=action/info, descriptor={}], javax.management.MBeanOperationInfo[description=getThreadCpuTime, name=getThreadCpuTime, returnType=long, signature=[javax.management.MBeanParameterInfo[description=p0, name=p0, type=long, descriptor={}]], impact=action/info, descriptor={}]], notifications=[], descriptor={}]
java.lang.IllegalArgumentException: Not a class: java.lang.management.MonitorInfo[]
at com.sun.jmx.mbeanserver.XType.asClass(XType.java:85)
at com.sun.jmx.mbeanserver.OpenConverter.makeArrayOrCollectionConverter(OpenConverter.java:309)
at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:256)
at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:239)
at com.sun.jmx.mbeanserver.OpenConverter.makeTabularConverter(OpenConverter.java:329)
at com.sun.jmx.mbeanserver.OpenConverter.makeParameterizedConverter(OpenConverter.java:368)
at com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:266)
at com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:239)
at com.sun.jmx.mbeanserver.ConvertingMethod.<init>(ConvertingMethod.java:188)
at com.sun.jmx.mbeanserver.ConvertingMethod.from(ConvertingMethod.java:25)
at com.sun.jmx.mbeanserver.MXBeanAnalyzer.<init>(MXBeanAnalyzer.java:105)
at com.sun.jmx.mbeanserver.MXBeanAnalyzer.analyzer(MXBeanAnalyzer.java:29)
at javax.management.JMX.newMXBeanProxy(JMX.java:265)
at javax.management.JMX.newMXBeanProxy(JMX.java:222)
at javasoft.sqe.jmx.test.functional.MXBeanTest1.doThreadMXBeanTest(MXBeanTest1.java:196)
at javasoft.sqe.jmx.test.functional.MXBeanTest1.run(MXBeanTest1.java:75)
at javasoft.sqe.jmx.share.TestStarter.<init>(TestStarter.java:40)
at javasoft.sqe.jmx.share.TestStarter.main(TestStarter.java:98)
[SQE] class java.lang.IllegalArgumentException==>Not a class: java.lang.management.MonitorInfo[]
[SQE] ---- ERROR
###@###.### 2005-06-30 07:14:05 GMT
- relates to
-
JDK-6304996 UndeclaredThrowableException got when calling ThreadMXBean.getThreadInfo(long[],int) using a proxy
-
- Closed
-