# Java 6 or Java 7 ?

**URL:** <https://community.gatling.io/t/java-6-or-java-7/1053>\
**Category:** Gatling (Open-Source)\
**Created:** [May 27, 2014, 9:59am UTC](https://community.gatling.io/t/java-6-or-java-7/1053 "2014-05-27T09:59:31Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cyril\_Souti](https://avatars.discourse-cdn.com/v4/letter/c/5daacb/32.png) [@Cyril\_Souti](https://community.gatling.io/u/Cyril_Souti)\
**Post date:** [May 27, 2014, 9:59am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/1 "2014-05-27T09:59:31Z")

</div>

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,

---

<div class="post-metadata">

**Author:** ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)\
**Post date:** [May 27, 2014, 10:08am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/2 "2014-05-27T10:08:28Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Cyril\_Souti](https://avatars.discourse-cdn.com/v4/letter/c/5daacb/32.png) [@Cyril\_Souti](https://community.gatling.io/u/Cyril_Souti)\
**Post date:** [May 27, 2014, 10:33am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/3 "2014-05-27T10:33:28Z")

</div>

I’ve attached simulation.log with Java7.

[simulation.log](https://community.gatling.io/uploads/short-url/8gJtYOvyh3YXuxVPPkCxnaFt0bt.log) (761 Bytes)

---

<div class="post-metadata">

**Author:** ![Cyril\_Souti](https://avatars.discourse-cdn.com/v4/letter/c/5daacb/32.png) [@Cyril\_Souti](https://community.gatling.io/u/Cyril_Souti)\
**Post date:** [May 27, 2014, 10:38am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/4 "2014-05-27T10:38:30Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)\
**Post date:** [May 27, 2014, 10:41am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/5 "2014-05-27T10:41:48Z")

</div>

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](https://github.com/excilys/gatling/issues/1821)

---

<div class="post-metadata">

**Author:** ![Alex\_Bagehot](https://avatars.discourse-cdn.com/v4/letter/a/d78d45/32.png) [@Alex\_Bagehot](https://community.gatling.io/u/Alex_Bagehot)\
**Post date:** [May 27, 2014, 10:59am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/6 "2014-05-27T10:59:49Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)\
**Post date:** [May 27, 2014, 11:23am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/7 "2014-05-27T11:23:27Z")

</div>

JDK6 compatibility fixed: [https://github.com/excilys/gatling/issues/1912](https://github.com/excilys/gatling/issues/1912)

Note that we will drop it in Gatling 2.1.

---

<div class="post-metadata">

**Author:** ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)\
**Post date:** [May 27, 2014, 11:30am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/8 "2014-05-27T11:30:06Z")

</div>

Histrogram bug fixed too: [https://github.com/excilys/gatling/issues/1913](https://github.com/excilys/gatling/issues/1913)

Thanks for reporting!

---

<div class="post-metadata">

**Author:** ![Shawn\_Clark](https://avatars.discourse-cdn.com/v4/letter/s/ecb155/32.png) [@Shawn\_Clark](https://community.gatling.io/u/Shawn_Clark)\
**Post date:** [May 29, 2014, 4:40pm UTC](https://community.gatling.io/t/java-6-or-java-7/1053/9 "2014-05-29T16:40:05Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)\
**Post date:** [May 29, 2014, 5:09pm UTC](https://community.gatling.io/t/java-6-or-java-7/1053/10 "2014-05-29T17:09:22Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Cyril\_Souti](https://avatars.discourse-cdn.com/v4/letter/c/5daacb/32.png) [@Cyril\_Souti](https://community.gatling.io/u/Cyril_Souti)\
**Post date:** [June 24, 2014, 8:26am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/11 "2014-06-24T08:26:09Z")

</div>

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](https://drive.google.com/file/d/0B35VlJiv5im5Tkc1Q1Z6cVYwVmM/edit?usp=sharing)

Regards,

---

<div class="post-metadata">

**Author:** ![Excilys](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@Excilys](https://community.gatling.io/u/Excilys)\
**Post date:** [June 24, 2014, 9:02am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/12 "2014-06-24T09:02:00Z")

</div>

Fix, sorry!

---

<div class="post-metadata">

**Author:** ![Cyril\_Souti](https://avatars.discourse-cdn.com/v4/letter/c/5daacb/32.png) [@Cyril\_Souti](https://community.gatling.io/u/Cyril_Souti)\
**Post date:** [June 24, 2014, 9:21am UTC](https://community.gatling.io/t/java-6-or-java-7/1053/13 "2014-06-24T09:21:14Z")

</div>

Thanks
