title: Maven Failsafe plugin - SurefireBooterForkException: There was an error in the forked process (TypeNotPresentExceptionProxy)
body: <p>I get this strange stacktrace when running <code>mvn clean verify -P P1</code></p>
  
  <pre><code>[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.21.0:verify (default) on project prj-name: There are test failures.
  [ERROR] 
  [ERROR] Please refer to C:\path\to\project\target\failsafe-reports for the individual test results.
  [ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
  [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process
  [ERROR] sun.reflect.annotation.TypeNotPresentExceptionProxy
  [ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:658)
  [ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:533)
  [ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:278)
  [ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:244)
  [ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1149)
  </code></pre>
  
  <p>What does it mean?</p>
  
  <p>Maven pom.xml:</p>
  
  <pre><code>&lt;profiles&gt;
      &lt;profile&gt;
          &lt;id&gt;P1&lt;/id&gt;
  
          &lt;build&gt;
              &lt;plugins&gt;
                  &lt;plugin&gt;
                      &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                      &lt;artifactId&gt;maven-failsafe-plugin&lt;/artifactId&gt;
                      &lt;version&gt;2.21.0&lt;/version&gt;
                      &lt;executions&gt;
                          &lt;execution&gt;
                              &lt;id&gt;integration-tests&lt;/id&gt;
                              &lt;goals&gt;
                                  &lt;goal&gt;integration-test&lt;/goal&gt;
                                  &lt;goal&gt;verify&lt;/goal&gt;
                              &lt;/goals&gt;
                              &lt;configuration&gt;
                                  &lt;encoding&gt;UTF-8&lt;/encoding&gt;
                                  &lt;!-- Includes integration tests --&gt;
                                  &lt;includes&gt;
                                      &lt;include&gt;**/integration/*.java&lt;/include&gt;
                                      &lt;include&gt;**/integration/*/*.java&lt;/include&gt;
                                  &lt;/includes&gt;
                                  &lt;argLine&gt;-Xmx1024m -XX:MaxPermSize=256m&lt;/argLine&gt;
                              &lt;/configuration&gt;
                          &lt;/execution&gt;
                      &lt;/executions&gt;
                  &lt;/plugin&gt;
              &lt;/plugins&gt;
          &lt;/build&gt;
      &lt;/profile&gt;
  &lt;/profiles&gt;
  </code></pre>
  
  <p><strong>UPDATE</strong></p>
  
  <p>There's a surefire dumpstream file</p>
  
  <pre><code>ForkStarter IOException: For input string: "1;5".
  org.apache.maven.plugin.surefire.booterclient.output.MultipleFailureException: For input string: "1;5"
      at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.&lt;init&gt;(ThreadedStreamConsumer.java:58)
      at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer.&lt;init&gt;(ThreadedStreamConsumer.java:110)
      at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:596)
      at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:533)
      at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:278)
      at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:244)
      at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1149)
      at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:978)
      at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:854)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
      at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:200)
      at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:196)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
  </code></pre>
  
  <p>Because of garbage in string variables and occasional <code>IndexOutOfBoundsException</code> / <code>ConcurrentModificationException</code> in logs it seems like a concurrency issue.</p>