object.__getattribute__(super, '__bases__') crashes the interpreter. It seems to happen at Objects/typeobject.c in type_get_bases(), when tp_bases is NULL. Crashing types in __builtins__ per version would seem to be: python2.4: slice frozenset super staticmethod float enumerate long xrange tuple reversed property complex buffer classmethod python2.5: slice frozenset super staticmethod float enumerate long xrange reversed property complex buffer classmethod python2.6: slice super staticmethod float enumerate long xrange reversed python3.0: memoryview slice super filter range staticmethod float enumerate reversed map 2.7 and 3.1 not tested since i don't have them installed.
Just verified that r71722 fixes all the builtins, however i just noticed that some types under module types cause segfaults too. Under python2.7 those are: CodeType BuiltinMethodType DictProxyType GeneratorType GetSetDescriptorType EllipsisType FrameType InstanceType MemberDescriptorType Not sure, but i'm guessing there might be yet more types somewhere, that need fixing (as the only places i've looked at are __builtins__ and types - the first ones to cause problems/come to mind). Would there be some way to find out all defined types, or to fix this for all types in a single place?
Stumbled upon a few more. python2.4/2.5: socket.SSLType re._pattern_type weakref.ProxyType weakref.CallableProxyType python2.6/2.7: weakref.ProxyType weakref.CallableProxyType python3.0: weakref.ProxyType weakref.CallableProxyType _abcoll.dict_proxy I'll also mention MLab.arraytype and MLab.UfuncType, though they are in a third-party module.. Btw, should this be kept open until this is backported to 2.4/2.5 as well?