M2Crypto possible intermittent bug

J

John Nagle

I just "upgraded" from M2Crypto 0.17 to M2Crypto 0.18, and I'm
running my regression tests. I'm seeing occasional cases where
M2Crypto raises the exception SSL.SSLError, and the associated
error is "(0, 'Error')", which is the bogus error you get if you feed 0 to
"perror". It failed once on "verisign.com"'s cert, then worked
on the next try.

This is on Windows, running Python 2.4 (which is what M2Crypto
supports on Windows.)

I'm trying to make this reproduceable. More later.

John Nagle
 
J

John Nagle

John said:
I just "upgraded" from M2Crypto 0.17 to M2Crypto 0.18, and I'm
running my regression tests. I'm seeing occasional cases where
M2Crypto raises the exception SSL.SSLError, and the associated
error is "(0, 'Error')", which is the bogus error you get if you feed 0 to
"perror". It failed once on "verisign.com"'s cert, then worked
on the next try.

This is on Windows, running Python 2.4 (which is what M2Crypto
supports on Windows.)

I'm trying to make this reproduceable. More later.

John Nagle

Still trying to reproduce this. Every time except the first,
the regression test passed. More later. Might be an uninitialized
variable in a DLL, or something like that.

John Nagle
 
J

John Nagle

John said:
Still trying to reproduce this. Every time except the first,
the regression test passed. More later. Might be an uninitialized
variable in a DLL, or something like that.

John Nagle

Still having trouble reproducing the problem. But somewhere,
something raised that bogus no-error exception three times.
Anything that returns "(0, 'Error')" as exception data is a bug.

John Nagle
 
H

Heikki Toivonen

John said:
Still having trouble reproducing the problem. But somewhere,
something raised that bogus no-error exception three times.
Anything that returns "(0, 'Error')" as exception data is a bug.

If you can, build python and m2crypto with debug symbols, and place
breakpoints in |case SSL_ERROR_SYSCALL| blocks (from _ssl.i). Then rerun
the tests. That would be my first guess as to where these might be
coming from.
 
J

John Nagle

Heikki said:
If you can, build python and m2crypto with debug symbols, and place
breakpoints in |case SSL_ERROR_SYSCALL| blocks (from _ssl.i). Then rerun
the tests. That would be my first guess as to where these might be
coming from.

I don't have the right compiler to build it on Windows, and it
doesn't seem to be failing on Linux. It failed three times during
one test run and hasn't failed since. That makes me suspect an
uninitialized data problem in C code. I'll try to reproduce the
problem.

John Nagle
 
J

John Nagle

John said:
I don't have the right compiler to build it on Windows, and it
doesn't seem to be failing on Linux. It failed three times during
one test run and hasn't failed since. That makes me suspect an
uninitialized data problem in C code. I'll try to reproduce the
problem.

John Nagle

I'm unable to reproduce the problem at this time. Even re-installingM2Crypto
doesn't make it recur. I've been rerunning my regression test
over and over, and it's not repeatable.

I suspect that for some reason Windows networking was generating
a local error, and the Windows error status to UNIX-like error status
conversion is wrong somewhere.

John Nagle
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,011
Latest member
AjaUqq1950

Latest Threads

Top