Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-43423 Fix IndexError in subprocess _communicate function #24777

Merged
merged 4 commits into from
Mar 11, 2021

Conversation

cdgriffith
Copy link
Contributor

@cdgriffith cdgriffith commented Mar 6, 2021

It is possible to run into an IndexError in the subprocess module's _communicate function.

    return run(
  File "subprocess.py", line 491, in run
  File "subprocess.py", line 1024, in communicate
  File "subprocess.py", line 1418, in _communicate
IndexError: list index out of range

The lines in question are:

            if stdout is not None:
                stdout = stdout[0]
            if stderr is not None:
                stderr = stderr[0]

I believe this is due to the fact there is no safety checking to make sure that self._stdout_buff and self._stderr_buff have any content in them after being set to empty lists.

The fix I suggest is to change the checks from if stdout is not None to simply if stdout to make sure it is a populated list, as well as for stderr.

Example fixed code:

            if stdout:
                stdout = stdout[0]
            if stderr:
                stderr = stderr[0]

If a more stringent check is required, we could expand that out to check type and length, such as isinstance(stdout, list) and len(stdout) > 0: but that is more then necessary currently.

https://bugs.python.org/issue43423

@the-knights-who-say-ni
Copy link

Hello, and thanks for your contribution!

I'm a bot set up to make sure that the project can legally accept this contribution by verifying everyone involved has signed the PSF contributor agreement (CLA).

CLA Missing

Our records indicate the following people have not signed the CLA:

@cdgriffith

For legal reasons we need all the people listed to sign the CLA before we can look at your contribution. Please follow the steps outlined in the CPython devguide to rectify this issue.

If you have recently signed the CLA, please wait at least one business day
before our records are updated.

You can check yourself to see if the CLA has been received.

Thanks again for the contribution, we look forward to reviewing it!

stdout = stdout[0]
if stderr is not None:
if stderr:
stderr = stderr[0]

return (stdout, stderr)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's an additional bug exposed by the above fix. This line could now return ([], []) instead of (None, None).

Changing the above translation logic to

stdout = stdout[0] if stdout else None
stderr = stderr[0] if stdout else None

would work. call this option [A[.

though nicer code all around would be to not use _stdXXX_buff = [] at all but instead refactor _readerthread to take an attribute name to assign to instead of passing it a list to shove a single element in.

something similar to:

def _readerthread(self, fh, attr_name):
  try:
    setattr(self, attr_name, fh.read())
  finally:
    fh.close()

that larger refactoring makes sense in the context of 3.10. call this option [B].

as a bugfix for 3.9 and earlier i'd stick with the modification of the stdout and stderr assignments. The time when this case even happens looks to be only when the timeout has expired on the joins() above. So what's broken is timeout logic on Windows during a timeout when collecting stdout and stderr.

lets go ahead with [A] in this PR and a followup PR can do [B].

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to option A

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The time when this case even happens looks to be only when the timeout has expired on the joins() above. So what's broken is timeout logic on Windows during a timeout when collecting stdout and stderr.

If either thread is still alive, then a TimeoutExpired will be raised. The only time there is a problem is if one or more reader threads has failed, either by being forcibly terminated via TerminateThread (not exposed to Python code, except via ctypes) or if the fh.read() call fails, which is most likely due to another thread calling CancelSynchronousIo (also only exposed to Python code via ctypes).

@gpshead
Copy link
Member

gpshead commented Mar 11, 2021

Looks good. Can you add a NEWS entry? https://blurb-it.herokuapp.com/ should be able to do it if you don't have blurb installed.

@gpshead gpshead self-assigned this Mar 11, 2021
@gpshead gpshead merged commit b4fc44b into python:master Mar 11, 2021
@miss-islington
Copy link
Contributor

Thanks @cdgriffith for the PR, and @gpshead for merging it 🌮🎉.. I'm working now to backport this PR to: 3.8, 3.9.
🐍🍒⛏🤖

@bedevere-bot
Copy link

GH-24823 is a backport of this pull request to the 3.9 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.9 only security fixes label Mar 11, 2021
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 11, 2021
…H-24777)

Check to make sure stdout and stderr are not empty before selecting an item from them in Windows subprocess._communicate.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit b4fc44b)

Co-authored-by: Chris Griffith <chris@cdgriffith.com>
@bedevere-bot
Copy link

GH-24824 is a backport of this pull request to the 3.8 branch.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 11, 2021
…H-24777)

Check to make sure stdout and stderr are not empty before selecting an item from them in Windows subprocess._communicate.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit b4fc44b)

Co-authored-by: Chris Griffith <chris@cdgriffith.com>
sthagen added a commit to sthagen/python-cpython that referenced this pull request Mar 11, 2021
bpo-43423 Fix IndexError in subprocess _communicate function (pythonGH-24777)
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot aarch64 RHEL8 3.x has failed when building commit b4fc44b.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/529/builds/717) and take a look at the build logs.
  4. Check if the failure is related to this commit (b4fc44b) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/529/builds/717

Failed tests:

  • test_asyncio

Summary of the results of the build (if available):

==

Click to see traceback logs
remote: Enumerating objects: 9, done.        
remote: Counting objects:  11% (1/9)        
remote: Counting objects:  22% (2/9)        
remote: Counting objects:  33% (3/9)        
remote: Counting objects:  44% (4/9)        
remote: Counting objects:  55% (5/9)        
remote: Counting objects:  66% (6/9)        
remote: Counting objects:  77% (7/9)        
remote: Counting objects:  88% (8/9)        
remote: Counting objects: 100% (9/9)        
remote: Counting objects: 100% (9/9), done.        
remote: Compressing objects:  11% (1/9)        
remote: Compressing objects:  22% (2/9)        
remote: Compressing objects:  33% (3/9)        
remote: Compressing objects:  44% (4/9)        
remote: Compressing objects:  55% (5/9)        
remote: Compressing objects:  66% (6/9)        
remote: Compressing objects:  77% (7/9)        
remote: Compressing objects:  88% (8/9)        
remote: Compressing objects: 100% (9/9)        
remote: Compressing objects: 100% (9/9), done.        
remote: Total 9 (delta 0), reused 1 (delta 0), pack-reused 0        
From https://github.com/python/cpython
 * branch                  master     -> FETCH_HEAD
Reset branch 'master'

/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/./setup.py:33: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  from distutils import log

/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/./setup.py:33: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  from distutils import log

/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/./setup.py:33: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  from distutils import log
test_badargs (__main__.GeneralTest) ... ok
test_bound_methods (__main__.GeneralTest) ... ok
test_clear (__main__.GeneralTest) ... ok
test_exit (__main__.GeneralTest) ... ok
test_order (__main__.GeneralTest) ... ok
test_raise (__main__.GeneralTest) ... ok
test_raise_unnormalized (__main__.GeneralTest) ... ok
test_stress (__main__.GeneralTest) ... ok
test_unregister (__main__.GeneralTest) ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.002s

OK
test_tix skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
<string>:2: PendingDeprecationWarning: lib2to3 package is deprecated and may not be able to parse Python 3.10+
test_winreg skipped -- No module named 'winreg'
test_startfile skipped -- object <module 'os' from '/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/os.py'> has no attribute 'startfile'
test_winconsoleio skipped -- test only relevant on win32
test_kqueue skipped -- test works only on BSD
test_ioctl skipped -- Unable to open /dev/tty
test_devpoll skipped -- test works only on Solaris OS family
test_tk skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
test_msilib skipped -- No module named '_msi'
test_winsound skipped -- No module named 'winsound'
test_zipfile64 skipped -- test requires loads of disk-space bytes and a long time to run
test_ttk_guionly skipped -- Tk unavailable due to TclError: no display name and no $DISPLAY environment variab [...]
test_ossaudiodev skipped -- [Errno 2] No such file or directory: '/dev/dsp'
test_flock (__main__.FNTLEINTRTest) ... ok
test_lockf (__main__.FNTLEINTRTest) ... ok
test_read (__main__.OSEINTRTest) ... ok
test_wait (__main__.OSEINTRTest) ... ok
test_wait3 (__main__.OSEINTRTest) ... ok
test_wait4 (__main__.OSEINTRTest) ... ok
test_waitpid (__main__.OSEINTRTest) ... ok
test_write (__main__.OSEINTRTest) ... ok
test_devpoll (__main__.SelectEINTRTest) ... skipped 'need select.devpoll'
test_epoll (__main__.SelectEINTRTest) ... ok
test_kqueue (__main__.SelectEINTRTest) ... skipped 'need select.kqueue'
test_poll (__main__.SelectEINTRTest) ... ok
test_select (__main__.SelectEINTRTest) ... ok
test_sigtimedwait (__main__.SignalEINTRTest) ... ok
test_sigwaitinfo (__main__.SignalEINTRTest) ... ok
test_accept (__main__.SocketEINTRTest) ... ok
test_open (__main__.SocketEINTRTest) ... ok
test_os_open (__main__.SocketEINTRTest) ... ok
test_recv (__main__.SocketEINTRTest) ... ok
test_recvmsg (__main__.SocketEINTRTest) ... ok
test_send (__main__.SocketEINTRTest) ... ok
test_sendall (__main__.SocketEINTRTest) ... ok
test_sendmsg (__main__.SocketEINTRTest) ... ok
test_sleep (__main__.TimeEINTRTest) ... ok

----------------------------------------------------------------------
Ran 24 tests in 7.344s

OK (skipped=2)
/tmp/tmpsi5msput.py:1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  from distutils.util import byte_compile
/tmp/tmp2whckfw0.py:1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  from distutils.util import byte_compile
Timeout (0:15:00)!
Thread 0x0000ffff88564970 (most recent call first):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/selectors.py", line 469 in select
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/asyncio/base_events.py", line 1845 in _run_once
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/asyncio/base_events.py", line 595 in run_forever
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/asyncio/base_events.py", line 628 in run_until_complete
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/test_asyncio/test_subprocess.py", line 442 in test_cancel_make_subprocess_transport_exec
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/case.py", line 549 in _callTestMethod
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/case.py", line 592 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/case.py", line 652 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/runner.py", line 176 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/support/__init__.py", line 959 in _run_suite
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/support/__init__.py", line 1082 in run_unittest
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 211 in _test_module
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 236 in _runtest_inner2
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 272 in _runtest_inner
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 142 in _runtest
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 195 in runtest
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest_mp.py", line 81 in run_tests_worker
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/main.py", line 659 in _main
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/main.py", line 639 in main
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/main.py", line 717 in main
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/regrtest.py", line 43 in _main
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/regrtest.py", line 47 in <module>
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/runpy.py", line 87 in _run_code
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/runpy.py", line 197 in _run_module_as_main
Timeout (0:15:00)!
Thread 0x0000ffffbd784970 (most recent call first):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/selectors.py", line 469 in select
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/asyncio/base_events.py", line 1845 in _run_once
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/asyncio/base_events.py", line 595 in run_forever
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/asyncio/base_events.py", line 628 in run_until_complete
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/test_asyncio/test_subprocess.py", line 442 in test_cancel_make_subprocess_transport_exec
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/case.py", line 549 in _callTestMethod
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/case.py", line 592 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/case.py", line 652 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 122 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/suite.py", line 84 in __call__
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/unittest/runner.py", line 176 in run
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/support/__init__.py", line 959 in _run_suite
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/support/__init__.py", line 1082 in run_unittest
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 211 in _test_module
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 236 in _runtest_inner2
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 272 in _runtest_inner
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 155 in _runtest
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/runtest.py", line 195 in runtest
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/main.py", line 319 in rerun_failed_tests
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/main.py", line 696 in _main
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/main.py", line 639 in main
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/libregrtest/main.py", line 717 in main
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/test/__main__.py", line 2 in <module>
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/runpy.py", line 87 in _run_code
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/Lib/runpy.py", line 197 in _run_module_as_main
make: *** [Makefile:1240: buildbottest] Error 1

Cannot open file '/home/buildbot/buildarea/3.x.cstratak-RHEL8-aarch64/build/test-results.xml' for upload

@gpshead gpshead added the needs backport to 3.9 only security fixes label Mar 12, 2021
@miss-islington
Copy link
Contributor

Thanks @cdgriffith for the PR, and @gpshead for merging it 🌮🎉.. I'm working now to backport this PR to: 3.9.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Thanks @cdgriffith for the PR, and @gpshead for merging it 🌮🎉.. I'm working now to backport this PR to: 3.8.
🐍🍒⛏🤖

@gpshead gpshead added the type-bug An unexpected behavior, bug, or error label Mar 12, 2021
@bedevere-bot
Copy link

GH-24830 is a backport of this pull request to the 3.8 branch.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 12, 2021
…H-24777)

Check to make sure stdout and stderr are not empty before selecting an item from them in Windows subprocess._communicate.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit b4fc44b)

Co-authored-by: Chris Griffith <chris@cdgriffith.com>
@bedevere-bot
Copy link

GH-24831 is a backport of this pull request to the 3.9 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.9 only security fixes label Mar 12, 2021
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 12, 2021
…H-24777)

Check to make sure stdout and stderr are not empty before selecting an item from them in Windows subprocess._communicate.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit b4fc44b)

Co-authored-by: Chris Griffith <chris@cdgriffith.com>
miss-islington added a commit that referenced this pull request Mar 12, 2021
Check to make sure stdout and stderr are not empty before selecting an item from them in Windows subprocess._communicate.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit b4fc44b)

Co-authored-by: Chris Griffith <chris@cdgriffith.com>
miss-islington added a commit that referenced this pull request Mar 12, 2021
Check to make sure stdout and stderr are not empty before selecting an item from them in Windows subprocess._communicate.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit b4fc44b)

Co-authored-by: Chris Griffith <chris@cdgriffith.com>
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot x86 Windows7 3.8 has failed when building commit 1a5001c.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/270/builds/233) and take a look at the build logs.
  4. Check if the failure is related to this commit (1a5001c) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/270/builds/233

Summary of the results of the build (if available):

== Tests result: ENV CHANGED ==

392 tests OK.

10 slowest tests:

  • test_multiprocessing_spawn: 13 min 12 sec
  • test_zipfile: 8 min 53 sec
  • test_concurrent_futures: 6 min 6 sec
  • test_tarfile: 4 min 5 sec
  • test_regrtest: 4 min
  • test_pickle: 3 min 5 sec
  • test_asyncio: 2 min 44 sec
  • test_venv: 2 min 34 sec
  • test_lzma: 2 min 20 sec
  • test_compileall: 2 min 7 sec

1 test altered the execution environment:
test_multiprocessing_spawn

30 tests skipped:
test_curses test_dbm_gnu test_dbm_ndbm test_devpoll test_epoll
test_fcntl test_fork1 test_gdb test_grp test_ioctl test_kqueue
test_multiprocessing_fork test_multiprocessing_forkserver test_nis
test_openpty test_ossaudiodev test_pipes test_poll test_posix
test_pty test_pwd test_readline test_resource test_spwd
test_syslog test_threadsignals test_wait3 test_wait4
test_xxtestfuzz test_zipfile64

Total duration: 1 hour 1 min

Click to see traceback logs
remote: Enumerating objects: 9, done.        
remote: Counting objects:  11% (1/9)        
remote: Counting objects:  22% (2/9)        
remote: Counting objects:  33% (3/9)        
remote: Counting objects:  44% (4/9)        
remote: Counting objects:  55% (5/9)        
remote: Counting objects:  66% (6/9)        
remote: Counting objects:  77% (7/9)        
remote: Counting objects:  88% (8/9)        
remote: Counting objects: 100% (9/9)        
remote: Counting objects: 100% (9/9), done.        
remote: Compressing objects:  50% (1/2)        
remote: Compressing objects: 100% (2/2)        
remote: Compressing objects: 100% (2/2), done.        
remote: Total 9 (delta 7), reused 8 (delta 7), pack-reused 0        
From https://github.com/python/cpython
 * branch            3.8        -> FETCH_HEAD
Reset branch '3.8'

The term 'Invoke-WebRequest' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At line:1 char:18
+ Invoke-WebRequest <<<<  https://aka.ms/nugetclidl -OutFile 'D:\cygwin\home\db
3l\buildarea\3.8.bolen-windows7\build\Tools\buildbot\..\..\PCbuild\..\externals
\nuget.exe'
    + CategoryInfo          : ObjectNotFound: (Invoke-WebRequest:String) [], C 
   ommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
'py' is not recognized as an internal or external command,
operable program or batch file.
'"D:\cygwin\home\db3l\buildarea\3.8.bolen-windows7\build\Tools\buildbot\..\..\PCbuild\..\externals\nuget.exe"' is not recognized as an internal or external command,
operable program or batch file.
The term 'Invoke-WebRequest' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At line:1 char:18
+ Invoke-WebRequest <<<<  https://aka.ms/nugetclidl -OutFile 'D:\cygwin\home\db
3l\buildarea\3.8.bolen-windows7\build\Tools\buildbot\..\..\PCbuild\..\externals
\nuget.exe'
    + CategoryInfo          : ObjectNotFound: (Invoke-WebRequest:String) [], C 
   ommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
'py' is not recognized as an internal or external command,
operable program or batch file.
'"D:\cygwin\home\db3l\buildarea\3.8.bolen-windows7\build\Tools\buildbot\..\..\PCbuild\..\externals\nuget.exe"' is not recognized as an internal or external command,
operable program or batch file.
Could Not Find D:\cygwin\home\db3l\buildarea\3.8.bolen-windows7\build\Lib\*.pyc
The system cannot find the file specified.
Could Not Find D:\cygwin\home\db3l\buildarea\3.8.bolen-windows7\build\PCbuild\python*.zip
The term 'Invoke-WebRequest' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At line:1 char:18
+ Invoke-WebRequest <<<<  https://aka.ms/nugetclidl -OutFile 'D:\cygwin\home\db
3l\buildarea\3.8.bolen-windows7\build\PCbuild\\..\externals\nuget.exe'
    + CategoryInfo          : ObjectNotFound: (Invoke-WebRequest:String) [], C 
   ommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
'py' is not recognized as an internal or external command,
operable program or batch file.
'"D:\cygwin\home\db3l\buildarea\3.8.bolen-windows7\build\PCbuild\\..\externals\nuget.exe"' is not recognized as an internal or external command,
operable program or batch file.

test_openpty skipped -- os.openpty() not available.
test_readline skipped -- No module named 'readline'
test_poll skipped -- select.poll not defined
test_fork1 skipped -- object <module 'os' from 'D:\\cygwin\\home\\db3l\\buildarea\\3.8.bolen-windows7\\build\\lib\\os.py'> has no attribute 'fork'
test_multiprocessing_fork skipped -- fork is not available on Windows
test_threadsignals skipped -- Can't test signal on win32
test_zipfile64 skipped -- test requires loads of disk-space bytes and a long time to run
test_posix skipped -- No module named 'posix'
test_dbm_ndbm skipped -- No module named '_dbm'
test_gdb skipped -- Couldn't find gdb on the path
test_epoll skipped -- test works only on Linux 2.6
test_wait4 skipped -- object <module 'os' from 'D:\\cygwin\\home\\db3l\\buildarea\\3.8.bolen-windows7\\build\\lib\\os.py'> has no attribute 'fork'
test_grp skipped -- No module named 'grp'
test_pwd skipped -- No module named 'pwd'
Warning -- Dangling processes: {<SpawnProcess name='QueueManager-205' pid=3220 parent=540 started>}
test__all__ (test.test_multiprocessing_spawn.MiscTestCase) ... ok
test_answer_challenge_auth_failure (test.test_multiprocessing_spawn.OtherTest) ... ok
test_deliver_challenge_auth_failure (test.test_multiprocessing_spawn.OtherTest) ... ok
test_closefd (test.test_multiprocessing_spawn.TestCloseFds) ... ok
test_flags (test.test_multiprocessing_spawn.TestFlags) ... ok
test_lock (test.test_multiprocessing_spawn.TestForkAwareThreadLock) ... ok
test_ignore (test.test_multiprocessing_spawn.TestIgnoreEINTR) ... skipped 'requires SIGUSR1'
test_ignore_listener (test.test_multiprocessing_spawn.TestIgnoreEINTR) ... skipped 'requires SIGUSR1'
test_manager_initializer (test.test_multiprocessing_spawn.TestInitializers) ... ok
test_pool_initializer (test.test_multiprocessing_spawn.TestInitializers) ... ok
test_invalid_family (test.test_multiprocessing_spawn.TestInvalidFamily) ... skipped 'skipped on Windows'
test_invalid_family_win32 (test.test_multiprocessing_spawn.TestInvalidFamily) ... ok
test_invalid_handles (test.test_multiprocessing_spawn.TestInvalidHandle) ... skipped 'skipped on Windows'
test_noforkbomb (test.test_multiprocessing_spawn.TestNoForkBomb) ... ok
test_release_unused_processes (test.test_multiprocessing_spawn.TestPoolNotLeakOnFailure) ... ok
test_resource_tracker (test.test_multiprocessing_spawn.TestResourceTracker) ... skipped "test semantics don't make sense on Windows"
test_resource_tracker_reused (test.test_multiprocessing_spawn.TestResourceTracker) ... skipped "test semantics don't make sense on Windows"
test_resource_tracker_sigint (test.test_multiprocessing_spawn.TestResourceTracker) ... skipped "test semantics don't make sense on Windows"
test_resource_tracker_sigkill (test.test_multiprocessing_spawn.TestResourceTracker) ... skipped "test semantics don't make sense on Windows"
test_resource_tracker_sigterm (test.test_multiprocessing_spawn.TestResourceTracker) ... skipped "test semantics don't make sense on Windows"
test_empty (test.test_multiprocessing_spawn.TestSimpleQueue) ... ok
test_context (test.test_multiprocessing_spawn.TestStartMethod) ... ok
test_get_all (test.test_multiprocessing_spawn.TestStartMethod) ... ok
test_preload_resources (test.test_multiprocessing_spawn.TestStartMethod) ... skipped "test only relevant for 'forkserver' method"
test_set_get (test.test_multiprocessing_spawn.TestStartMethod) ... ok
test_flushing (test.test_multiprocessing_spawn.TestStdinBadfiledescriptor) ... ok
test_pool_in_process (test.test_multiprocessing_spawn.TestStdinBadfiledescriptor) ... ok
test_queue_in_process (test.test_multiprocessing_spawn.TestStdinBadfiledescriptor) ... ok
test_array (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_barrier (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_bounded_semaphore (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_condition (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_dict (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_event (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_joinable_queue (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_list (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_lock (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_namespace (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_pool (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_queue (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_rlock (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_semaphore (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_value (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_timeout (test.test_multiprocessing_spawn.TestTimeouts) ... ok
test_neg_timeout (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_integer (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_slow (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_socket (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_socket_slow (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_timeout (test.test_multiprocessing_spawn.TestWait) ... ok
test_abort (test.test_multiprocessing_spawn.WithManagerTestBarrier)
Test that an abort will put the barrier in a broken state ... ok
test_abort_and_reset (test.test_multiprocessing_spawn.WithManagerTestBarrier)
Test that a barrier can be reset after being broken. ... ok
test_action (test.test_multiprocessing_spawn.WithManagerTestBarrier)
Test the 'action' callback ... ok
test_barrier (test.test_multiprocessing_spawn.WithManagerTestBarrier)
Test that a barrier is passed in lockstep ... ok
test_barrier_10 (test.test_multiprocessing_spawn.WithManagerTestBarrier)
Test that a barrier works for 10 consecutive runs ... ok
test_default_timeout (test.test_multiprocessing_spawn.WithManagerTestBarrier)
Test the barrier's default timeout ... ok
test_reset (test.test_multiprocessing_spawn.WithManagerTestBarrier)
Test that a 'reset' on a barrier frees the waiting threads ... ok
test_single_thread (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_thousand (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... skipped 'test not appropriate for manager'
test_timeout (test.test_multiprocessing_spawn.WithManagerTestBarrier)
Test wait(timeout) ... ok
test_wait_return (test.test_multiprocessing_spawn.WithManagerTestBarrier)
test the return value from barrier.wait ... ok
test_notify (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_notify_all (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_notify_n (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_timeout (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_wait_result (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_waitfor (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_waitfor_timeout (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_dict (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_dict_iter (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_dict_proxy_nested (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_list (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_list_iter (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_list_proxy_in_list (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_namespace (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_event (test.test_multiprocessing_spawn.WithManagerTestEvent) ... ok
test_lock (test.test_multiprocessing_spawn.WithManagerTestLock) ... ok
test_lock_context (test.test_multiprocessing_spawn.WithManagerTestLock) ... ok
test_rlock (test.test_multiprocessing_spawn.WithManagerTestLock) ... ok
test_rapid_restart (test.test_multiprocessing_spawn.WithManagerTestManagerRestart) ... ok
test_mymanager (test.test_multiprocessing_spawn.WithManagerTestMyManager) ... ok
test_mymanager_context (test.test_multiprocessing_spawn.WithManagerTestMyManager) ... ok
test_mymanager_context_prestarted (test.test_multiprocessing_spawn.WithManagerTestMyManager) ... ok
test_apply (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_async (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_async_timeout (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_context (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_empty_iterable (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_enter (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not applicable to manager'
test_imap (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_imap_handle_iterable_exception (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not appropriate for manager'
test_imap_unordered (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_imap_unordered_handle_iterable_exception (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not appropriate for manager'
test_make_pool (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_async (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_async_callbacks (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_chunksize (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_handle_iterable_exception (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not appropriate for manager'
test_map_no_failfast (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_unplicklable (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_release_task_refs (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_resource_warning (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not applicable to manager'
test_starmap (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_starmap_async (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_terminate (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_traceback (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_wrapped_exception (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_closed_queue_put_get_exceptions (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_fork (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_get (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_no_import_lock_contention (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_put (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_qsize (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_queue_feeder_donot_stop_onexc (test.test_multiprocessing_spawn.WithManagerTestQueue) ... skipped 'test not appropriate for manager'
test_queue_feeder_on_queue_feeder_error (test.test_multiprocessing_spawn.WithManagerTestQueue) ... skipped 'test not appropriate for manager'
test_task_done (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_timeout (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_remote (test.test_multiprocessing_spawn.WithManagerTestRemoteManager) ... ok
test_bounded_semaphore (test.test_multiprocessing_spawn.WithManagerTestSemaphore) ... ok
test_semaphore (test.test_multiprocessing_spawn.WithManagerTestSemaphore) ... ok
test_timeout (test.test_multiprocessing_spawn.WithManagerTestSemaphore) ... skipped 'test not appropriate for manager'
test_array (test.test_multiprocessing_spawn.WithProcessesTestArray) ... ok
test_array_from_size (test.test_multiprocessing_spawn.WithProcessesTestArray) ... ok
test_getobj_getlock_obj (test.test_multiprocessing_spawn.WithProcessesTestArray) ... ok
test_rawarray (test.test_multiprocessing_spawn.WithProcessesTestArray) ... ok
test_abort (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
Test that an abort will put the barrier in a broken state ... ok
test_abort_and_reset (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
Test that a barrier can be reset after being broken. ... ok
test_action (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
Test the 'action' callback ... ok
test_barrier (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
Test that a barrier is passed in lockstep ... ok
test_barrier_10 (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
Test that a barrier works for 10 consecutive runs ... ok
test_default_timeout (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
Test the barrier's default timeout ... ok
test_reset (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
Test that a 'reset' on a barrier frees the waiting threads ... ok
test_single_thread (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_thousand (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_timeout (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
Test wait(timeout) ... ok
test_wait_return (test.test_multiprocessing_spawn.WithProcessesTestBarrier)
test the return value from barrier.wait ... ok
test_notify (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_notify_all (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_notify_n (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_timeout (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_wait_result (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_waitfor (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_waitfor_timeout (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_connection (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_context (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_duplex_false (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_fd_transfer (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_large_fd_transfer (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... skipped "test semantics don't make sense on Windows"
test_missing_fd_transfer (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... skipped "doesn't make sense on Windows"
test_sendbytes (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_spawn_close (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_event (test.test_multiprocessing_spawn.WithProcessesTestEvent) ... ok
test_finalize (test.test_multiprocessing_spawn.WithProcessesTestFinalize) ... ok
test_thread_safety (test.test_multiprocessing_spawn.WithProcessesTestFinalize) ... ok
test_free_from_gc (test.test_multiprocessing_spawn.WithProcessesTestHeap) ... ok
test_heap (test.test_multiprocessing_spawn.WithProcessesTestHeap) ... ok
test_abstract_socket (test.test_multiprocessing_spawn.WithProcessesTestListener) ... skipped 'test needs abstract socket support'
test_context (test.test_multiprocessing_spawn.WithProcessesTestListener) ... ok
test_multiple_bind (test.test_multiprocessing_spawn.WithProcessesTestListener) ... ok
test_issue14725 (test.test_multiprocessing_spawn.WithProcessesTestListenerClient) ... ok
test_issue16955 (test.test_multiprocessing_spawn.WithProcessesTestListenerClient) ... ok
test_listener_client (test.test_multiprocessing_spawn.WithProcessesTestListenerClient) ... ok
test_lock (test.test_multiprocessing_spawn.WithProcessesTestLock) ... ok
test_lock_context (test.test_multiprocessing_spawn.WithProcessesTestLock) ... ok
test_rlock (test.test_multiprocessing_spawn.WithProcessesTestLock) ... ok
test_enable_logging (test.test_multiprocessing_spawn.WithProcessesTestLogging) ... ok
test_level (test.test_multiprocessing_spawn.WithProcessesTestLogging) ... ok
test_rapid_restart (test.test_multiprocessing_spawn.WithProcessesTestManagerRestart) ... ok
test_access (test.test_multiprocessing_spawn.WithProcessesTestPicklingConnections) ... ok
test_pickling (test.test_multiprocessing_spawn.WithProcessesTestPicklingConnections) ... ok
test_boundaries (test.test_multiprocessing_spawn.WithProcessesTestPoll) ... ok
test_dont_merge (test.test_multiprocessing_spawn.WithProcessesTestPoll) ... ok
test_empty_string (test.test_multiprocessing_spawn.WithProcessesTestPoll) ... ok
test_strings (test.test_multiprocessing_spawn.WithProcessesTestPoll) ... ok
test_poll_eintr (test.test_multiprocessing_spawn.WithProcessesTestPollEintr) ... skipped 'requires SIGUSR1'
test_apply (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_async (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_async_timeout (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_context (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_empty_iterable (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_enter (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_imap (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_imap_handle_iterable_exception (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_imap_unordered (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_imap_unordered_handle_iterable_exception (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_make_pool (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_async (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_async_callbacks (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_chunksize (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_handle_iterable_exception (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_no_failfast (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_unplicklable (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_release_task_refs (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_resource_warning (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_starmap (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_starmap_async (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_terminate (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_traceback (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_wrapped_exception (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_async_error_callback (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerErrors) ... ok
test_unpickleable_result (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerErrors) ... ok
test_pool_worker_lifetime (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerLifetime) ... ok
test_pool_worker_lifetime_early_close (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerLifetime) ... ok
test_worker_finalization_via_atexit_handler_of_multiprocessing (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerLifetime) ... ok
test_active_children (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_child_fd_inflation (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_close (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_cpu_count (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_current (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_daemon_argument (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_error_on_stdio_flush_1 (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_error_on_stdio_flush_2 (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_forkserver_sigint (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... skipped 'test not appropriate for spawn'
test_forkserver_sigkill (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_kill (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_lose_target_ref (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_many_processes (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_parent_process (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_parent_process_attributes (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_process (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_process_mainthread_native_id (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_recursion (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_sentinel (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_terminate (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_wait_for_threads (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_closed_queue_put_get_exceptions (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_fork (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_get (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_no_import_lock_contention (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_put (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_qsize (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_queue_feeder_donot_stop_onexc (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_queue_feeder_on_queue_feeder_error (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_task_done (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_timeout (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_bounded_semaphore (test.test_multiprocessing_spawn.WithProcessesTestSemaphore) ... ok
test_semaphore (test.test_multiprocessing_spawn.WithProcessesTestSemaphore) ... ok
test_timeout (test.test_multiprocessing_spawn.WithProcessesTestSemaphore) ... ok
test_copy (test.test_multiprocessing_spawn.WithProcessesTestSharedCTypes) ... ok
test_sharedctypes (test.test_multiprocessing_spawn.WithProcessesTestSharedCTypes) ... ok
test_synchronize (test.test_multiprocessing_spawn.WithProcessesTestSharedCTypes) ... ok
test_shared_memory_ShareableList_basics (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_ShareableList_pickling (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_SharedMemoryManager_basics (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_SharedMemoryManager_reuses_resource_tracker (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... skipped 'resource_tracker is posix only'
test_shared_memory_SharedMemoryServer_ignores_sigint (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... skipped 'not feasible in non-posix platforms'
test_shared_memory_across_processes (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_basics (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_cleaned_after_process_termination (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_stderr_flush (test.test_multiprocessing_spawn.WithProcessesTestSubclassingProcess) ... ok
test_subclassing (test.test_multiprocessing_spawn.WithProcessesTestSubclassingProcess) ... ok
test_sys_exit (test.test_multiprocessing_spawn.WithProcessesTestSubclassingProcess) ... ok
test_getobj_getlock (test.test_multiprocessing_spawn.WithProcessesTestValue) ... ok
test_rawvalue (test.test_multiprocessing_spawn.WithProcessesTestValue) ... ok
test_value (test.test_multiprocessing_spawn.WithProcessesTestValue) ... ok
test_abort (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
Test that an abort will put the barrier in a broken state ... ok
test_abort_and_reset (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
Test that a barrier can be reset after being broken. ... ok
test_action (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
Test the 'action' callback ... ok
test_barrier (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
Test that a barrier is passed in lockstep ... ok
test_barrier_10 (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
Test that a barrier works for 10 consecutive runs ... ok
test_default_timeout (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
Test the barrier's default timeout ... ok
test_reset (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
Test that a 'reset' on a barrier frees the waiting threads ... ok
test_single_thread (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_thousand (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_timeout (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
Test wait(timeout) ... ok
test_wait_return (test.test_multiprocessing_spawn.WithThreadsTestBarrier)
test the return value from barrier.wait ... ok
test_notify (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_notify_all (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_notify_n (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_timeout (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_wait_result (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_waitfor (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_waitfor_timeout (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_connection (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... ok
test_context (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... ok
test_duplex_false (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... ok
test_fd_transfer (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... skipped 'only makes sense with processes'
test_large_fd_transfer (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... skipped "test semantics don't make sense on Windows"
test_missing_fd_transfer (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... skipped "doesn't make sense on Windows"
test_sendbytes (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... skipped 'test not appropriate for threads'
test_spawn_close (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... ok
test_event (test.test_multiprocessing_spawn.WithThreadsTestEvent) ... ok
test_issue14725 (test.test_multiprocessing_spawn.WithThreadsTestListenerClient) ... ok
test_issue16955 (test.test_multiprocessing_spawn.WithThreadsTestListenerClient) ... ok
test_listener_client (test.test_multiprocessing_spawn.WithThreadsTestListenerClient) ... ok
test_lock (test.test_multiprocessing_spawn.WithThreadsTestLock) ... ok
test_lock_context (test.test_multiprocessing_spawn.WithThreadsTestLock) ... ok
test_rlock (test.test_multiprocessing_spawn.WithThreadsTestLock) ... ok
test_rapid_restart (test.test_multiprocessing_spawn.WithThreadsTestManagerRestart) ... ok
test_boundaries (test.test_multiprocessing_spawn.WithThreadsTestPoll) ... ok
test_dont_merge (test.test_multiprocessing_spawn.WithThreadsTestPoll) ... ok
test_empty_string (test.test_multiprocessing_spawn.WithThreadsTestPoll) ... ok
test_strings (test.test_multiprocessing_spawn.WithThreadsTestPoll) ... ok
test_apply (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_async (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_async_timeout (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_context (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_empty_iterable (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_enter (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_imap (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_imap_handle_iterable_exception (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_imap_unordered (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_imap_unordered_handle_iterable_exception (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_make_pool (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_async (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_async_callbacks (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_chunksize (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_handle_iterable_exception (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_no_failfast (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_unplicklable (test.test_multiprocessing_spawn.WithThreadsTestPool) ... skipped 'test not appropriate for threads'
test_release_task_refs (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_resource_warning (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_starmap (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_starmap_async (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_terminate (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_traceback (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_wrapped_exception (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_active_children (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_child_fd_inflation (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_close (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_cpu_count (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_current (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_daemon_argument (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_error_on_stdio_flush_1 (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_error_on_stdio_flush_2 (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_forkserver_sigint (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_forkserver_sigkill (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_kill (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_lose_target_ref (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_many_processes (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_parent_process (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_parent_process_attributes (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_process (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_process_mainthread_native_id (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_recursion (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_sentinel (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_terminate (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_wait_for_threads (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_closed_queue_put_get_exceptions (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_fork (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_get (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_no_import_lock_contention (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_put (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_qsize (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_queue_feeder_donot_stop_onexc (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... skipped 'test not appropriate for threads'
test_queue_feeder_on_queue_feeder_error (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... skipped 'test not appropriate for threads'
test_task_done (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_timeout (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_bounded_semaphore (test.test_multiprocessing_spawn.WithThreadsTestSemaphore) ... ok
test_semaphore (test.test_multiprocessing_spawn.WithThreadsTestSemaphore) ... ok
test_timeout (test.test_multiprocessing_spawn.WithThreadsTestSemaphore) ... skipped 'test not appropriate for threads'
test_import (test.test_multiprocessing_spawn._TestImportStar) ... ok

----------------------------------------------------------------------

Ran 356 tests in 791.434s

OK (skipped=47)
test_syslog skipped -- No module named 'syslog'
test_fcntl skipped -- No module named 'fcntl'
test_pty skipped -- No module named 'termios'
test_kqueue skipped -- test works only on BSD
test_multiprocessing_forkserver skipped -- forkserver is not available on Windows
test_pipes skipped -- pipes module only works on posix
test_spwd skipped -- No module named 'spwd'
stty: standard input: Inappropriate ioctl for device
test_devpoll skipped -- test works only on Solaris OS family
test_ossaudiodev skipped -- No module named 'ossaudiodev'
test_xxtestfuzz skipped -- No module named '_xxtestfuzz'
minkernel\crts\ucrt\src\appcrt\lowio\write.cpp(49) : Assertion failed: (_osfile(fh) & FOPEN)
minkernel\crts\ucrt\src\appcrt\lowio\close.cpp(49) : Assertion failed: (_osfile(fh) & FOPEN)
minkernel\crts\ucrt\src\appcrt\lowio\close.cpp(49) : Assertion failed: (_osfile(fh) & FOPEN)
test_resource skipped -- No module named 'resource'
test_wait3 skipped -- os.fork not defined
test_ioctl skipped -- No module named 'fcntl'
test_nis skipped -- No module named 'nis'
test_curses skipped -- No module named '_curses'
test_dbm_gnu skipped -- No module named '_gdbm'
minkernel\crts\ucrt\src\appcrt\lowio\write.cpp(49) : Assertion failed: (_osfile(fh) & FOPEN)

The term 'Invoke-WebRequest' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At line:1 char:18
+ Invoke-WebRequest <<<<  https://aka.ms/nugetclidl -OutFile 'D:\cygwin\home\db
3l\buildarea\3.8.bolen-windows7\build\Tools\buildbot\..\..\PCbuild\..\externals
\nuget.exe'
    + CategoryInfo          : ObjectNotFound: (Invoke-WebRequest:String) [], C 
   ommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
'py' is not recognized as an internal or external command,
operable program or batch file.
'"D:\cygwin\home\db3l\buildarea\3.8.bolen-windows7\build\Tools\buildbot\..\..\PCbuild\..\externals\nuget.exe"' is not recognized as an internal or external command,
operable program or batch file.
The term 'Invoke-WebRequest' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At line:1 char:18
+ Invoke-WebRequest <<<<  https://aka.ms/nugetclidl -OutFile 'D:\cygwin\home\db
3l\buildarea\3.8.bolen-windows7\build\Tools\buildbot\..\..\PCbuild\..\externals
\nuget.exe'
    + CategoryInfo          : ObjectNotFound: (Invoke-WebRequest:String) [], C 
   ommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
'py' is not recognized as an internal or external command,
operable program or batch file.
'"D:\cygwin\home\db3l\buildarea\3.8.bolen-windows7\build\Tools\buildbot\..\..\PCbuild\..\externals\nuget.exe"' is not recognized as an internal or external command,
operable program or batch file.
Could Not Find D:\cygwin\home\db3l\buildarea\3.8.bolen-windows7\build\PCbuild\python*.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants