Getting random threading errors in jruby (1.7.3) & rails 2.3.17 application

I am running jruby (1.7.3) & rails 2.3.17 application whose apis are exposed to outside app. When I add “config.threadsafe!” in my development.rb/production.rb & hit lot many api requests in a second then I am getting following errors randomly for some of the api requests:

  1. TypeError (NilClass can’t be coerced into Float)
  2. RuntimeError (can’t add a new key into hash during iteration)
  3. Rendering /appl/mml/tomcat/server/mml-api1/webapps/api/500.html (500 Internal Server Error)
  4. Status: 500 Internal Server Error Does newer jruby version solves this issue? But my application does not support jruby > 1.7.3.

Also even if I add the affecting method in below synchronize block then also it is not synchronizing that method. Note : I have added “config.threadsafe!” in my development.rb & production.rb

 semaphore = Mutex.new
        thread = Thread.new {
          semaphore.synchronize {
                                   #affecting code/method
                }
               }

But if I remove “config.threadsafe!” from my development.rb/production.rb & hit huge number of requests I am not getting any error but this time performance is impacted.

Is there any solution to remove these errors without affecting the performance?