On 04/08/2015 05:09 PM, barry.barn...@wellsfargo.com wrote:
>  
> Can you tell me if you have ActiveMQ-CPP expertise? I'm seeking help for 
> questions such as this one: Can you describe what is going on in ActiveMQ-CPP 
> thread and connection management that allows the scenario in the stack trace 
> below to occur, where we have an SSL handshake being attempted for a Producer 
> connection, in a spawned off thread? Based on the way I think activemq 
> normally works, threads for new (SSL) connections are ordinarily only spawned 
> off once the (SSL) connection is complete.
>  
>
>  
> Thread 17 (Thread 0x95ceb70 (LWP 8241)):
> #0  0x005c7430 in __kernel_vsyscall ()
> #1  0x093df5fb in read () from /lib/libpthread.so.0
> #2  0x088096a8 in ?? () from /usr/lib/libcrypto.so.6
> #3  0x0880772e in BIO_read () from /usr/lib/libcrypto.so.6
> #4  0x009d011c in ssl23_read_bytes () from /usr/lib/libssl.so.6
> #5  0x009cf24c in ssl23_connect () from /usr/lib/libssl.so.6
> #6  0x009db6fb in SSL_connect () from /usr/lib/libssl.so.6
> #7  0xf72708fa in 
> decaf::internal::net::ssl::openssl::OpenSSLSocket::startHandshake() () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #8  0xf72710bc in 
> decaf::internal::net::ssl::openssl::OpenSSLSocket::read(unsigned char*, int, 
> int, int) () from /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #9  0xf7273ef3 in 
> decaf::internal::net::ssl::openssl::OpenSSLSocketInputStream::doReadArrayBounded(unsigned
>  char*, int, int, int) () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #10 0xf72e0b1f in decaf::io::InputStream::doReadArray(unsigned char*, int) () 
> from /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #11 0xf72e0488 in decaf::io::InputStream::read(unsigned char*, int) () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #12 0xf72d4080 in 
> decaf::io::BufferedInputStream::bufferData(decaf::io::InputStream*, unsigned 
> char*&) () from /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #13 0xf72d39a5 in decaf::io::BufferedInputStream::doReadArrayBounded(unsigned 
> char*, int, int, int) () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #14 0xf72e0614 in decaf::io::InputStream::read(unsigned char*, int, int, int) 
> () from /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #15 0xf72da586 in decaf::io::DataInputStream::readAllData(unsigned char*, 
> int) () from /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #16 0xf72d840e in decaf::io::DataInputStream::readInt() () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #17 0xf71f1514 in 
> activemq::wireformat::openwire::OpenWireFormat::unmarshal(activemq::transport::Transport
>  const*, decaf::io::DataInputStream*) () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #18 0xf713b032 in activemq::transport::IOTransport::run() () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #19 0xf72ff0ee in decaf::lang::Thread::run() () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #20 0xf72b8e1b in (anonymous namespace)::runCallback(void*) () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #21 0xf72b8dcb in (anonymous namespace)::threadEntryMethod(void*) () from 
> /tvapps/PSL/psl/activemq/lib/libactivemq-cpp.so.17
> #22 0x093d8b39 in start_thread () from /lib/libpthread.so.0
> #23 0x08acbc2e in clone () from /lib/libc.so.6
>
>
>
> Regards,
>
> Barry Barnett
> Enterprise Queuing Services | QS4U
> Cell: 803-207-7452
Every TcpTransport instance uses a background thread for socket reads,
that is what you see here.

-- 
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.b...@redhat.com | www.redhat.com 
twitter: @tabish121
blog: http://timbish.blogspot.com/

Reply via email to