Thanks for your reply! > Some days back, we had a riot on "select" call usage. You may revisit those > posts to see if it is helpful. Well, I do not think it is select() since it works for a 1000 threads. The part that fails is also part of the standard OpenSSL code so I would not like to change it unless an explicit error is found.
> One thing I do not get is: "Each thread has it's own SSL context ". Yes I setup the SSL_CTX in each thread. I have also taken it out of the threads into main() creating one global context BUT this gives the same error. > Therefore, I think creating as many SSL contexts as many threads are there > is an issue. Exactly - what is the issue? If a 1000 threads work why not 1500? Both machines have 1GB RAM and running Gentoo 2.5.15 (xeon) and Ubuntu Breezy (Sempron). Cheers Leon > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Leon > Sent: Monday, June 26, 2006 12:19 PM > To: openssl-users@openssl.org > Subject: OpenSSL and multiple threads > > > Hi, > > I wrote a server app to use multiple threads. Each thread has it's own > SSL context and perform all the socket (socket,accept) and SSL > (SSL_accept) tasks. I implemented the dynamic lock mechanism for multi > thread support. > > I can start the server with the 1000 threads (one for each required > port) that we need, but found that it fails if I try 1500. Now I am > afraid that the 1000 threads may also become unstable with continuous > use. This failure occurs when all the threads are listening and I open a > single connection to one of them. That is: there is no load. > > I tracked the bug with gdb and found that it fails in RAND_poll(), > called from SSL_accept(), when a new session key is generated. The > strange thing is that after the file descriptor set is zeroed > [(FD_ZERO(&fset)] the call [FDSET(fd,&fset)] to add the random device's > file descriptor does not work. The set remains zeroed and once the > select() has executed using this set, most of the parameters including > the random devices file descriptor, becomes zeroed (NULL). > > It looks as if something is overrunning my stack - any ideas as to how > to get the sucker? I had the same results on a dual xeon as well as a > Athlon box. Using 0.9.7e. > > Please ignore the design - it is suppose to be experimental. > > Thanks > Leon > > > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List openssl-users@openssl.org > Automated List Manager [EMAIL PROTECTED] > > > DISCLAIMER > ========== > This e-mail may contain privileged and confidential information which is the > property of Persistent Systems Pvt. Ltd. It is intended only for the use of > the individual or entity to which it is addressed. If you are not the > intended recipient, you are not authorized to read, retain, copy, print, > distribute or use this message. If you have received this communication in > error, please notify the sender and delete all copies of this message. > Persistent Systems Pvt. Ltd. does not accept any liability for virus infected > mails. > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List openssl-users@openssl.org > Automated List Manager [EMAIL PROTECTED] ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]