Is there a safe way to use gatling for endurance testing without it crashing?

It looks like the default behavior of gatling is to crash if gatling is geting lots of timeouts. This makes it impossible for us to run long endurance tests where it is expected to get many many timeouts for a JMS scenario. Is there a way to use gatling as a pure load generator and not care about the responses or in some other way make gatling not to crash if lots of requests are timing out?

This is what we are trying right now but it is not working:

val jmsLoad = scenario("JMS Load AMQA").
  repeat(1) {
    exitBlockOnFail(JmsScenarios.createAndPostJmsMessage)
  }
lazy val jmsConfa = jms
  .connectionFactoryName("ConnectionFactory")
  .url(amqServera)
  .credentials(amqUsr, amqPwd)
  .disableAnonymousConnect
  .contextFactory(classOf[ActiveMQInitialContextFactory].getName)
  .listenerCount(1)
  .receiveTimeout(5)
  .usePersistentDeliveryMode
  .messageMatcher(IdentificationMatcher)

What we expect here is that ALL out messages should timeout given the receiveTimeout of 5ms. And when an user times out it should appear in the gatling report as KO message. But this is not what happens, instead all timedout users pile up under active users wich is driving me crazy. I want to get rid of them and not have them piling up as active users.

My only reasoning is that there must be a bug in the JMS implementation where messages that are timed out are not counted at KO but instead remain in active?

This looks to be what im after and it is to be included in 2.3, any info on when 2.3 will be released?

https://github.com/gatling/gatling/commit/73d7a0687eb2d5ef18d5725dc98a227713262833