[issue32818] multiprocessing segmentfault under Windows compatibility mode

2018-03-01 Thread Segev Finer

Change by Segev Finer :


--
keywords: +patch
pull_requests: +5716
stage:  -> patch review

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue32818] multiprocessing segmentfault under Windows compatibility mode

2018-03-01 Thread Segev Finer

Segev Finer  added the comment:

Windows seems to dereference lpStartupInfo->lpAttributeList, despite it being 
NULL since we had no attributes to set. Smells like a Windows bug in the 
compatibility shim, since it doesn't crash in non compatibility mode.

Not setting EXTENDED_STARTUPINFO_PRESENT when lpStartupInfo->lpAttributeList is 
NULL will fix this. Not sure about lpStartupInfo->cb, I think Windows only 
checks it's large enough.

Also attached is a crash dump with symbols and used source revision of a 
reproduction of this.

Stack Trace:
00 00fee690 5ad47c1c 
AcLayers!NS_ElevateCreateProcess::APIHook_CreateProcessW+0x110
01 00fee740 5ad45f79 python38_d!_winapi_CreateProcess_impl+0x15c 
[cpython\modules\_winapi.c @ 1046]
02 00fee798 5ad78e75 python38_d!_winapi_CreateProcess+0x79 
[cpython\modules\clinic\_winapi.c.h @ 326]
03 00fee7f8 5ad77b64 python38_d!_PyMethodDef_RawFastCallKeywords+0x245 
[cpython\objects\call.c @ 651]
04 00fee81c 5aed8f9f python38_d!_PyCFunction_FastCallKeywords+0x84 
[cpython\objects\call.c @ 730]
05 00fee854 5aee038f python38_d!call_function+0x15f [cpython\python\ceval.c @ 
4532]
06 00fee8f4 5ad7b336 python38_d!_PyEval_EvalFrameDefault+0x59bf 
[cpython\python\ceval.c @ 3128]
07 00fee92c 5ad77ce4 python38_d!function_code_fastcall+0xe6 
[cpython\objects\call.c @ 283]
08 00fee994 5ad79be7 python38_d!_PyFunction_FastCallDict+0x134 
[cpython\objects\call.c @ 322]
09 00fee9d8 5ad79aa6 python38_d!_PyObject_FastCallDict+0xc7 
[cpython\objects\call.c @ 98]
0a 00feea14 5ae0b8f7 python38_d!_PyObject_Call_Prepend+0xf6 
[cpython\objects\call.c @ 904]
0b 00feea50 5ae10a97 python38_d!slot_tp_init+0x47 [cpython\objects\typeobject.c 
@ 6597]
0c 00feea74 5ad7a28e python38_d!type_call+0x187 [cpython\objects\typeobject.c @ 
949]
0d 00feeae0 5aed91d1 python38_d!_PyObject_FastCallKeywords+0x37e 
[cpython\objects\call.c @ 199]
0e 00feeb18 5aedc95b python38_d!call_function+0x391 [cpython\python\ceval.c @ 
4576]

--
Added file: https://bugs.python.org/file47465/crash32818.zip

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue32818] multiprocessing segmentfault under Windows compatibility mode

2018-02-28 Thread Ma Lin

Ma Lin  added the comment:

3.7.0 beta2 still segmentfault.
Finer, please have a look.

segmentfault conditions:
64bit Windows 10 (1709) + 32bit Python 3.7.0 Beta2 + Compatibility Mode enabled.
(64bit Python doesn't segmentfault)

--
nosy: +Segev Finer

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue32818] multiprocessing segmentfault under Windows compatibility mode

2018-02-13 Thread Ma Lin

Ma Lin  added the comment:

Git bisect says this is the first bad commit:
https://github.com/python/cpython/commit/b2a6083eb0384f38839d3f1ed32262a3852026fa

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue32818] multiprocessing segmentfault under Windows compatibility mode

2018-02-12 Thread Ma Lin

Ma Lin  added the comment:

segmentfault conditions:
64bit Windows + 32bit Python + Compatibility Mode enabled.

some infomation:
1, 64bit Python doesn't segmentfault.
2, 3.7.0a3 is ok, 3.7.0a4 segmentfaults.
3, unrelated to Windows SDK, switch from 1709 SDK to 1703 SDK also 
segmentfaults.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue32818] multiprocessing segmentfault under Windows compatibility mode

2018-02-10 Thread Ma Lin

Ma Lin  added the comment:

Here is two traceback messages:

D:\git\cpython\PCbuild\win32>python.exe -X dev 
d:\git\cpython\Lib\test\test_multiprocess
ing_main_handling.py
ssF
==
FAIL: test_basic_script (__main__.SpawnCmdLineTest)
--
Traceback (most recent call last):
  File "d:\git\cpython\Lib\test\test_multiprocessing_main_handling.py", line 
162, in test_basic_script
self._check_script(script_name)
  File "d:\git\cpython\Lib\test\test_multiprocessing_main_handling.py", line 
156, in _check_script
rc, out, err = assert_python_ok(*run_args, __isolated=False)
  File "D:\git\cpython\lib\test\support\script_helper.py", line 151, in 
assert_python_ok

return _assert_python(True, *args, **env_vars)
  File "D:\git\cpython\lib\test\support\script_helper.py", line 137, in 
_assert_python
res.fail(cmd_line)
  File "D:\git\cpython\lib\test\support\script_helper.py", line 79, in fail
err))
AssertionError: Process return code is 3221225477
command line: ['D:\\git\\cpython\\PCbuild\\win32\\python.exe', '-X', 
'faulthandler', '-E
', 'C:\\Users\\anima\\AppData\\Local\\Temp\\tmplgfds7rc\\script.py', 'spawn']

stdout:
---

---

stderr:
---
Windows fatal exception: access violation

Current thread 0x1930 (most recent call first):
  File "D:\git\cpython\lib\multiprocessing\popen_spawn_win32.py", line 48 in 
__init__
  File "D:\git\cpython\lib\multiprocessing\context.py", line 322 in _Popen
  File "D:\git\cpython\lib\multiprocessing\process.py", line 112 in start
  File "D:\git\cpython\lib\multiprocessing\pool.py", line 241 in 
_repopulate_pool
  File "D:\git\cpython\lib\multiprocessing\pool.py", line 176 in __init__
  File "D:\git\cpython\lib\multiprocessing\context.py", line 119 in Pool
  File "C:\Users\anima\AppData\Local\Temp\tmplgfds7rc\script.py", line 27 in 

---

==
FAIL: test_basic_script_no_suffix (__main__.SpawnCmdLineTest)
--
Traceback (most recent call last):
  File "d:\git\cpython\Lib\test\test_multiprocessing_main_handling.py", line 
168, in test_basic_script_no_suffix
self._check_script(script_name)
  File "d:\git\cpython\Lib\test\test_multiprocessing_main_handling.py", line 
156, in _check_script
rc, out, err = assert_python_ok(*run_args, __isolated=False)
  File "D:\git\cpython\lib\test\support\script_helper.py", line 151, in 
assert_python_ok

return _assert_python(True, *args, **env_vars)
  File "D:\git\cpython\lib\test\support\script_helper.py", line 137, in 
_assert_python
res.fail(cmd_line)
  File "D:\git\cpython\lib\test\support\script_helper.py", line 79, in fail
err))
AssertionError: Process return code is 3221225477
command line: ['D:\\git\\cpython\\PCbuild\\win32\\python.exe', '-X', 
'faulthandler', '-E
', 'C:\\Users\\anima\\AppData\\Local\\Temp\\tmpkovn5nfz\\script', 'spawn']

stdout:
---

---

stderr:
---
Windows fatal exception: access violation

Current thread 0x1d00 (most recent call first):
  File "D:\git\cpython\lib\multiprocessing\popen_spawn_win32.py", line 48 in 
__init__
  File "D:\git\cpython\lib\multiprocessing\context.py", line 322 in _Popen
  File "D:\git\cpython\lib\multiprocessing\process.py", line 112 in start
  File "D:\git\cpython\lib\multiprocessing\pool.py", line 241 in 
_repopulate_pool
  File "D:\git\cpython\lib\multiprocessing\pool.py", line 176 in __init__
  File "D:\git\cpython\lib\multiprocessing\context.py", line 119 in Pool
  File "C:\Users\anima\AppData\Local\Temp\tmpkovn5nfz\script", line 27 in 

---

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue32818] multiprocessing segmentfault under Windows compatibility mode

2018-02-10 Thread Ma Lin

New submission from Ma Lin :

Reproduce:
Right click python.exe -> properties -> compatibility tab -> enable 
compatibility mode (e.g. Windows 7)

Then run this test will get a segmentfault: 
test_multiprocessing_main_handling.py

CPython 3.6 is Ok.

--
components: Windows
messages: 311980
nosy: Ma Lin, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: multiprocessing segmentfault under Windows compatibility mode
type: crash
versions: Python 3.7, Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com