Sorry for the fist post. It seems like I have some problems with the other email client. A new try :) I have wrote a multi-threaded server (UNIX) and I use OpenSSL for encrypting communication between the server and the client (the client is an MFC application, but I think this doesn't matter...). Server is running fine but randomly it crashes and every time in SSL_read() method. Here is a snippet from one of the core dumps: ------------------------------------------------------------------------Core was generated by `/opt/whozin/wnsd_test -l'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libccext2-1.5.so.0...done. Loaded symbols for /usr/lib/libccext2-1.5.so.0 Reading symbols from /usr/lib/libccgnu2-1.5.so.0...done. Loaded symbols for /usr/lib/libccgnu2-1.5.so.0 Reading symbols from /usr/lib/libboost_regex.so.1...done. Loaded symbols for /usr/lib/libboost_regex.so.1 Reading symbols from /lib/tls/libpthread.so.0...done. Loaded symbols for /lib/tls/libpthread.so.0 Reading symbols from /usr/lib/libdaemon.so.0...done. Loaded symbols for /usr/lib/libdaemon.so.0 Reading symbols from /lib/libssl.so.4...done. Loaded symbols for /lib/libssl.so.4 Reading symbols from /lib/libcrypto.so.4...done. Loaded symbols for /lib/libcrypto.so.4 Reading symbols from /usr/lib/liblog4cxx.so.9...done. Loaded symbols for /usr/lib/liblog4cxx.so.9 Reading symbols from /usr/lib/libstdc++.so.6...done. Loaded symbols for /usr/lib/libstdc++.so.6 Reading symbols from /lib/tls/libm.so.6...done. Loaded symbols for /lib/tls/libm.so.6 Reading symbols from /lib/libgcc_s.so.1...done. Loaded symbols for /lib/libgcc_s.so.1 Reading symbols from /lib/tls/libc.so.6...done. Loaded symbols for /lib/tls/libc.so.6 Reading symbols from /lib/tls/librt.so.1...done. Loaded symbols for /lib/tls/librt.so.1 Reading symbols from /usr/lib/libz.so.1...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/lib/libgssapi_krb5.so.2...done. Loaded symbols for /usr/lib/libgssapi_krb5.so.2 Reading symbols from /usr/lib/libkrb5.so.3...done. Loaded symbols for /usr/lib/libkrb5.so.3 Reading symbols from /lib/libcom_err.so.2...done. Loaded symbols for /lib/libcom_err.so.2 Reading symbols from /usr/lib/libk5crypto.so.3...done. Loaded symbols for /usr/lib/libk5crypto.so.3 Reading symbols from /lib/libresolv.so.2...done. Loaded symbols for /lib/libresolv.so.2 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /usr/lib/libxml2.so.2...done. Loaded symbols for /usr/lib/libxml2.so.2 Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 Reading symbols from /lib/libnss_dns.so.2...done. Loaded symbols for /lib/libnss_dns.so.2 #0 0x00c9b7a0 in SSL_read () from /lib/libssl.so.4 (gdb) bt #0 0x00c9b7a0 in SSL_read () from /lib/libssl.so.4 #1 0x0805b27b in wns::ServerPort::pending (this=0xb6014d38) at serverport.cpp:85 #2 0x00d2f241 in ost::SocketService::run (this=0x9fb1c78) at socketport.cpp:748 #3 0x002c713d in ccxx_exec_handler (th=0x9fb1c78) at thread.cpp:1097 #4 0x00a813cc in start_thread () from /lib/tls/libpthread.so.0 #5 0x009d9c3e in clone () from /lib/tls/libc.so.6
------------------------------------------------------------------------ I also made a disassembly: ------------------------------------------------------------------------(gdb) disass Dump of assembler code for function SSL_read: 0x00c9b75b <SSL_read+0>: push %ebp 0x00c9b75c <SSL_read+1>: mov %esp,%ebp 0x00c9b75e <SSL_read+3>: push %ebx 0x00c9b75f <SSL_read+4>: call 0xc867ce <SSLv2_method+258> 0x00c9b764 <SSL_read+9>: add $0x130f4,%ebx 0x00c9b76a <SSL_read+15>: sub $0x14,%esp 0x00c9b76d <SSL_read+18>: mov 0x8(%ebp),%ecx 0x00c9b770 <SSL_read+21>: mov 0x20(%ecx),%eax 0x00c9b773 <SSL_read+24>: test %eax,%eax 0x00c9b775 <SSL_read+26>: je 0xc9b7a9 <SSL_read+78> 0x00c9b777 <SSL_read+28>: testb $0x2,0x30(%ecx) 0x00c9b77b <SSL_read+32>: je 0xc9b78c <SSL_read+49> 0x00c9b77d <SSL_read+34>: movl $0x1,0x18(%ecx) 0x00c9b784 <SSL_read+41>: xor %eax,%eax 0x00c9b786 <SSL_read+43>: add $0x14,%esp 0x00c9b789 <SSL_read+46>: pop %ebx 0x00c9b78a <SSL_read+47>: pop %ebp 0x00c9b78b <SSL_read+48>: ret 0x00c9b78c <SSL_read+49>: mov 0x10(%ebp),%edx 0x00c9b78f <SSL_read+52>: mov 0x8(%ecx),%eax 0x00c9b792 <SSL_read+55>: mov %edx,0x8(%esp) 0x00c9b796 <SSL_read+59>: mov 0xc(%ebp),%edx 0x00c9b799 <SSL_read+62>: mov %ecx,(%esp) 0x00c9b79c <SSL_read+65>: mov %edx,0x4(%esp) 0x00c9b7a0 <SSL_read+69>: call *0x18(%eax) 0x00c9b7a3 <SSL_read+72>: add $0x14,%esp 0x00c9b7a6 <SSL_read+75>: pop %ebx 0x00c9b7a7 <SSL_read+76>: pop %ebp 0x00c9b7a8 <SSL_read+77>: ret 0x00c9b7a9 <SSL_read+78>: lea 0xffffad32(%ebx),%eax 0x00c9b7af <SSL_read+84>: movl $0x345,0x10(%esp) 0x00c9b7b7 <SSL_read+92>: movl $0x114,0x8(%esp) 0x00c9b7bf <SSL_read+100>: mov %eax,0xc(%esp) 0x00c9b7c3 <SSL_read+104>: movl $0xdf,0x4(%esp) 0x00c9b7cb <SSL_read+112>: movl $0x14,(%esp) 0x00c9b7d2 <SSL_read+119>: call 0xc85c68 0x00c9b7d7 <SSL_read+124>: mov $0xffffffff,%eax 0x00c9b7dc <SSL_read+129>: jmp 0xc9b786 <SSL_read+43> End of assembler dump. -------------------------------------------------------------------------- The crash is always in the line 0x00c9b770 <SSL_read+21>: mov 0x20(%ecx),%eax Can anyone suggest me what to do? Thanks for your time! Regards, Scerbatiuc Ion ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ