This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients christian.heimes, db3l, erlendaasland, kj, pablogsal, vstinner
Date 2021-05-28.22:16:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1622240191.67.0.291857608034.issue44252@roundup.psfhosted.org>
In-reply-to
Content
For me, there are different issues:

* PyType_FromSpec() must fail if a type is declared with Py_TPFLAGS_HAVE_GC but its tp_traverse function is NULL.
* _ssl.SSLError must implement the tp_traverse slot

Moreover, in debug mode, PyObject_GC_Track() calls the traverse function to ensure that it's safe to call it. PyObject_GC_Track() must crash of tp_traverse is NULL. If it didn't track, it means that the _ssl.SSLError instance was not tracked by the GC. Is that ok? Objects implementing the GC protocol should be tracked by the GC, no?

An exception is *likely* to be part of a reference cycle because it contains a traceback which contains frames which contains variables, and one variable can be the exception.
History
Date User Action Args
2021-05-28 22:16:31vstinnersetrecipients: + vstinner, db3l, christian.heimes, pablogsal, erlendaasland, kj
2021-05-28 22:16:31vstinnersetmessageid: <1622240191.67.0.291857608034.issue44252@roundup.psfhosted.org>
2021-05-28 22:16:31vstinnerlinkissue44252 messages
2021-05-28 22:16:31vstinnercreate