Hi guys,
I finally found the problem... it was simply that I forgot to call the
function to initialize support for threads in the library.. now the code
runs smooth.
Thanks to those who helped me... :D
Later,
Max
Massimiliano Pala wrote:
Hi all,
I am working on a multi threaded OCSP server based on OpenSSL. When I
switched from multi-process server (fork()) to a multi-threaded version
I got strange errors (segfaults).
I tracked down the problem, and the error seems to be within the openssl
libs - in particular in the OCSP_basic_sign() function.
When crashing this is the execution stack status:
#0 sk_pop_free (st=<value optimized out>, func=Could not find the frame
base for "sk_pop_free".) at stack.c:288
#1 0x03d4f800 in EVP_PKEY_free (x=<value optimized out>) at p_lib.c:468
#2 0x03d753b2 in X509_check_private_key (x=<value optimized out>, k=<value
optimized out>) at x509_cmp.c:416
#3 0x03da3fec in OCSP_basic_sign (brsp=<value optimized out>,
signer=<value
optimized out>, key=<value optimized out>, dgst=<value optimized out>,
certs=<value optimized out>, flags=<value optimized out>) at
ocsp_srv.c:215
#4 0x0804c422 in make_ocsp_response (req=0x985024d8, conf=0x9cbaa10,
pkey=0xa3a8b30) at ocsp_response.c:173
#5 0x080509d2 in thread_main (arg=0x2b) at threads.c:190
#6 0x00c4f32f in start_thread (arg=<value optimized out>) at
pthread_create.c:297
#7 0x00b8a20e in clone () from /lib/libc.so.6
Anybody has any idea about what is going on here ? #7->#4 is in my
server code,
while #3->#0 is in openssl lib. Anybody has had same problems ? A possible
problem could be that the X509_get_pubkey() call fails but no error
checking is
performed - therefore the EVP_PKEY_free() would cause the segfault...
but at this
point is just speculation...
Later,
Max
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager [EMAIL PROTECTED]