Menu

#12 "moduleInit" symbol collision causing SystemError on import

resolved
nobody
None
major
bug
2020-10-01
2020-08-25
No

It is not possible to use ruamel.ordereddict==0.4.14 and pyrsistent==0.14.7 versions together with dl open flags set to 258. The RCA of the issue is that both the packages define the symbol "moduleInit".

Steps to reproduce:

  1. Install ruamel.ordereddict==0.4.14 and pyrsistent==0.14.7
  2. Run the following python code
import sys
sys.setdlopenflags(258)
# pvectorc is a shared so provided by pyrsistent.
import pvectorc
import _ordereddict

The above code will raise the exception with the message as follows

SystemError: dynamic module not initialized properly

There are other python packages that define the same name. So it would be better if any namespace can be utilized.

Discussion

  • Anthon van der Neut

    • status: open --> resolved
     
  • Anthon van der Neut

    I uploaded 0.4.15 to PyPI, there are no(and possible will not be) wheels for MacOS/Windows

     
  • Anthon van der Neut

    Thanks for reporting. I thought I had this fixed , and I for sure had seen how pyrsistent has fixed the issue, but somehow managed to forget about this during my holidays in September.

     
  • Rajeev Menon

    Rajeev Menon - 2020-10-01

    Thank you so much!

     

Log in to post a comment.

MongoDB Logo MongoDB