Hi Mike, Thanks for the input. It's a single (albeit large) message. And I'm not sure as to why this would cause a failure in my 'server' application?
3163 SERVER <---> Broker : Queue <---> CLIENT 3175 To me, the fact that it always occurs on a message of this size suggests that some internal buffer is being overflowed (hence the lines:) > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called close() > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called closeInternal(true) > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, SEND TLSv1 ALERT: warning, description = close_notify > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, WRITE: TLSv1 Alert, length = 18 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called close() > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called closeInternal(true) > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called close() > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called closeInternal(true) Surely it's the job of ActiveMQ to split large messages where the underlying transport requires short messages, or to maintain a connection where the timeout is so short? I've not seen such problems using SSL Sockets before now in other Java applications. Cheers, steve > > hmm I think it looks like the app 3175 isn'T replying. When my > understanding is correct the timeout of SSL is about 500ms, maybe > something takes to long. Or could it be that the app has closed the > connection? > Have you tried to send a lower number of messages and tried to find at if > it stops to work at a certain threashold? > > -----Ursprüngliche Nachricht----- > Von: Steve Barham [mailto:[EMAIL PROTECTED] > Gesendet: Dienstag, 28. März 2006 17:07 > An: [email protected] > Betreff: Re: AW: Final repost: SSL transport failure > > > > With SSL debug on, this is the output from the broker during the failure > (but no stack traces at debug log4j level): > > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 16400 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, READ: TLSv1 > Application > Data, length = 4814 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, WRITE: TLSv1 > Application > Data, length = 27 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3175, handling > exception: java > .net.SocketTimeoutException: Read timed out > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called close() > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called > closeInternal(true) > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, SEND TLSv1 ALERT: > warning, description = close_notify > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, WRITE: TLSv1 > Alert, length = 18 > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called close() > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called > closeInternal(true) > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called close() > Socket Connection: /127.0.0.1:61616 -> /127.0.0.1:3163, called > closeInternal(true) > > Port 3163 in this instance is my 'server' app (one JMS client), and 3175 > the 'client' app. I'm assuming that the socket timeout exceptions are > normal, and part of the Java SSL impl. as they occur at very regular > intervals. > > Corresponding 'server' stacktrace is: > > WARN [2006-03-28 16:00:37,484] activemq.ActiveMQConnection "Async > exception with no exception listener: java.io.EOFException: Peer > disconnected." > java.io.EOFException: Peer disconnected. > at > org.apache.activeio.command.AsyncChannelToAsyncCommandChannel$1.onPacket(AsyncChannelToAsyncCommandChannel.java:64) > at > org.apache.activemq.transport.activeio.PacketAggregatingAsyncChannel.onPacket(PacketAggregatingAsyncChannel.java:59) > at > org.apache.activeio.packet.async.FilterAsyncChannel.onPacket(FilterAsyncChannel.java:89) > at > org.apache.activemq.transport.activeio.ActivityMonitor.onPacket(ActivityMonitor.java:42) > at > org.apache.activeio.adapter.SyncToAsyncChannel.run(SyncToAsyncChannel.java:127) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > > Cheers, > > steve > > > >> BTW is there anything interesting appearing on the broker log whne >> your client dies? >> >> James >> >> On 3/28/06, Steve Barham <[EMAIL PROTECTED]> wrote: >>> Can you give an example of how to enable this debug logging? >>> >>> I've just tried with 4.0-SNAPSHOT rather than -M4, and get this >>> exception: >>> WARN [2006-03-28 15:44:24,515] activemq.ActiveMQConnection "Async >>> exception with no exception listener: java.io.EOFException: Peer >>> disconnected." >>> java.io.EOFException: Peer disconnected. >>> at >>> org.apache.activeio.command.AsyncChannelToAsyncCommandChannel$1.onPacket(AsyncChannelToAsyncCommandChannel.java:64) >>> at >>> org.apache.activemq.transport.activeio.PacketAggregatingAsyncChannel.onPacket(PacketAggregatingAsyncChannel.java:59) >>> at >>> org.apache.activeio.packet.async.FilterAsyncChannel.onPacket(FilterAsyncChannel.java:89) >>> at >>> org.apache.activemq.transport.activeio.ActivityMonitor.onPacket(ActivityMonitor.java:42) >>> at >>> org.apache.activeio.adapter.SyncToAsyncChannel.run(SyncToAsyncChannel.java:127) >>> at >>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) >>> at >>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) >>> at java.lang.Thread.run(Thread.java:595) >>> >>> So very similar behaviour... >>> >>> steve >>> > >>> > I am not sure if I can help, but I think I had a similar error in my >>> > experiments with SSL. >>> > It looks like SSL doesn't work so fast or something, try to enable >>> the >>> SSL >>> > debug and see if you can get there a hint. My problem was at the >>> startup, >>> > that the logging took to long and I always got timeout errors. >>> > >>> > >>> > -----Ursprüngliche Nachricht----- >>> > Von: Steve Barham [mailto:[EMAIL PROTECTED] >>> > Gesendet: Dienstag, 28. März 2006 16:16 >>> > An: [email protected] >>> > Betreff: Final repost: SSL transport failure >>> > >>> > >>> > >>> > This is likely to be my last post unless someone has any bright ideas >>> - I >>> > need SSL support for my application to be deployed, and I cannot work >>> > around the following error. >>> > >>> > When I send a large (List of 8000 objects, each of about 10 Strings, >>> > around 10 characters each - serialized size is only 627k) message, I >>> get >>> > the following stacktrace: >>> > >>> > WARN [2006-03-28 15:13:46,140] activemq.ActiveMQConnection "Async >>> > exception with no exception listener: java.io.EOFException: Peer >>> > disconnected." >>> > java.io.EOFException: Peer disconnected. >>> > at >>> > org.activeio.command.AsyncChannelToAsyncCommandChannel$1.onPacket(AsyncChannelToAsyncCommandChannel.java:65) >>> > at >>> > org.apache.activemq.transport.activeio.PacketAggregatingAsyncChannel.onPacket(PacketAggregatingAsyncChannel.java:59) >>> > at >>> org.activeio.FilterAsyncChannel.onPacket(FilterAsyncChannel.java:87) >>> > at >>> > org.apache.activemq.transport.activeio.ActivityMonitor.onPacket(ActivityMonitor.java:42) >>> > at >>> > org.activeio.adapter.SyncToAsyncChannel.run(SyncToAsyncChannel.java:150) >>> > at >>> > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643) >>> > at >>> > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668) >>> > at java.lang.Thread.run(Thread.java:595) >>> > WARN [2006-03-28 15:13:46,156] activemq.ActiveMQConnection "Cleanup >>> > failed" >>> > javax.jms.JMSException: Connection closed by remote host >>> > at >>> > org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:57) >>> > at >>> > org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection..java:1043) >>> > at >>> > org.apache.activemq.ActiveMQConnection.cleanup(ActiveMQConnection.java:1191) >>> > at >>> > org.apache.activemq.ActiveMQConnection.transportFailed(ActiveMQConnection..java:1585) >>> > at >>> > org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1338) >>> > at >>> > org.apache.activemq.transport.TransportFilter.onException(TransportFilter..java:102) >>> > at >>> > org.apache.activemq.transport.TransportFilter.onException(TransportFilter..java:102) >>> > at >>> > org.apache.activemq.transport.TransportFilter.onException(TransportFilter..java:102) >>> > at >>> > org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:96) >>> > at >>> > org.apache.activemq.transport.activeio.ActiveIOTransport$1.onError(ActiveIOTransport.java:71) >>> > at >>> > org.activeio.command.AsyncChannelToAsyncCommandChannel$1.onPacket(AsyncChannelToAsyncCommandChannel.java:65) >>> > at >>> > org.apache.activemq.transport.activeio.PacketAggregatingAsyncChannel.onPacket(PacketAggregatingAsyncChannel.java:59) >>> > at >>> org.activeio.FilterAsyncChannel.onPacket(FilterAsyncChannel.java:87) >>> > at >>> > org.apache.activemq.transport.activeio.ActivityMonitor.onPacket(ActivityMonitor.java:42) >>> > at >>> > org.activeio.adapter.SyncToAsyncChannel.run(SyncToAsyncChannel.java:150) >>> > at >>> > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643) >>> > at >>> > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668) >>> > at java.lang.Thread.run(Thread.java:595) >>> > Caused by: java.net.SocketException: Connection closed by remote host >>> > at >>> > com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1168) >>> > at >>> > com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:43) >>> > at >>> > org.activeio.net.SocketStreamChannel.write(SocketStreamChannel.java:183) >>> > at >>> > org.activeio.adapter.OutputStreamChannelToOutputStream.write(OutputStreamChannelToOutputStream.java:48) >>> > at >>> org.activeio.packet.ByteArrayPacket.writeTo(ByteArrayPacket.java:126) >>> > at >>> org.activeio.net.SocketSyncChannel.write(SocketSyncChannel.java:113) >>> > at >>> > org.activeio.adapter.SyncToAsyncChannel.write(SyncToAsyncChannel.java:184) >>> > at >>> org.activeio.FilterAsyncChannel.write(FilterAsyncChannel.java:50) >>> > at >>> > org.apache.activemq.transport.activeio.ActivityMonitor.write(ActivityMonitor.java:47) >>> > at >>> org.activeio.FilterAsyncChannel.write(FilterAsyncChannel.java:50) >>> > at >>> > org.activeio.command.AsyncChannelToAsyncCommandChannel.writeCommand(AsyncChannelToAsyncCommandChannel.java:41) >>> > at >>> > org.apache.activemq.transport.activeio.ActiveIOTransport.oneway(ActiveIOTransport.java:95) >>> > at >>> > org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:90) >>> > at >>> > org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:90) >>> > at >>> > org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:65) >>> > at >>> > org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:44) >>> > at >>> > org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelatorjava:54) >>> > at >>> > org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection..java:1041) >>> > ... 16 more >>> > >>> > >>> > I will have to move to SwiftMQ if noone has any insight or >>> suggestions >>> for >>> > this problem, which isn't really something I want to do! >>> > >>> > Cheers, >>> > >>> > Steve >>> > >>> > >>> > -- >>> > Steve Barham tel: +44 (0)7973 199 471 >>> > Systems Engineer >>> > Formicary - delivering quality financial technology solutions >>> > http://www.formicary.net/ >>> > >>> > >>> > >>> > This mail has originated outside your organization, >>> > either from an external partner or the Global Internet. >>> > Keep this in mind if you answer this message. >>> > >>> > This mail has originated outside your organization, either from an >>> > external partner or the Global Internet. Keep this in mind if you >>> answer >>> > this message. >>> > >>> >>> >>> -- >>> Steve Barham tel: +44 (0)7973 199 471 >>> Systems Engineer >>> Formicary - delivering quality financial technology solutions >>> http://www.formicary.net/ >>> >>> >> >> >> -- >> >> James >> ------- >> http://radio.weblogs.com/0112098/ >> > > > -- > Steve Barham tel: +44 (0)7973 199 471 > Systems Engineer > Formicary - delivering quality financial technology solutions > http://www.formicary.net/ > > > > This mail has originated outside your organization, > either from an external partner or the Global Internet. > Keep this in mind if you answer this message. > > This mail has originated outside your organization, either from an > external partner or the Global Internet. Keep this in mind if you answer > this message. > -- Steve Barham tel: +44 (0)7973 199 471 Systems Engineer Formicary - delivering quality financial technology solutions http://www.formicary.net/
