ArrayIndexOutOfBoundsException when attempting to construct report

Hi,
Trying to generate a report from a concurrent run on several remote servers. Have already done so several times. Now, suddenly, I’m getting this:

GATLING_HOME is set to /home/ubuntu/gatling
Parsing log file(s)…
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: -23146894
at io.gatling.charts.stats.buffers.CountsBuffer.update(CountBuffer.scala:35)
at io.gatling.charts.stats.buffers.ResponsesPerSecBuffers$class.updateResponsesPerSecBuffers(ResponsesPerSecBuffers.scala:32)
at io.gatling.charts.stats.ResultsHolder.updateResponsesPerSecBuffers(ResultsHolder.scala:21)
at io.gatling.charts.stats.ResultsHolder.addRequestRecord(ResultsHolder.scala:48)
at io.gatling.charts.stats.LogFileReader.io$gatling$charts$stats$LogFileReader$$$anonfun$10(LogFileReader.scala:150)
at io.gatling.charts.stats.LogFileReader$lambda$$secondPass$1.apply(LogFileReader.scala:145)
at io.gatling.charts.stats.LogFileReader$lambda$$secondPass$1.apply(LogFileReader.scala:145)
at scala.collection.Iterator$class.foreach(Iterator.scala:893)
at scala.collection.Iterator$ConcatIterator.foreach(Iterator.scala:168)
at io.gatling.charts.stats.LogFileReader.secondPass(LogFileReader.scala:145)
at io.gatling.charts.stats.LogFileReader.io$gatling$charts$stats$LogFileReader$$$anonfun$11(LogFileReader.scala:165)
at io.gatling.charts.stats.LogFileReader$lambda$3.apply(LogFileReader.scala:165)
at io.gatling.charts.stats.LogFileReader$lambda$3.apply(LogFileReader.scala:165)
at io.gatling.charts.stats.LogFileReader.parseInputFiles(LogFileReader.scala:63)
at io.gatling.charts.stats.LogFileReader.(LogFileReader.scala:165)
at io.gatling.app.LogFileProcessor.initLogFileReader(RunResultProcessor.scala:55)
at io.gatling.app.LogFileProcessor.processRunResult(RunResultProcessor.scala:37)
at io.gatling.app.Gatling.start(Gatling.scala:66)
at io.gatling.app.Gatling$.start(Gatling.scala:57)
at io.gatling.app.Gatling$.fromArgs(Gatling.scala:49)
at io.gatling.app.Gatling$.main(Gatling.scala:43)
at io.gatling.app.Gatling.main(Gatling.scala)

I have no idea why. Any suggestions? I’ve been able to generate reports just fine in the past.

I added my observations here https://groups.google.com/d/msg/gatling/u21be-M8A3M/elazxvgzCQAJ

Could you please provide a way to reproduce, eg a simulation.log?

I’d love to, but I’m afraid I don’t have those files any more. If I encounter the error again, I’ll post a followup.

Thanks

For me it happened with the attached file.

simulation.log (5.73 MB)

You sample works just fine for me (checked with both 2.2.4 and master).
https://www.dropbox.com/s/eyp5h5uhtpqh5gy/paul.zip?dl=0

Grasping at straws here but my report would be generated on a Debian machine, could this be of interest for you?

I don’t have a Debian, but I tested on OSX, Ubuntu and Fedora.
Anyway, I fail to see how such issue could be OS related.

I really suspect that don’t have 2.2.3 nor 2.2.4 deployed but actually run an older version.

My pom.xml references 2.2.4, I am using the maven plugin

<properties>
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
   <scala.version>2.11.8</scala.version>
   <encoding>UTF-8</encoding>

   <gatling.version>2.2.4</gatling.version>
   <gatling-plugin.version>2.2.4</gatling-plugin.version>

   <scala-maven-plugin.version>3.2.2</scala-maven-plugin.version>
</properties>

<dependencyManagement>
   <dependencies>
      <dependency>
         <groupId>io.gatling</groupId>
         <artifactId>gatling-app</artifactId>
         <version>${gatling.version}</version>
      </dependency>
      <dependency>
         <groupId>io.gatling</groupId>
         <artifactId>gatling-recorder</artifactId>
         <version>${gatling.version}</version>
      </dependency>
      <dependency>
         <groupId>io.gatling.highcharts</groupId>
         <artifactId>gatling-charts-highcharts</artifactId>
         <version>${gatling.version}</version>
      </dependency>
      <dependency>
         <groupId>org.scala-lang</groupId>
         <artifactId>scala-library</artifactId>
         <version>${scala.version}</version>
      </dependency>
   </dependencies>
</dependencyManagement>

<dependencies>
   <dependency>
      <groupId>io.gatling.highcharts</groupId>
      <artifactId>gatling-charts-highcharts</artifactId>
   </dependency>
   <dependency>
      <groupId>io.gatling</groupId>
      <artifactId>gatling-app</artifactId>
   </dependency>
   <dependency>
      <groupId>io.gatling</groupId>
      <artifactId>gatling-recorder</artifactId>
   </dependency>
   <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
   </dependency>
</dependencies>

I guess Debian is actually your CI platform.
Have you checked that it indeed took the pom/gatling upgrade into account and that it’s not actually running an old Gatling version?