On Thu, Nov 10, 2005, Steffen Fiksdal wrote:


On Thu, Nov 10, 2005, Steffen Fiksdal wrote:


I have investigated some more on this issue.
I have traced the problem down to the MONT_HELPER call int the
RSA_eay_public_decrypt function in file rsa_eay.c.
If I mutex this call everything works fine, if I don't the verifications
failes in a few occations.

So it seems that the MONT_HELPER has a threading issue ?


What OS are you using and is it multi processor or does it use
hyperthreading?


It seems strange that this small macro should create any threading issues.

I use Linux 2.4.21-27 SMP. It has two Intel  processors, but only one is
physically in use. No hyperthreading.

I should try this on a non-SMP kernel and check ?
Maybe it's the pthread implementation that does not cope well with SMP.


My reason for asking is that there has been some discussion suggesting that
OpenSSLs use of DCLP (double-checked locking pattern) may not be valid for
some environments. IIRC multi processors and hyperthreading were two cases
which might cause problems.

No one has so far come up with a concrete example of it failing though.


I have tried to get this error on my other linux box, a uniprocessor non SMP Linux kernel, without luck.

So I experience the error in a few occations on the SMP kernel, but not on the uniprocessor non SMP Linux kernel.

When I mutex the MONT_HELPER call myself by wrapping the macro with a CRYPTPO_lock(), I do not get the error on the SMP kernel.

This can have several reasons, but it is kind of strange..

Best Regards,
Steffen Fiksdal
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to