You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The ffi_prep_args function in libffi_msvc/ffi.c needs the attached patch to handle 64-bit parameters with the correct padding.
Without this patch, garbage may appear in the top part of 64-bit arguments as the values are not zeroed out by the memcpy.
I'm not 100% sure who 'owns' this file - is there an upstream project that should get the patch rather than Python? If not, I see no reason not to check this in now, even though it doesn't seem to repro with the VC10 builds.
[ 68/390/2] test_ttk_textonly
test test_ttk_textonly crashed -- Traceback (most recent call last):
File "D:\...\lib\test\regrtest.py", line 1280, in runtest_inner
test_runner()
File "D:\...\lib\test\test_ttk_textonly.py", line 14, in test_main*runtktests.get_tests(gui=False, packages=['test_ttk']))
File "D:\...\lib\tkinter\test\runtktests.py", line 65, in get_testsfor module in get_tests_modules(gui=gui, packages=packages):
File "D:\...\lib\tkinter\test\runtktests.py", line 50, in get_tests_modules"tkinter.test")
File "D:\...\lib\importlib\__init__.py", line 109, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2208, in _gcd_import
File "<frozen importlib._bootstrap>", line 2191, in _find_and_load
File "<frozen importlib._bootstrap>", line 2180, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1149, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1420, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "D:\...\lib\tkinter\test\test_ttk\test_extensions.py", line 8, in <module>
requires('gui')
File "D:\...\lib\test\support\__init__.py", line 492, in requiresif resource =='gui'andnot _is_gui_available():
File "D:\...\lib\test\support\__init__.py", line 436, in _is_gui_availableraise ctypes.WinError()
OSError: [WinError 0] The operation completed successfully.
I'm not entirely sure when/if I should just commit the fix without any reviews, but this issue needs to be fixed, so eventually I'll probably just do it :)
Activity
zooba commentedon Oct 26, 2014
The ffi_prep_args function in libffi_msvc/ffi.c needs the attached patch to handle 64-bit parameters with the correct padding.
Without this patch, garbage may appear in the top part of 64-bit arguments as the values are not zeroed out by the memcpy.
I'm not 100% sure who 'owns' this file - is there an upstream project that should get the patch rather than Python? If not, I see no reason not to check this in now, even though it doesn't seem to repro with the VC10 builds.
zooba commentedon Nov 22, 2014
Nosying the other Windows guys - seems like the ctypes nosy list is inactive, and this only affects MSVC.
zooba commentedon Dec 16, 2014
This patch also resolves this test issue:
I'm not entirely sure when/if I should just commit the fix without any reviews, but this issue needs to be fixed, so eventually I'll probably just do it :)
zware commentedon Dec 16, 2014
I don't know near enough to comment on this one. If you feel confident in it, I'd say go ahead.
tjguk commentedon Dec 16, 2014
Likewise.
python-dev commentedon Dec 17, 2014
New changeset 4c81b1846e14 by Steve Dower in branch 'default':
Issue bpo-22733: MSVC ffi_prep_args doesn't handle 64-bit arguments properly
https://hg.python.org/cpython/rev/4c81b1846e14
python-dev commentedon Dec 17, 2014
New changeset 24f4569a1308 by Steve Dower in branch 'default':
Issue bpo-22733: Added NEWS item
https://hg.python.org/cpython/rev/24f4569a1308
RafaChodnicki commentedon Sep 15, 2016
Maybe worth backporting to 3.3 and up? Especially if bpo-20160 is to be backported as they seem to be related.