2.0.0.M3a - Exception seen with jsonPath

This particular scenario usually works and any server failures are due server bottlenecks.
Today, we saw some exceptions for the first time.

Relevant extract from scenario:
.exec(http(“activate”)
.post(“URL”)
.basicAuth(“name, “password”)
.body(StringBody(”""{
“uid”:"${uid}",
“hostname”:"${hostname}",
“service_provider”:“gatling-tool.org”,
“os_id”:“gatling-2.0.0-m3a”,
“os_detail”:“gatling-agent-simulator 2014-03-11 10:01:05 -0800”
}""")).asJSON
.check(jsonPath("$.agent_id").find.saveAs(“agent_id”))
.check(jsonPath("$.agent_token").find.saveAs(“agent_token”))
.check(status.is(201))

[ERROR] [04/10/2014 16:26:25.092] [GatlingSystem-akka.actor.default-dispatcher-7] [akka://GatlingSystem/user/$j/$j] Invalid container object
java.lang.IllegalArgumentException: Invalid container object
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:208)
at io.gatling.core.check.extractor.jsonpath.JsonPathExtractors$.io$gatling$core$check$extractor$jsonpath$JsonPathExtractors$$extractAll(JsonPathExtractors.scala:46)
at io.gatling.core.check.extractor.jsonpath.JsonPathExtractors$$anonfun$1$$anon$1.apply(JsonPathExtractors.scala:59)
at io.gatling.core.check.extractor.jsonpath.JsonPathExtractors$$anonfun$1$$anon$1.apply(JsonPathExtractors.scala:56)
at io.gatling.core.check.CheckBase$$anonfun$check$3$$anonfun$apply$4.apply(Check.scala:65)
at io.gatling.core.check.CheckBase$$anonfun$check$3$$anonfun$apply$4.apply(Check.scala:64)
at io.gatling.core.validation.Success.flatMap(Validation.scala:28)
at io.gatling.core.check.CheckBase$$anonfun$check$3.apply(Check.scala:64)
at io.gatling.core.check.CheckBase$$anonfun$check$3.apply(Check.scala:63)
at io.gatling.core.validation.Success.flatMap(Validation.scala:28)
at io.gatling.core.check.CheckBase.check(Check.scala:63)
at io.gatling.http.check.HttpCheck.check(HttpCheck.scala:30)
at io.gatling.http.check.HttpCheck.check(HttpCheck.scala:29)
at io.gatling.core.check.Checks$$anonfun$check$1$$anonfun$apply$1.apply(Check.scala:30)
at io.gatling.core.check.Checks$$anonfun$check$1$$anonfun$apply$1.apply(Check.scala:30)
at io.gatling.core.validation.Success.flatMap(Validation.scala:28)
at io.gatling.core.check.Checks$$anonfun$check$1.apply(Check.scala:30)
at io.gatling.core.check.Checks$$anonfun$check$1.apply(Check.scala:29)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:84)
at io.gatling.core.check.Checks$.check(Check.scala:29)
at io.gatling.http.ahc.AsyncHandlerActor.checkAndProceed$1(AsyncHandlerActor.scala:162)
at io.gatling.http.ahc.AsyncHandlerActor.io$gatling$http$ahc$AsyncHandlerActor$$processResponse(AsyncHandlerActor.scala:175)
at io.gatling.http.ahc.AsyncHandlerActor$$anonfun$receive$1.applyOrElse(AsyncHandlerActor.scala:55)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:425)
at akka.actor.ActorCell.invoke(ActorCell.scala:386)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230)
at akka.dispatch.Mailbox.run(Mailbox.scala:212)
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:506)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

[ERROR] [04/10/2014 16:26:25.109] [GatlingSystem-akka.actor.default-dispatcher-15] [akka://GatlingSystem/user/$j] Invalid container object
java.lang.IllegalArgumentException: Invalid container object
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:208)
at io.gatling.core.check.extractor.jsonpath.JsonPathExtractors$.io$gatling$core$check$extractor$jsonpath$JsonPathExtractors$$extractAll(JsonPathExtractors.scala:46)
at io.gatling.core.check.extractor.jsonpath.JsonPathExtractors$$anonfun$1$$anon$1.apply(JsonPathExtractors.scala:59)
at io.gatling.core.check.extractor.jsonpath.JsonPathExtractors$$anonfun$1$$anon$1.apply(JsonPathExtractors.scala:56)
at io.gatling.core.check.CheckBase$$anonfun$check$3$$anonfun$apply$4.apply(Check.scala:65)
at io.gatling.core.check.CheckBase$$anonfun$check$3$$anonfun$apply$4.apply(Check.scala:64)
at io.gatling.core.validation.Success.flatMap(Validation.scala:28)
at io.gatling.core.check.CheckBase$$anonfun$check$3.apply(Check.scala:64)
at io.gatling.core.check.CheckBase$$anonfun$check$3.apply(Check.scala:63)
at io.gatling.core.validation.Success.flatMap(Validation.scala:28)
at io.gatling.core.check.CheckBase.check(Check.scala:63)
at io.gatling.http.check.HttpCheck.check(HttpCheck.scala:30)
at io.gatling.http.check.HttpCheck.check(HttpCheck.scala:29)
at io.gatling.core.check.Checks$$anonfun$check$1$$anonfun$apply$1.apply(Check.scala:30)
at io.gatling.core.check.Checks$$anonfun$check$1$$anonfun$apply$1.apply(Check.scala:30)
at io.gatling.core.validation.Success.flatMap(Validation.scala:28)
at io.gatling.core.check.Checks$$anonfun$check$1.apply(Check.scala:30)
at io.gatling.core.check.Checks$$anonfun$check$1.apply(Check.scala:29)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:84)
at io.gatling.core.check.Checks$.check(Check.scala:29)
at io.gatling.http.ahc.AsyncHandlerActor.checkAndProceed$1(AsyncHandlerActor.scala:162)
at io.gatling.http.ahc.AsyncHandlerActor.io$gatling$http$ahc$AsyncHandlerActor$$processResponse(AsyncHandlerActor.scala:175)
at io.gatling.http.ahc.AsyncHandlerActor$$anonfun$receive$1.applyOrElse(AsyncHandlerActor.scala:55)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:425)
at akka.actor.ActorCell.invoke(ActorCell.scala:386)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230)
at akka.dispatch.Mailbox.run(Mailbox.scala:212)
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:506)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Could be a Jayway bug. We’ve ditched it in upcoming version and developed our own JsonPath implementation.