(I sent the following post through Google Group, but it seems not appear on
the maillist)

Hi all,

I have a simple server using blocked socket and OpenSSL, its only
function is for user registering an account. When an user connect to
this server, it spawns a child process to handle the request. I found
sometime child processes got stuck.

I checked these malfunctioned process with gdb, and got the following
output:

(gdb) bt
#0  0x00002b80dffd7352 in read () from /lib/libc.so.6
#1  0x00002b80de4160a1 in BIO_new_socket () from /usr/lib/libcrypto.so.0.9.8
#2  0x00002b80de41449f in BIO_read () from /usr/lib/libcrypto.so.0.9.8
#3  0x00002b80de23d57d in ssl3_read_n () from /usr/lib/libssl.so.0.9.8
#4  0x00002b80de23dabd in ssl3_read_bytes () from /usr/lib/libssl.so.0.9.8
#5  0x00002b80de23e795 in ssl3_get_message () from /usr/lib/libssl.so.0.9.8
#6  0x00002b80de2340aa in ssl3_check_client_hello () from
/usr/lib/libssl.so.0.9.8
#7  0x00002b80de236855 in ssl3_accept () from /usr/lib/libssl.so.0.9.8
#8  0x0000000000437945 in main ()

seems like during the function call of ssl3_accept(), server waits for
hand-shaking packet from user machine, but never get it. Or maybe the
user machine was cut off from Internet accidentally, so server never
got any hint, still wait for input. The socket is blocked one.

Anyone has any idea about this situation?

Thanks in advance.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to