I've installed Hyperic 4.5 server and agent on a Debian Linux.
Everything is fine with these default installation, I can see the tomcat server for example.
I've made a simple java application with a custom mbean.
This application is launched with jmx enabled configuration.
Adding this application is OK with "Add Server / Sun JVM", I can see JVM Memory, thread, etc...
But when I want to make a "JMX MBean Query" with the defautl field I've got this error:
"Error: Unable to deserialize agent data. You may need to update your agent."
=> Server and Agent are at the same version
I checked the server log and here is the error:
2010-11-14 00:34:49,592 INFO [catalina-exec-6] [JmxController@?] Invoking method: queryMBeans with [id:[10004], eid:[2:10010], attachId:[10004], mode:[list]]
2010-11-14 00:34:52,093 INFO [catalina-exec-11] [JmxController@?] Invoking method: queryMBeans with [id:[10004], presetFilter:[JVM Memory MBean], refreshInterval:[0], pattern:[java.lang:type=MemoryPool,*], attributeFilter:[.*], operationFilter:[.*], eid:[2:10010], attachId:[10004], mode:[list]]
2010-11-14 00:34:52,576 WARN [catalina-exec-11] [org.hyperic.hq.livedata.agent.client.LegacyLiveDataCommandsClientImpl@89] Unable to deserialize agent data. You may need to update your agent.
com.thoughtworks.xstream.converters.ConversionException: Cannot deserialize object with new readObject()/writeObject() methods
---- Debugging information ----
class : java.util.HashMap
required-type : javax.management.MBeanOperationInfo
path : /map/entry/map/entry[2]/javax.management.MBeanOperationInfo-array/javax.management.MBeanOperationInfo
line number : 491
-------------------------------
at com.thoughtworks.xstream.converters.reflection.SerializableConverter.doUnmarshal(SerializableConverter.java:281)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal(ArrayConverter.java:55)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:79)
at com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:79)
at com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:845)
at org.hyperic.hq.livedata.agent.client.LegacyLiveDataCommandsClientImpl.serializeData(LegacyLiveDataCommandsClientImpl.java:63)
at org.hyperic.hq.livedata.agent.client.LegacyLiveDataCommandsClientImpl.getData(LegacyLiveDataCommandsClientImpl.java:85)
at org.hyperic.hq.livedata.server.session.LiveDataManagerImpl.getData(LiveDataManagerImpl.java:268)
at org.hyperic.hq.livedata.server.session.LiveDataManagerImpl.getData(LiveDataManagerImpl.java:220)
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:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
[...]
The simple application is running with the OpenJDK 6 but I've got the same error when I run it with the jre included in hyperic server.
Everything is fine with these default installation, I can see the tomcat server for example.
I've made a simple java application with a custom mbean.
This application is launched with jmx enabled configuration.
Adding this application is OK with "Add Server / Sun JVM", I can see JVM Memory, thread, etc...
But when I want to make a "JMX MBean Query" with the defautl field I've got this error:
"Error: Unable to deserialize agent data. You may need to update your agent."
=> Server and Agent are at the same version
I checked the server log and here is the error:
2010-11-14 00:34:49,592 INFO [catalina-exec-6] [JmxController@?] Invoking method: queryMBeans with [id:[10004], eid:[2:10010], attachId:[10004], mode:[list]]
2010-11-14 00:34:52,093 INFO [catalina-exec-11] [JmxController@?] Invoking method: queryMBeans with [id:[10004], presetFilter:[JVM Memory MBean], refreshInterval:[0], pattern:[java.lang:type=MemoryPool,*], attributeFilter:[.*], operationFilter:[.*], eid:[2:10010], attachId:[10004], mode:[list]]
2010-11-14 00:34:52,576 WARN [catalina-exec-11] [org.hyperic.hq.livedata.agent.client.LegacyLiveDataCommandsClientImpl@89] Unable to deserialize agent data. You may need to update your agent.
com.thoughtworks.xstream.converters.ConversionException: Cannot deserialize object with new readObject()/writeObject() methods
---- Debugging information ----
class : java.util.HashMap
required-type : javax.management.MBeanOperationInfo
path : /map/entry/map/entry[2]/javax.management.MBeanOperationInfo-array/javax.management.MBeanOperationInfo
line number : 491
-------------------------------
at com.thoughtworks.xstream.converters.reflection.SerializableConverter.doUnmarshal(SerializableConverter.java:281)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at com.thoughtworks.xstream.converters.collections.ArrayConverter.unmarshal(ArrayConverter.java:55)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:79)
at com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
at com.thoughtworks.xstream.converters.collections.MapConverter.populateMap(MapConverter.java:79)
at com.thoughtworks.xstream.converters.collections.MapConverter.unmarshal(MapConverter.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:845)
at org.hyperic.hq.livedata.agent.client.LegacyLiveDataCommandsClientImpl.serializeData(LegacyLiveDataCommandsClientImpl.java:63)
at org.hyperic.hq.livedata.agent.client.LegacyLiveDataCommandsClientImpl.getData(LegacyLiveDataCommandsClientImpl.java:85)
at org.hyperic.hq.livedata.server.session.LiveDataManagerImpl.getData(LiveDataManagerImpl.java:268)
at org.hyperic.hq.livedata.server.session.LiveDataManagerImpl.getData(LiveDataManagerImpl.java:220)
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:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
[...]
The simple application is running with the OpenJDK 6 but I've got the same error when I run it with the jre included in hyperic server.