Python 3.2 will exit with a segmentation fault if a byte string is used as a field name in a subclass of ctypes.Structure. Python 3.2.2 (default, Dec 18 2011, 18:56:20) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import ctypes >>> class Point(ctypes.Structure): ... _fields_ = ((b'x', ctypes.c_int), (b'y', ctypes.c_int)) ... Segmentation fault: 11 This also occurs if None or an int is used as the field name. I would expect that a TypeError exception would be raised if an attempt is made to use an invalid type for the field name.
This is a duplicate of , which was already fixed for 3.2.2 (in September 2011) Which version of python are you using exactly? What does "import platform; platform.python_revision()" return?
Should I build a version from the tip of the 3.2 or default branch on hg.python.org? This version is Python 3.2.2 built using homebrew. The revision is being reported as an empty string. Python 3.2.2 (default, Dec 18 2011, 18:56:20) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import platform >>> platform.python_revision() '' >>> platform.python_version_tuple() ('3', '2', '2') >>> platform.python_build() ('default', 'Dec 18 2011 18:56:20') >>> platform.release() '11.3.0' >>> platform.version() 'Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64' Sorry, I did a search but didn't find . :-(