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 Daniel Lepage
Recipients Daniel Lepage
Date 2017-06-05.00:25:15
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1496622334.44.0.71686890535.issue30570@psf.upfronthosting.co.za>
In-reply-to
Content
The following code causes a segmentation fault:
class Failure(object):
    def __getattr__(self, attr):
        return (self, None)
issubclass(Failure(), int)

I am running a macbook pro, OS X 10.12.4, and have observed the problem in python 3.5.2, 3.6.0, and 3.6.1.

It appears that returning (self,) causes it to go into an infinite loop attempting to get `x.__bases__`, and returning `(self, y)` for any value `y` causes it to attempt to get `x.__bases__` 262,030 times and then segfault.

A crash log is attached.
History
Date User Action Args
2017-06-05 00:25:34Daniel Lepagesetrecipients: + Daniel Lepage
2017-06-05 00:25:34Daniel Lepagesetmessageid: <1496622334.44.0.71686890535.issue30570@psf.upfronthosting.co.za>
2017-06-05 00:25:34Daniel Lepagelinkissue30570 messages
2017-06-05 00:25:33Daniel Lepagecreate