[Python-Dev] PEP 489: module m_traverse called with NULL module state (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Wed Dec 13 15:15:40 EST 2017
- Previous message (by thread): [Python-Dev] [python/peps] PEP 567 review and copyedits (#503)
- Next message (by thread): [Python-Dev] PEP 489: module m_traverse called with NULL module state
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello,
After debugging a crash on AppVeyor for a submitter's PR
(see https://github.com/python/cpython/pull/4611 ), I came to the
following diagnosis: converting the "atexit" module (which is a
built-in C extension) to PEP 489 multiphase initialization can lead to
its m_traverse function (and presumably also m_clear and m_free) to be
called while not module state is yet registered: that is,
PyModule_GetState(self)
when called from m_traverse returns NULL!
Is that an expected or known subtlety?
Regards
Antoine.
- Previous message (by thread): [Python-Dev] [python/peps] PEP 567 review and copyedits (#503)
- Next message (by thread): [Python-Dev] PEP 489: module m_traverse called with NULL module state
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]