You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by jeffrey <je...@hotmail.com> on 2012/11/29 18:38:06 UTC

OpenSSL error after long duration, or when several clients running simultaneously

Im am working on a test/load program in c++ for HPUX 11.31.  The purpose was
mainly to test the broker, (we are currently using the Fuse ESB on another
system for a broker and it seems to be doing great). But I seem to keep
having probelms with the C API. One of the most common problems is this
stack trace:

# Error occurred while accessing an OpenSSL library method:
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp, LINE: 588
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp, LINE: 595
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocketOutputStream.cpp,
LINE: 93
        FILE: decaf/io/OutputStream.cpp, LINE: 93
        FILE: decaf/io/OutputStream.cpp, LINE: 69
        FILE: decaf/io/BufferedOutputStream.cpp, LINE: 211
        FILE: decaf/io/OutputStream.cpp, LINE: 81
        FILE: decaf/io/DataOutputStream.cpp, LINE: 94
        FILE: decaf/io/OutputStream.cpp, LINE: 81
        FILE:
activemq/wireformat/openwire/marshal/generated/MessageMarshaller.cpp, LINE:
239
        FILE:
activemq/wireformat/openwire/marshal/generated/ActiveMQTextMessageMarshaller.cpp,
LINE: 101
        FILE: activemq/wireformat/openwire/OpenWireFormat.cpp, LINE: 230
        FILE: activemq/transport/IOTransport.cpp, LINE: 132
        FILE: activemq/transport/inactivity/InactivityMonitor.cpp, LINE: 385
        FILE: activemq/transport/inactivity/InactivityMonitor.cpp, LINE: 392
        FILE: activemq/wireformat/openwire/OpenWireFormatNegotiator.cpp,
LINE: 82
        FILE: activemq/transport/correlator/ResponseCorrelator.cpp, LINE:
139
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 945
        FILE: activemq/core/ActiveMQSession.cpp, LINE: 924
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 212
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 153
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 129
This Stream has been closed.
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocketOutputStream.cpp,
LINE: 88
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocketOutputStream.cpp,
LINE: 93
        FILE: decaf/io/OutputStream.cpp, LINE: 93
        FILE: decaf/io/OutputStream.cpp, LINE: 69
        FILE: decaf/io/BufferedOutputStream.cpp, LINE: 109
        FILE: decaf/io/FilterOutputStream.cpp, LINE: 153
        FILE: activemq/transport/IOTransport.cpp, LINE: 242
        FILE: activemq/transport/IOTransport.cpp, LINE: 254
        FILE: activemq/transport/tcp/TcpTransport.cpp, LINE: 74
        FILE: activemq/transport/inactivity/InactivityMonitor.cpp, LINE: 306
        FILE: activemq/wireformat/openwire/OpenWireFormatNegotiator.cpp,
LINE: 253
        FILE: activemq/transport/correlator/ResponseCorrelator.cpp, LINE:
275
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 645
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 660
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 479
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 511

This is the default exception case after SSL_write and I'm not sure why it
happens.  There are other specific exceptions SSL can throw that will give
more information if caught, so I am going to alter the code and recompile
the library to hopefully learn something more, But does anyone else have
this problem?

If I run 40 senders and 14 (*2 threads) receivers, Then this happens at most
within a few hours.  Some will fail like this, others will just hang and
stop producing messages or anything.

If I triple that test, I can get the same failures within a few minutes for
some of the processes.

Just looking for any ideas what the problem might be, or what I can do
further to try and find out what it is.  Thanks



--
View this message in context: http://activemq.2283324.n4.nabble.com/OpenSSL-error-after-long-duration-or-when-several-clients-running-simultaneously-tp4659947.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: OpenSSL error after long duration, or when several clients running simultaneously

Posted by jeffrey <je...@hotmail.com>.
okay, I added other catches in the activeMQ code, and this is what I got:
errno=32The Exception was ERROR_SYSCALL. ret=-1
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp, LINE: 614
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp, LINE: 633
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocketOutputStream.cpp,
LINE: 93
        FILE: decaf/io/OutputStream.cpp, LINE: 93
        FILE: decaf/io/OutputStream.cpp, LINE: 69
        FILE: decaf/io/BufferedOutputStream.cpp, LINE: 109
        FILE: decaf/io/FilterOutputStream.cpp, LINE: 140
        FILE: activemq/transport/IOTransport.cpp, LINE: 132
        FILE: activemq/transport/inactivity/InactivityMonitor.cpp, LINE: 385
        FILE: activemq/transport/inactivity/InactivityMonitor.cpp, LINE: 392
        FILE: activemq/wireformat/openwire/OpenWireFormatNegotiator.cpp,
LINE: 82
        FILE: activemq/transport/correlator/ResponseCorrelator.cpp, LINE:
139
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 945
        FILE: activemq/core/ActiveMQSession.cpp, LINE: 924
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 212
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 153
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 129
This Stream has been closed.
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocketOutputStream.cpp,
LINE: 88
        FILE: decaf/internal/net/ssl/openssl/OpenSSLSocketOutputStream.cpp,
LINE: 93
        FILE: decaf/io/OutputStream.cpp, LINE: 93
        FILE: decaf/io/OutputStream.cpp, LINE: 69
        FILE: decaf/io/BufferedOutputStream.cpp, LINE: 109
        FILE: decaf/io/FilterOutputStream.cpp, LINE: 153
        FILE: activemq/transport/IOTransport.cpp, LINE: 242
        FILE: activemq/transport/IOTransport.cpp, LINE: 254
        FILE: activemq/transport/tcp/TcpTransport.cpp, LINE: 74
        FILE: activemq/transport/inactivity/InactivityMonitor.cpp, LINE: 306
        FILE: activemq/wireformat/openwire/OpenWireFormatNegotiator.cpp,
LINE: 253
        FILE: activemq/transport/correlator/ResponseCorrelator.cpp, LINE:
275
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 645
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 660
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 479
        FILE: activemq/core/ActiveMQConnection.cpp, LINE: 511

By looking at OpenSSL documentation :
SSL_ERROR_SYSCALL
Some I/O error occurred. The OpenSSL error queue may contain more
information on the error. If the error queue is empty (i.e. ERR_get_error()
returns 0), ret can be used to find out more about the error: If ret == 0,
an EOF was observed that violates the protocol. If ret == -1, the underlying
BIO reported an I/O error (for socket I/O on Unix systems, consult errno for
details). 

This tells me that ERR_get_err() was 0, and ret was -1, so the problem was
in the internals of the system.
errno 32 means that there was a broken pipe
#define EPIPE           32      /* Broken pipe                  */

Has this happened to anyone else? Is there anything I can do to fix this?
Thanks



--
View this message in context: http://activemq.2283324.n4.nabble.com/OpenSSL-error-after-long-duration-or-when-several-clients-running-simultaneously-tp4659947p4659953.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.