title: Strange java.lang.OutOfMemoryError -- process does not crash
body: <p>I'm seeing a strange java.lang.OutOfMemoryError error (partial stack trace below). The thing is that the java process does not crash. I see this error in the logs but the process seems to stall but does not exit.</p>
  
  <p>Thanks.</p>
  
  <pre><code>Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
  at java.lang.Thread.start0(Native Method)
  at java.lang.Thread.start(Thread.java:691)
  at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943)
  at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1325)
  at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:132)
  at com.amazonaws.services.s3.transfer.internal.UploadMonitor.&lt;init&gt;(UploadMonitor.java:126)
  at com.amazonaws.services.s3.transfer.TransferManager.upload(TransferManager.java:384)
  at com.amazonaws.services.s3.transfer.TransferManager.upload(TransferManager.java:344)
  at com.amazonaws.services.s3.transfer.TransferManager.upload(TransferManager.java:272)
  </code></pre>