Hi:
 
In our case, it was a client doing SSL communication and some PKCS7 handling, but the crash was at specific locations too, although very far away of the real error. Stressing the application made easier to reproduce the error, and then, by commenting our code (i.e, by putting /*...*/ on selected parts) in several places we discovered were the problem was.
 
It wasn�t easy: all I can say is that it worked to find the errors.
 
Regards
Pablo J. Royo
----- Original Message -----
Sent: Wednesday, April 06, 2005 2:18 PM
Subject: RE: OpenSSL Segmentation Fault

Hello Again

 

In my case, it is a simple server, not too much complexity with respect to SSL usage or network protocols. Basically just receives a string, parses it and passes the result back, then do some server side processing. Additionally, in my case, the crashing seems to occur at two specific locations; during ssl handshake and while exiting a thread.

 

Regards

Nauman Akbar

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pablo J Royo
Sent: Wednesday, April 06, 2005 04:58 PM
To: [email protected]
Subject: Re: OpenSSL Segmentation Fault

 

I can�t say what is exactly causing your problem, but we had a very similar problem when stressing our OpenSSL applications with 100 threads. We did exactly the same that you: to use the callbacks you mention in mttest.c.

Our problem was not to use certain reentrant functions as books say (specially gethostbyname_r and other "inet" functions). This was causing very extrange behaviour, specially crashes in extrange places of our code. Also, the OpenSSL OBJ_XXX functions and all that OBJ management gave us problems, because we were dinamically adding some custom OIDs to the internal OpenSSL OID object list and you need a mutex to handle that list.

 

We discovered this in a couple of days building a little application to stress our code.This way, the problem is produced in minutes, not days.Once we carefully revised that functions, OpenSSL worked perfectly with the supplied callbacks.

Reply via email to