Java 6 or Java 7 ?

I’ve an issue with last 2.0.0-SNAPSHOT :

With java 6 :

Simulation akkaio.Fetching started…
java.lang.reflect.InvocationTargetException
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 scala_maven_executions.MainHelper.runMain(MainHelper.java:164)
at scala_maven_executions.MainWithArgsInFile.main(MainWithArgsInFile.java:26)
Caused by: java.lang.UnsupportedClassVersionError: org/uncommons/maths/random/UnsafeMersenneTwisterRNG : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at io.gatling.core.pause.Exponential$.(Pauses.scala:40)
at io.gatling.core.pause.Exponential$.(Pauses.scala)
at io.gatling.core.pause.PauseSupport$class.$init$(PauseSupport.scala:26)
at io.gatling.core.Predef$.(Predef.scala:33)
at io.gatling.core.Predef$.(Predef.scala)
at akkaio.Fetching.(Fetching.scala:10)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:357)
at java.lang.Class.newInstance(Class.java:310)
at io.gatling.core.runner.Runner.run(Runner.scala:36)
at io.gatling.app.Gatling.start(Gatling.scala:231)
at io.gatling.app.Gatling$.fromMap(Gatling.scala:52)
at io.gatling.app.Gatling$.runGatling(Gatling.scala:77)
at io.gatling.app.Gatling$.runGatling(Gatling.scala:56)
at io.gatling.app.Gatling$.main(Gatling.scala:48)
at io.gatling.app.Gatling.main(Gatling.scala)
… 6 more

With java 7 :

Simulation finished
Generating reports…
Parsing log file(s)…
java.lang.reflect.InvocationTargetException
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:606)
at scala_maven_executions.MainHelper.runMain(MainHelper.java:164)
at scala_maven_executions.MainWithArgsInFile.main(MainWithArgsInFile.java:26)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at io.gatling.core.result.reader.DataReader$.newInstance(DataReader.scala:26)
at io.gatling.app.Gatling.dataReader$lzycompute$1(Gatling.scala:235)
at io.gatling.app.Gatling.io$gatling$app$Gatling$$dataReader$1(Gatling.scala:235)
at io.gatling.app.Gatling$$anonfun$start$1.apply(Gatling.scala:242)
at io.gatling.app.Gatling$$anonfun$start$1.apply(Gatling.scala:242)
at io.gatling.app.Gatling.generateReports$1(Gatling.scala:170)
at io.gatling.app.Gatling.start(Gatling.scala:242)
at io.gatling.app.Gatling$.fromMap(Gatling.scala:52)
at io.gatling.app.Gatling$.runGatling(Gatling.scala:77)
at io.gatling.app.Gatling$.runGatling(Gatling.scala:56)
at io.gatling.app.Gatling$.main(Gatling.scala:48)
at io.gatling.app.Gatling.main(Gatling.scala)
… 6 more
Caused by: java.lang.IllegalArgumentException: highestTrackableValue must be >= 2 * lowestTrackableValue
at org.HdrHistogram.AbstractHistogram.(AbstractHistogram.java:145)
at org.HdrHistogram.Histogram.(Histogram.java:139)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffer.(GeneralStatsBuffers.scala:75)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffers$$anonfun$getRequestGeneralStatsBuffers$1.apply(GeneralStatsBuffers.scala:39)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffers$$anonfun$getRequestGeneralStatsBuffers$1.apply(GeneralStatsBuffers.scala:39)
at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffers.getRequestGeneralStatsBuffers(GeneralStatsBuffers.scala:39)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffers.updateRequestGeneralStatsBuffers(GeneralStatsBuffers.scala:52)
at io.gatling.charts.result.reader.ResultsHolder.addRequestRecord(ResultsHolder.scala:55)
at io.gatling.charts.result.reader.FileDataReader$$anonfun$io$gatling$charts$result$reader$FileDataReader$$secondPass$1.apply(FileDataReader.scala:168)
at io.gatling.charts.result.reader.FileDataReader$$anonfun$io$gatling$charts$result$reader$FileDataReader$$secondPass$1.apply(FileDataReader.scala:163)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
at io.gatling.charts.result.reader.FileDataReader.io$gatling$charts$result$reader$FileDataReader$$secondPass(FileDataReader.scala:163)
at io.gatling.charts.result.reader.FileDataReader$$anonfun$7.apply(FileDataReader.scala:182)
at io.gatling.charts.result.reader.FileDataReader$$anonfun$7.apply(FileDataReader.scala:182)
at io.gatling.charts.result.reader.FileDataReader.doWithInputFiles(FileDataReader.scala:60)
at io.gatling.charts.result.reader.FileDataReader.(FileDataReader.scala:182)
… 22 more

Someone has this issue ?

Regards,

2 differents issues:

  1. We failed to realize that uncommons-math was compiled with JDK7. We’ll investigate if there’s something in the code that justifies it, otherwise we’ll recompile it so that Java 6 bytecode is emitted.
  2. Could you share your simulation.log somewhere so that we can reproduce, please?

I’ve attached simulation.log with Java7.

simulation.log (761 Bytes)

Ok, for java 7, actually it’s a dependency issue with my nexus.

If it’s a snapshot dependency issue, the problem is actually on our side, but we haven’t been able to fix it yet: https://github.com/excilys/gatling/issues/1821

I saw this last night when running a specific test of only 2 seconds duration. but if the test completes early/quickly this could affect other users.
ie. should be reproducible with something similar to

scn.inject(constantUsersPerSec(1).during(2 seconds))

Caused by: java.lang.IllegalArgumentException: highestTrackableValue must be >= 2 * lowestTrackableValue

JDK6 compatibility fixed: https://github.com/excilys/gatling/issues/1912

Note that we will drop it in Gatling 2.1.

Histrogram bug fixed too: https://github.com/excilys/gatling/issues/1913

Thanks for reporting!

I have seen the “highestTrackableValue must be >= 2 * lowestTrackableValue” error a few times. It only occurs after the test run is done and normally when I only have used 1 user that has only one action during the simulation. It looks like an edge case error. As soon as I provide more users or have more actions per user then it isn’t there anymore.

If it’s the same stacktrace, it’s already been fixed. Please grab a fresh snapshot.

Hi,

I’ve this exception again with last snapshot :

java.lang.reflect.InvocationTargetException
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:606)
at scala_maven_executions.MainHelper.runMain(MainHelper.java:164)
at scala_maven_executions.MainWithArgsInFile.main(MainWithArgsInFile.java:26)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at io.gatling.core.result.reader.DataReader$.newInstance(DataReader.scala:26)
at io.gatling.app.Gatling.dataReader$lzycompute$1(Gatling.scala:235)
at io.gatling.app.Gatling.io$gatling$app$Gatling$$dataReader$1(Gatling.scala:235)
at io.gatling.app.Gatling$$anonfun$start$1.apply(Gatling.scala:242)
at io.gatling.app.Gatling$$anonfun$start$1.apply(Gatling.scala:242)
at io.gatling.app.Gatling.generateReports$1(Gatling.scala:170)
at io.gatling.app.Gatling.start(Gatling.scala:242)
at io.gatling.app.Gatling$.fromMap(Gatling.scala:52)
at io.gatling.app.Gatling$.runGatling(Gatling.scala:77)
at io.gatling.app.Gatling$.runGatling(Gatling.scala:56)
at io.gatling.app.Gatling$.main(Gatling.scala:48)
at io.gatling.app.Gatling.main(Gatling.scala)
… 6 more
Caused by: java.lang.IllegalArgumentException: highestTrackableValue must be >= 2 * lowestTrackableValue
at org.HdrHistogram.AbstractHistogram.(AbstractHistogram.java:145)
at org.HdrHistogram.Histogram.(Histogram.java:139)
at org.HdrHistogram.Histogram.(Histogram.java:118)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffer.(GeneralStatsBuffers.scala:73)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffers$$anonfun$getGroupCumulatedResponseTimeGeneralStatsBuffers$1.apply(GeneralStatsBuffers.scala:45)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffers$$anonfun$getGroupCumulatedResponseTimeGeneralStatsBuffers$1.apply(GeneralStatsBuffers.scala:45)
at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffers.getGroupCumulatedResponseTimeGeneralStatsBuffers(GeneralStatsBuffers.scala:45)
at io.gatling.charts.result.reader.buffers.GeneralStatsBuffers.updateGroupGeneralStatsBuffers(GeneralStatsBuffers.scala:61)
at io.gatling.charts.result.reader.ResultsHolder.addGroupRecord(ResultsHolder.scala:46)
at io.gatling.charts.result.reader.FileDataReader$$anonfun$io$gatling$charts$result$reader$FileDataReader$$secondPass$1.apply(FileDataReader.scala:171)
at io.gatling.charts.result.reader.FileDataReader$$anonfun$io$gatling$charts$result$reader$FileDataReader$$secondPass$1.apply(FileDataReader.scala:165)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
at io.gatling.charts.result.reader.FileDataReader.io$gatling$charts$result$reader$FileDataReader$$secondPass(FileDataReader.scala:165)
at io.gatling.charts.result.reader.FileDataReader$$anonfun$7.apply(FileDataReader.scala:184)
at io.gatling.charts.result.reader.FileDataReader$$anonfun$7.apply(FileDataReader.scala:184)
at io.gatling.charts.result.reader.FileDataReader.doWithInputFiles(FileDataReader.scala:62)
at io.gatling.charts.result.reader.FileDataReader.(FileDataReader.scala:184)
… 22 more

With this simulation.log : https://drive.google.com/file/d/0B35VlJiv5im5Tkc1Q1Z6cVYwVmM/edit?usp=sharing

Regards,

Fix, sorry!

Thanks