[tahoe-lafs-trac-stream] [pycryptopp] #44: test what happens if another Python module loads Crypto++ dynamic link library
pycryptopp
trac at tahoe-lafs.org
Wed Dec 28 07:55:02 UTC 2011
#44: test what happens if another Python module loads Crypto++ dynamic link
library
-------------------+------------------------
Reporter: zooko | Owner:
Type: defect | Status: closed
Priority: major | Milestone:
Version: 0.5.19 | Resolution: fixed
Keywords: | Launchpad Bug:
-------------------+------------------------
Comment (by zooko):
I've now figured out (thanks in part to nejucomo) that
[http://bazaar.launchpad.net/~zooko/cryptopp/trunk/revision/466 this
patch] from the upstream Crypto++ project is probably Wei Dai's solution
to this problem -- in particular to the problem of double-free when
multiple libraries (Python extension modules) are loaded that link to the
Crypto++ shared library.
What I need to do next is, first undo the patch [20100904201728-92b7f-
1d838bc41934d7375fe2e611470a4e4c56185c49] the patch that was intended to
fix this before, and see if this reproduces the double-free problem and/or
the missed-exception problem on our various buildslaves.
Next, try extending
[source:trunk/_testdoubleloadmodule.cpp?annotate=blame&rev=708
_testdoubleloadmodule.cpp] to actually use some symbol from the Crypto++
dynamic library, in order to force it to be actually linked and loaded,
and see if that causes the problems to appear on more buildslaves.
Next, try applying
[http://bazaar.launchpad.net/~zooko/cryptopp/trunk/revision/466 Wei Dai's
patch from the upstream Crypto++ project] and see if that cures the
double-free problem on any buildslaves that are exhibiting it. Along the
way, of course, see if we can reproduce and/or cure the missed-exception
problem (presumably unsetting {{{RTLD_GLOBAL}}} will (still) cure the
missed-exception problem).
We need lots of good green buildslaves to be ready before we try this!
Currently quite a few buildslaves are not green, mostly due to the still
in-progress transition from darcs to git.
--
Ticket URL: <http://tahoe-lafs.org/trac/pycryptopp/ticket/44#comment:8>
pycryptopp <https://tahoe-lafs.org/trac/pycryptopp>
More information about the tahoe-lafs-trac-stream
mailing list