[New-bugs-announce] [issue23256] test_ctypes crashes on Windows on debug builds

Claudiu Popa report at bugs.python.org
Sat Jan 17 15:34:14 CET 2015


New submission from Claudiu Popa:

Hi,

Doing the following on Windows leads to a nasty crash "python_d -m test test_ctypes":


[1/1] test_ctypes
Fatal Python error: Segmentation fault

Current thread 0x000016fc (most recent call first):
  File "E:\Projects\repos\cpython\lib\unittest\case.py", line 162 in handle
  File "E:\Projects\repos\cpython\lib\unittest\case.py", line 704 in assertRaises
  File "E:\Projects\repos\cpython\lib\ctypes\test\test_win32.py", line 47 in test_SEH
  File "E:\Projects\repos\cpython\lib\unittest\case.py", line 577 in run
  File "E:\Projects\repos\cpython\lib\unittest\case.py", line 625 in __call__
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 125 in run
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 87 in __call__
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 125 in run
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 87 in __call__
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 125 in run
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 87 in __call__
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 125 in run
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 87 in __call__
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 125 in run
  File "E:\Projects\repos\cpython\lib\unittest\suite.py", line 87 in __call__
  File "E:\Projects\repos\cpython\lib\test\support\__init__.py", line 1669 in run
  File "E:\Projects\repos\cpython\lib\test\support\__init__.py", line 1770 in _run_suite
  File "E:\Projects\repos\cpython\lib\test\support\__init__.py", line 1804 in run_unittest
  File "E:\Projects\repos\cpython\lib\test\regrtest.py", line 1283 in test_runner
  File "E:\Projects\repos\cpython\lib\test\regrtest.py", line 1284 in runtest_inner
  File "E:\Projects\repos\cpython\lib\test\regrtest.py", line 978 in runtest
  File "E:\Projects\repos\cpython\lib\test\regrtest.py", line 763 in main
  File "E:\Projects\repos\cpython\lib\test\regrtest.py", line 1568 in main_in_temp_cwd
  File "E:\Projects\repos\cpython\lib\test\__main__.py", line 3 in <module>
  File "E:\Projects\repos\cpython\lib\runpy.py", line 85 in _run_code
  File "E:\Projects\repos\cpython\lib\runpy.py", line 170 in _run_module_as_main


It seems that test_SEH is not properly skipped, since on my machine, sys.executable is in fact cpython\PCbuild\win32\python_d.EXE. Not sure from where the .EXE part comes, but the following patch makes the test pass.



diff -r d3671e6ba106 Lib/ctypes/test/test_win32.py
--- a/Lib/ctypes/test/test_win32.py	Fri Jan 16 20:46:37 2015 -0500
+++ b/Lib/ctypes/test/test_win32.py	Sat Jan 17 16:32:23 2015 +0200
@@ -38,7 +38,7 @@
 @unittest.skipUnless(sys.platform == "win32", 'Windows-specific test')
 class FunctionCallTestCase(unittest.TestCase):
     @unittest.skipUnless('MSC' in sys.version, "SEH only supported by MSC")
-    @unittest.skipIf(sys.executable.endswith('_d.exe'),
+    @unittest.skipIf(sys.executable.lower().endswith('_d.exe'),
                      "SEH not enabled in debug builds")
     def test_SEH(self):
         # Call functions with invalid arguments, and make sure

----------
components: ctypes
messages: 234168
nosy: Claudiu.Popa, zach.ware
priority: low
severity: normal
stage: patch review
status: open
title: test_ctypes crashes on Windows on debug builds
type: crash
versions: Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue23256>
_______________________________________


More information about the New-bugs-announce mailing list