Hello, We are using an ActiveMQ 5.5.1.fuse-70-097 broker deployed inside ServiceMix 3.6.0-fuse-00-89 to send large files from one endpoint to another. The FTP upload URL is on the same server where the broker is and there shouldn't be any kind of problems related to disk space, permissions, etc. The most annoying thing is that most of the times the upload is successfully, so we can't find a decent explanation.
This is the exception: javax.jms.JMSException: IOException caught while copying. at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62) at org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:177) at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1747) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231) at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241) at com.rs.sw.nec.necMasterDataImportService.processor.InitialisationRequestsProcessor.sendSnapshotFile(InitialisationRequestsProcessor.java:122) at com.rs.sw.nec.necMasterDataImportService.processor.InitialisationRequestsProcessor.process(InitialisationRequestsProcessor.java:79) at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:59) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:314) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209) at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:274) at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:111) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:61) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104) at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:59) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:314) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209) at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:274) at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:139) at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:106) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:80) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:106) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85) at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:93) at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560) at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498) at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: org.apache.commons.net.io.CopyStreamException: IOException caught while copying. at org.apache.commons.net.io.Util.copyStream(Util.java:127) at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:399) at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1388) at org.apache.activemq.blob.FTPBlobUploadStrategy.uploadStream(FTPBlobUploadStrategy.java:61) at org.apache.activemq.blob.FTPBlobUploadStrategy.uploadFile(FTPBlobUploadStrategy.java:41) at org.apache.activemq.blob.BlobUploader.upload(BlobUploader.java:51) at org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:174) ... 72 more After retrieving the IOException from CopyStreamException we found the following message: Software caused connection abort: socket write error. First we thought that it's an older, known bug of the commons-net library: https://issues.apache.org/jira/browse/NET-207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel We upgraded from commons-net 1.4.1 to commons-net 3.3 but the error continues to come up on only one test environment. Any ideas? -- View this message in context: http://activemq.2283324.n4.nabble.com/Socket-write-error-when-uploading-BlobMessage-tp4671132.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.