[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