My app crashed doing an SSL Handshake.  Here is the dbx stack trace from the
core.  This happened on a SPARC Solaris 2.7 box.

Current function is __cSocket::DoSSLHandshake
 1364                   int iRes = SSL_do_handshake (_psslConnection);
(dbx) where
current thread: t@47003
  [1] t_delete(0x0, 0xef523138, 0x30, 0x69c748, 0x5a69d8, 0x88), at
0xef4c64b8
  [2] realfree(0x69c750, 0x0, 0xef529758, 0xef523138, 0x69c748, 0x8b), at
0xef4c6200
  [3] cleanfree(0x0, 0xef523138, 0xef5296cc, 0xef52974c, 0xef5296ec,
0xd720b9bc), at 0xef4c69cc
  [4] _malloc_unlocked(0x108, 0xef585250, 0x1000, 0x291b38, 0x0,
0xef523138), at 0xef4c5c28
  [5] malloc(0x104, 0x104, 0x19, 0x18, 0x0, 0x0), at 0xef4c5b30
  [6] CRYPTO_malloc(0xd3478, 0xba7dc, 0x148, 0xba7dc, 0x104, 0x0), at
0x474d0
  [7] bn_expand2(0xba7dc, 0x40, 0xd720b868, 0x40, 0x88, 0x35db4198), at
0x5323c
  [8] BN_mul(0x40, 0x20, 0x10, 0xd720b840, 0x10, 0xd720b840), at 0x832fc
  [9] BN_mod_mul_montgomery(0xd720b840, 0x0, 0x18e354, 0x18e350, 0xd720b800,
0xd720b660), at 0x86208
  [10] BN_mod_exp_mont(0xd720b660, 0x18e350, 0x1, 0x22fce8, 0x55fa28,
0x18e350), at 0x81724
  [11] compute_key(0xd720b804, 0xffffffff, 0x55fa28, 0x7228bc, 0x5d6b18,
0xd720b9bc), at 0x55198
  [12] ssl3_send_client_key_exchange(0x4f0160, 0x5d6b18, 0x1000, 0x7228b8,
0x182568, 0x7228bc), at 0x41b5c
  [13] ssl3_connect(0x1000, 0x0, 0x1100, 0x2, 0x11d0, 0x0), at 0x3fca8
  [14] ssl23_get_server_hello(0x7, 0x2bd9c0, 0x182568, 0x2, 0x7228b8, 0x0),
at 0x2c08c
  [15] ssl23_connect(0x1000, 0x72, 0x5c, 0x1220, 0x1210, 0x0), at 0x2baa8
=>[16] __cSocket::DoSSLHandshake(this = 0x19c698), line 1364 in
"cSocket.cpp"
  [17] __cPSP::EstablishConnection(this = 0x2efc28), line 300 in
"cPSPThread.cpp"
  [18] __cPSPThread::ThreadMain(this = 0x108e68), line 533 in
"cPSPThread.cpp"
  [19] ThreadRootStartingPoint(pThreadInstance = 0x108e68), line 74 in
"cThread.cpp"
(dbx) 

The crash occurred after about 47,000 successful connection/disconnection
cycles, so it's not very reproducible.  For the duration of the test, my app
maintained 60 simultaneous connections on 60 threads (one thread per
connection).  Each connection was allowed to last a random amount of time
between 0 and 20 seconds.  Every time a connection and its thread was
closed, a new thread and a replacement connection were established to
maintain 60 simultaneous connections.  Any idea why its' crashing?  If my
server can't run for more than a few hours without crashing, I'm on the hot
seat!  I would be grateful for ANY help or suggestions.1

Thanks for any help,

Bill Rebey


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to