Switched from Java 1.5 to 1.6, now can't load jmx Test Plans

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Switched from Java 1.5 to 1.6, now can't load jmx Test Plans

smithgcovert

Hi,

I recently updated my test harness to Java 1.6 from 1.5.  The product we are doing performance testing on is finally moving to 1.6.

But, when I went up to 1.6, Jmeter is no longer able to load my jmx files.  When I try to load them, I get the error I will attach to the bottom of this message.

I'm guessing the problem is with a difference in serialization between 1.5 and 1.6.  Can someone give me a pointer to convert these test plans to 1.6?  I don't want to completely re-write them.

Thanks,
Greg




Caused by: com.thoughtworks.xstream.XStream$InitializationException: Could not i
nstatiate converter : com.thoughtworks.xstream.converters.enums.EnumSetConverter
 : null
        at com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream
.java:657)
        at com.thoughtworks.xstream.XStream.setupConverters(XStream.java:626)
        at com.thoughtworks.xstream.XStream.<init>(XStream.java:373)
        at com.thoughtworks.xstream.XStream.<init>(XStream.java:308)
        at org.apache.jmeter.save.SaveService$1.<init>(SaveService.java:69)
        at org.apache.jmeter.save.SaveService.<clinit>(SaveService.java:67)
        at java.lang.J9VMInternals.initializeImpl(Native Method)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:198)
        ... 13 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:45)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:528)
        at com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream
.java:650)
        ... 20 more
Caused by: java.lang.RuntimeException: Could not access java.util.EnumSet.elemen
tType field
        at com.thoughtworks.xstream.core.util.Fields.find(Fields.java:18)
        at com.thoughtworks.xstream.converters.enums.EnumSetConverter.<init>(Enu
mSetConverter.java:31)
Reply | Threaded
Open this post in threaded view
|

Re: Switched from Java 1.5 to 1.6, now can't load jmx Test Plans

sebb-2-2
On 28/03/2008, gregsmit <[hidden email]> wrote:

>
>
>  Hi,
>
>  I recently updated my test harness to Java 1.6 from 1.5.  The product we are
>  doing performance testing on is finally moving to 1.6.
>
>  But, when I went up to 1.6, Jmeter is no longer able to load my jmx files.
>  When I try to load them, I get the error I will attach to the bottom of this
>  message.
>
>  I'm guessing the problem is with a difference in serialization between 1.5
>  and 1.6.  Can someone give me a pointer to convert these test plans to 1.6?
>  I don't want to completely re-write them.
>

I just tried using JMeter 2.3.1 with Java 1.6 (build 1.6.0_05-b13) and
I did not have any problems.

Which version of JMeter are you using?

And which version of Java? OS?

>  Thanks,
>  Greg
>
>
>
>
>  Caused by: com.thoughtworks.xstream.XStream$InitializationException: Could
>  not i
>  nstatiate converter :
>  com.thoughtworks.xstream.converters.enums.EnumSetConverter
>   : null
>         at
>  com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream
>  .java:657)
>         at
>  com.thoughtworks.xstream.XStream.setupConverters(XStream.java:626)
>         at com.thoughtworks.xstream.XStream.<init>(XStream.java:373)
>         at com.thoughtworks.xstream.XStream.<init>(XStream.java:308)
>         at org.apache.jmeter.save.SaveService$1.<init>(SaveService.java:69)
>         at org.apache.jmeter.save.SaveService.<clinit>(SaveService.java:67)
>         at java.lang.J9VMInternals.initializeImpl(Native Method)
>         at java.lang.J9VMInternals.initialize(J9VMInternals.java:198)
>         ... 13 more
>  Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>  Method)
>
>         at
>  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
>  orAccessorImpl.java:45)
>         at
>  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
>  onstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:528)
>         at
>  com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream
>  .java:650)
>         ... 20 more
>  Caused by: java.lang.RuntimeException: Could not access
>  java.util.EnumSet.elemen
>  tType field
>         at com.thoughtworks.xstream.core.util.Fields.find(Fields.java:18)
>         at
>  com.thoughtworks.xstream.converters.enums.EnumSetConverter.<init>(Enu
>  mSetConverter.java:31)
>
> --
>  View this message in context: http://www.nabble.com/Switched-from-Java-1.5-to-1.6%2C-now-can%27t-load-jmx-Test-Plans-tp16360173p16360173.html
>  Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [hidden email]
>  For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Switched from Java 1.5 to 1.6, now can't load jmx Test Plans

smithgcovert

sebb-2-2 wrote
I just tried using JMeter 2.3.1 with Java 1.6 (build 1.6.0_05-b13) and
I did not have any problems.

Which version of JMeter are you using?

And which version of Java? OS?
Hi -- I'm using the IBM JDK 1.6.  I get the message below on both Linux and Windows.  Looking at the original error message, it looks like maybe Jmeter is using some non-public fields for serializing / deserializing, and the IBM jdk doesn't have the same private fields.

I'll try with the Sun JDK, and see if I get the same error loading the save files.  
Reply | Threaded
Open this post in threaded view
|

Re: Switched from Java 1.5 to 1.6, now can't load jmx Test Plans

sebb-2-2
On 31/03/2008, gregsmit <[hidden email]> wrote:

>
>
>
>  sebb-2-2 wrote:
>  >
>  > I just tried using JMeter 2.3.1 with Java 1.6 (build 1.6.0_05-b13) and
>  > I did not have any problems.
>  >
>  > Which version of JMeter are you using?
>  >
>  > And which version of Java? OS?
>  >
>  >
>
>
> Hi -- I'm using the IBM JDK 1.6.  I get the message below on both Linux and
>  Windows.  Looking at the original error message, it looks like maybe Jmeter
>  is using some non-public fields for serializing / deserializing, and the IBM
>  jdk doesn't have the same private fields.
>
>  I'll try with the Sun JDK, and see if I get the same error loading the save
>  files.
>

What provider were you using for Java 1.5?

Which version of JMeter?

JMeter uses the PureJavaReflectionProvider of XStream, so it should
not care about the Java provider. And JMeter does not use EnumSets,
because it is targetted at 1.4.

However XStream will try to register converters for additional types
depending on the runtime Java version.

It may be necessary to update the XStream jar to a more recent version.

> --
>  View this message in context: http://www.nabble.com/Switched-from-Java-1.5-to-1.6%2C-now-can%27t-load-jmx-Test-Plans-tp16360173p16390255.html
>
> Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [hidden email]
>  For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Switched from Java 1.5 to 1.6, now can't load jmx Test Plans

smithgcovert

Hi,

I was using the IBM 1.5 JDK when the test plans were created.

I am now using Jmeter 2.3.1.  The test plans were originally created under Jmeter 2.2, but have been edited / saved with each release of Jmeter since then.

I did confirm that if I use the Sun 1.6 JVM to run Jmeter, then load the test plan, there are no problems.  So the problem only occurs if you are using an IBM 1.6 JVM.  Under that 1.6 JVM, when you load a test plan, you get the previously reported problem.  

I will create a bugzilla entry for this problem.

I'll try updating the XStream .jar, and see if that solves the problem.

sebb-2-2 wrote
What provider were you using for Java 1.5?

Which version of JMeter?

JMeter uses the PureJavaReflectionProvider of XStream, so it should
not care about the Java provider. And JMeter does not use EnumSets,
because it is targetted at 1.4.

However XStream will try to register converters for additional types
depending on the runtime Java version.

It may be necessary to update the XStream jar to a more recent version.
Reply | Threaded
Open this post in threaded view
|

Re: Switched from Java 1.5 to 1.6, now can't load jmx Test Plans

sebb-2-2
On 31/03/2008, gregsmit <[hidden email]> wrote:

>
>
>  Hi,
>
>  I was using the IBM 1.5 JDK when the test plans were created.
>
>  I am now using Jmeter 2.3.1.  The test plans were originally created under
>  Jmeter 2.2, but have been edited / saved with each release of Jmeter since
>  then.
>
>  I did confirm that if I use the Sun 1.6 JVM to run Jmeter, then load the
>  test plan, there are no problems.  So the problem only occurs if you are
>  using an IBM 1.6 JVM.  Under that 1.6 JVM, when you load a test plan, you
>  get the previously reported problem.
>
>  I will create a bugzilla entry for this problem.

However the problem is more likely to be with XStream or the version thereof ...

>  I'll try updating the XStream .jar, and see if that solves the problem.
>

Please do. XStream 1.3 seems to work fine with the current code in SVN
(and will be in the next release of JMeter)

>
>
>  sebb-2-2 wrote:
>  >
>  > What provider were you using for Java 1.5?
>  >
>  > Which version of JMeter?
>  >
>  > JMeter uses the PureJavaReflectionProvider of XStream, so it should
>  > not care about the Java provider. And JMeter does not use EnumSets,
>  > because it is targetted at 1.4.
>  >
>  > However XStream will try to register converters for additional types
>  > depending on the runtime Java version.
>  >
>  > It may be necessary to update the XStream jar to a more recent version.
>  >
>  >
>
>  --
>
> View this message in context: http://www.nabble.com/Switched-from-Java-1.5-to-1.6%2C-now-can%27t-load-jmx-Test-Plans-tp16360173p16396156.html
>
> Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [hidden email]
>  For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Switched from Java 1.5 to 1.6, now can't load jmx Test Plans

sebb-2-2
On 31/03/2008, sebb <[hidden email]> wrote:

> On 31/03/2008, gregsmit <[hidden email]> wrote:
>  >
>  >
>
> >  Hi,
>  >
>  >  I was using the IBM 1.5 JDK when the test plans were created.
>  >
>  >  I am now using Jmeter 2.3.1.  The test plans were originally created under
>  >  Jmeter 2.2, but have been edited / saved with each release of Jmeter since
>  >  then.
>  >
>  >  I did confirm that if I use the Sun 1.6 JVM to run Jmeter, then load the
>  >  test plan, there are no problems.  So the problem only occurs if you are
>  >  using an IBM 1.6 JVM.  Under that 1.6 JVM, when you load a test plan, you
>  >  get the previously reported problem.
>  >
>  >  I will create a bugzilla entry for this problem.
>
>
> However the problem is more likely to be with XStream or the version thereof ...
>
>
>  >  I'll try updating the XStream .jar, and see if that solves the problem.
>  >
>
>
> Please do. XStream 1.3 seems to work fine with the current code in SVN
>  (and will be in the next release of JMeter)
>
>

I've been able to downlaod the IBM JDK 6.0 as part of their Eclipse
bundle, and I see the same problem as you in JMeter 2.3.1.

Replacing xstream-1.2.1.jar with xstream-1.3.jar solves the problem for me.

>  >
>  >
>  >  sebb-2-2 wrote:
>  >  >
>  >  > What provider were you using for Java 1.5?
>  >  >
>  >  > Which version of JMeter?
>  >  >
>  >  > JMeter uses the PureJavaReflectionProvider of XStream, so it should
>  >  > not care about the Java provider. And JMeter does not use EnumSets,
>  >  > because it is targetted at 1.4.
>  >  >
>  >  > However XStream will try to register converters for additional types
>  >  > depending on the runtime Java version.
>  >  >
>  >  > It may be necessary to update the XStream jar to a more recent version.
>  >  >
>  >  >
>  >
>  >  --
>  >
>  > View this message in context: http://www.nabble.com/Switched-from-Java-1.5-to-1.6%2C-now-can%27t-load-jmx-Test-Plans-tp16360173p16396156.html
>  >
>  > Sent from the JMeter - User mailing list archive at Nabble.com.
>  >
>  >
>  >  ---------------------------------------------------------------------
>  >  To unsubscribe, e-mail: [hidden email]
>  >  For additional commands, e-mail: [hidden email]
>  >
>  >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]