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

gh-90908: Document asyncio.Task.cancelling() and asyncio.Task.uncancel() #95253

Merged
merged 12 commits into from
Oct 1, 2022

Conversation

ambv
Copy link
Contributor

@ambv ambv commented Jul 25, 2022

@ambv ambv requested review from graingert and gvanrossum July 25, 2022 17:38
@ambv ambv requested review from 1st1 and asvetlov as code owners July 25, 2022 17:38
@bedevere-bot bedevere-bot added awaiting core review tests Tests in the Lib/test dir labels Jul 25, 2022
@ambv ambv added needs backport to 3.11 only security fixes docs Documentation in the Doc dir labels Jul 25, 2022
@gvanrossum
Copy link
Member

Can I wait until the other reviewers have done their thing? I'm kind of stressed for time right now.

@ambv
Copy link
Contributor Author

ambv commented Jul 25, 2022

@gvanrossum Take your time, we'll be shaping this into a final form over the next day or two. Thanks!

@ambv
Copy link
Contributor Author

ambv commented Jul 26, 2022

I'll deal with the code example separately but in general, I have this question: don't you think the ordering of documented methods on Task is somewhat awkward now?

How about instead of doing:

  • cancel()
  • cancelled()
  • cancelling()
  • uncancel()
  • done()
  • result()
  • exception()
  • add_done_callback()
  • remove_done_callback()
  • get_stack()
  • print_stack()
  • get_coro()
  • get_name()
  • set_name()

we could do:

  • done()
  • result()
  • exception()
  • add_done_callback()
  • remove_done_callback()
  • cancel()
  • cancelled()
  • cancelling()
  • uncancel()
  • get_stack()
  • print_stack()
  • get_coro()
  • get_name()
  • set_name()

Comment on lines +1114 to +1183
.. method:: cancel(msg=None)

Request the Task to be cancelled.

This arranges for a :exc:`CancelledError` exception to be thrown
into the wrapped coroutine on the next cycle of the event loop.

The coroutine then has a chance to clean up or even deny the
request by suppressing the exception with a :keyword:`try` ...
... ``except CancelledError`` ... :keyword:`finally` block.
Therefore, unlike :meth:`Future.cancel`, :meth:`Task.cancel` does
not guarantee that the Task will be cancelled, although
suppressing cancellation completely is not common and is actively
discouraged.

.. versionchanged:: 3.9
Added the *msg* parameter.

.. deprecated-removed:: 3.11 3.14
*msg* parameter is ambiguous when multiple :meth:`cancel`
are called with different cancellation messages.
The argument will be removed.

.. _asyncio_example_task_cancel:

The following example illustrates how coroutines can intercept
the cancellation request::

async def cancel_me():
print('cancel_me(): before sleep')

try:
# Wait for 1 hour
await asyncio.sleep(3600)
except asyncio.CancelledError:
print('cancel_me(): cancel sleep')
raise
finally:
print('cancel_me(): after sleep')

async def main():
# Create a "cancel_me" Task
task = asyncio.create_task(cancel_me())

# Wait for 1 second
await asyncio.sleep(1)

task.cancel()
try:
await task
except asyncio.CancelledError:
print("main(): cancel_me is cancelled now")

asyncio.run(main())

# Expected output:
#
# cancel_me(): before sleep
# cancel_me(): cancel sleep
# cancel_me(): after sleep
# main(): cancel_me is cancelled now

.. method:: cancelled()

Return ``True`` if the Task is *cancelled*.

The Task is *cancelled* when the cancellation was requested with
:meth:`cancel` and the wrapped coroutine propagated the
:exc:`CancelledError` exception thrown into it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This part is unchanged, only moved down. IMO cancellation isn't as important as getting other things out of a task. Plus this move allows us to keep cancel-specific methods next to each other, uncancel in particular being pretty low-level.

@ambv ambv force-pushed the document-asyncio-task-uncancel branch from ce195cb to 0203e01 Compare July 27, 2022 10:58
Doc/library/asyncio-task.rst Outdated Show resolved Hide resolved
Doc/library/asyncio-task.rst Outdated Show resolved Hide resolved
Doc/library/asyncio-task.rst Outdated Show resolved Hide resolved
Doc/library/asyncio-task.rst Show resolved Hide resolved
Comment on lines 1228 to 1229
continue running even in case of the timeout. This can be
implemented with :meth:`uncancel` as follows::
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure if we need to give an implementation of a structured concurrency primitive as an example in the docs, given that we don't expect (or want!) people to do this. I also don't have time to review the example carefully enough to trust it doesn't have bugs that would be replicated if people copy this example.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I moved the example to tests but kept it there as reference docs for our own purposes.

Comment on lines -246 to +247
This should be used by tasks that catch CancelledError
and wish to continue indefinitely until they are cancelled again.
This should be called by the party that called `cancel()` on the task
beforehand.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The previous docstring was invalid, we actively don't want for user code to call uncancel() when catching CancelledError.

finally:
loop.close()

def test_uncancel_structured_blocks(self):
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'd like you to look at this test and tell me if you think anything here (esp. the comments!) is not factual.

Copy link
Member

@gvanrossum gvanrossum left a comment

Choose a reason for hiding this comment

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

Sorry for the length of some of the comments. The history of uncancel() is complex:

  • Initially there was a boolean flag, and if it was already set, cancel() would return False early
  • Then there was a counter, and if it was already nonzero, cancel() would return False early
  • Finally the counter was "defanged" and cancel() would bump the counter but still always go through the rest of its routine

The logic bug in TaskGroup (#95289) doesn't help restore confidence. But I think the following guidelines are helpful:

  • Every structured concurrency primitive must use an internal flag that is set when it calls cancel().
  • It must check this flag when exiting and if set, call uncancel(), so it always has a balanced pair of cancel()/uncancel() calls.
  • If unstructured code calls cancel() without uncancel(), every structured concurrency primitive will act as if surrounded by yet another structured concurrency primitive that has called cancel() but hasn't called uncancel() yet.

Bug #95289 is about TaskGroup failing the second bullet when the CancellationError is suppressed or replaced with something else. The fix is to always check the flag and (if set) call uncancel(), even if no CancellationError was perceived -- because we know cancel() was called so we must call uncancel().

There is no similar bug in timeout because it doesn't check for CancelledError -- it only uses its internal state.

Doc/library/asyncio-task.rst Outdated Show resolved Hide resolved
Doc/library/asyncio-task.rst Outdated Show resolved Hide resolved
Comment on lines +1212 to +1216
While the block with ``make_request()`` and ``make_another_request()``
might get cancelled due to the timeout, ``unrelated_code()`` should
continue running even in case of the timeout. This is implemented
with :meth:`uncancel`. :class:`TaskGroup` context managers use
:func:`uncancel` in a similar fashion.
Copy link
Member

Choose a reason for hiding this comment

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

This seems to imply that without uncancel(), await unrelated_code() would be cancelled. But even with the most naive implementation possible using only primitives existing in 3.10, if except TimeoutError: is triggered, the following await will executed just fine. (In Trio this would not be the case, since cancellation there is level-triggered, i.e. once a task is cancelled it stays cancelled and specifically any further await will immediately be cancelled; but in asyncio cancellation is edge-triggered, and once the task has regained control, which the context manager can do, it is no longer cancelled.)

So why does uncancel() exist and need to be called? Because when structured concurrency primitives are nested, they may cancel the same task. The inner primitive(s) of these must let the CancellationError bubble out, while the outermost one must take the action it promises its caller (e.g. raise TimeoutError or raise an ExceptionGroup bundling the error(s) experienced by failed but not cancelled subtasks).

I think this means that to make the example meaningful, you'd have to nest two timeout blocks whose timers go off simultaneously. Then the inner one will raise CancellationError (so an except TimeoutError will not trigger!) and the outer one will raise TimeoutError.

It is not a coincidence that uncancel() is called in __aexit__() by both timeout and TaskGroup. The pattern is pretty much

  • some async event calls t.cancel() on some task, and sets an internal flag indicating it did so;
  • later, typically in __aexit__(), if the internal flag is set, t.uncancel() is called, and if it returns a value greater than zero, CancelledError is (re)raised (by returning None from __aexit__()!), else some other action is taken.

Doc/library/asyncio-task.rst Outdated Show resolved Hide resolved
Comment on lines +1223 to +1227
Note that if this number is greater than zero but the Task is
still executing, :meth:`cancelled` will still return ``False``.
This is because this number can be lowered by calling :meth:`uncancel`,
which can lead to the task not being cancelled after all if the
cancellation requests go down to zero.
Copy link
Member

Choose a reason for hiding this comment

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

This seems to imply that the effect of cancel() + uncancel() is a no-op, but I'm not sure that's always the case. Honestly after several attempts I'm still not sure how cancel() and __step() interacted even in 3.10. :-( But it seems at least possible that .cancel() sets _must_cancel which causes __step() to throw a CancelledError into the coroutine even if uncancel() is called immediately after cancel().

See also the comment added to cancel() starting with "These two lines are controversial."
(Also 7d611b4)

# a ConnectionLostError from a database client), simply
# propagate them.
#
# Those checks need to take place in this exact order to make
Copy link
Member

Choose a reason for hiding this comment

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

"Those checks" == (2), (4), (5), right? Because (1) and (3) don't describe "checks".

Other than that nit, these comments seem correct, and the code looks so too (but I'm not taking money :-).

(Another nit: the huge comment interrupts the logic. Maybe move it to the top of the test function?)

# cancellation request count go down to 0. We need to look
# at the counter vs having a simple boolean flag because our
# code might have been nested (think multiple timeouts). See
# commit 7fce1063b6e5a366f8504e039a8ccdd6944625cd for
Copy link
Member

Choose a reason for hiding this comment

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

Note that commit 7d611b4 changes the behavior again.

and task.uncancel() == 0
and sys.exc_info()[0] is asyncio.CancelledError
):
# Note the five rules that are needed here to satisfy proper
Copy link
Contributor

@graingert graingert Aug 4, 2022

Choose a reason for hiding this comment

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

Canceling the stimulus (timeouts), or guarding against cancelling after calling uncancel() (TaskGroup and Runner) I think is a sixth rule

Suggested change
# Note the five rules that are needed here to satisfy proper
# Note the six rules that are needed here to satisfy proper

@gvanrossum
Copy link
Member

Should this become a deferred blocker so we can land it in RC2?

@kumaraditya303
Copy link
Contributor

3.11 final is due next month, so it would be better to get this in earlier than release.

@gvanrossum
Copy link
Member

Assuming this passes the doc tests I'll just merge it, we can debate the remaining issues I had back in July later.

@gvanrossum gvanrossum merged commit f00645d into python:main Oct 1, 2022
@miss-islington
Copy link
Contributor

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

@bedevere-bot
Copy link

GH-97708 is a backport of this pull request to the 3.11 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.11 only security fixes label Oct 1, 2022
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 1, 2022
…ncancel() (pythonGH-95253)

Co-authored-by: Thomas Grainger <[email protected]>
(cherry picked from commit f00645d)

Co-authored-by: Łukasz Langa <[email protected]>
@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 Arch Linux Asan 3.x has failed when building commit f00645d.

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/582/builds/2109) and take a look at the build logs.
  4. Check if the failure is related to this commit (f00645d) 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/582/builds/2109

Failed tests:

  • test_embed

Failed subtests:

  • test_init_pyvenv_cfg - test.test_embed.InitConfigTests.test_init_pyvenv_cfg
  • test_init_pybuilddir - test.test_embed.InitConfigTests.test_init_pybuilddir

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

== Tests result: FAILURE then FAILURE ==

287 tests omitted:
test___future__ test__opcode test__osx_support
test__xxsubinterpreters test_abstract_numbers test_aifc
test_argparse test_array test_asdl_parser test_asyncgen
test_asyncore test_atexit test_audit test_base64
test_baseexception test_bdb test_bigaddrspace test_bigmem
test_binascii test_binop test_buffer test_bufio test_bytes
test_calendar test_capi test_cgi test_charmapcodec
test_check_c_globals test_cmd test_code_module test_codeccallbacks
test_codecencodings_cn test_codecencodings_hk
test_codecencodings_jp test_codecencodings_kr
test_codecencodings_tw test_codecmaps_cn test_codecmaps_hk
test_codecmaps_kr test_codecmaps_tw test_codecs test_collections
test_colorsys test_compare test_compileall test_complex
test_concurrent_futures test_configparser test_copy test_copyreg
test_coroutines test_csv test_ctypes test_dataclasses
test_datetime test_dbm_gnu test_dbm_ndbm test_decimal
test_decorators test_defaultdict test_deque test_descr test_dict
test_dict_version test_dictcomps test_dictviews test_difflib
test_dis test_doctest test_dynamic test_eintr test_email
test_ensurepip test_enum test_enumerate test_epoll
test_except_star test_exception_group test_exception_hierarchy
test_faulthandler test_file test_file_eintr test_filecmp
test_fileio test_fileutils test_finalization test_fnmatch
test_fractions test_frozen test_fstring test_ftplib test_funcattrs
test_future3 test_future4 test_future5 test_gc test_generator_stop
test_generators test_genericalias test_genericclass
test_genericpath test_genexps test_getargs2 test_getopt
test_getpath test_gettext test_glob test_global test_hash
test_hashlib test_heapq test_html test_htmlparser
test_http_cookies test_httplib test_imaplib test_import
test_importlib test_index test_inspect test_int test_io test_ioctl
test_ipaddress test_isinstance test_itertools test_json
test_keyword test_kqueue test_largefile test_launcher test_list
test_lltrace test_long test_lzma test_mailcap test_marshal
test_mimetypes test_minidom test_modulefinder test_msilib
test_multibytecodec test_multiprocessing_fork
test_multiprocessing_forkserver test_multiprocessing_main_handling
test_multiprocessing_spawn test_netrc test_nis test_nntplib
test_ntpath test_numeric_tower test_opcache test_opcodes
test_openpty test_operator test_optparse test_pathlib test_patma
test_pdb test_peepholer test_perf_profiler test_pickle
test_pickletools test_pipes test_pkg test_platform test_plistlib
test_poll test_popen test_poplib test_positional_only_arg
test_posix test_posixpath test_print test_profile test_py_compile
test_pyclbr test_pyexpat test_queue test_quopri test_random
test_range test_re test_readline test_richcmp test_rlcompleter
test_runpy test_sax test_sched test_script_helper test_select
test_setcomps test_shelve test_shlex test_shutil test_signal
test_site test_slice test_smtplib test_smtpnet test_sndhdr
test_socket test_socketserver test_sort test_source_encoding
test_sqlite3 test_strftime test_string_literals test_stringprep
test_strptime test_strtod test_structmembers test_structseq
test_subclassinit test_subprocess test_sunau test_sundry
test_super test_support test_symtable test_syntax test_sys
test_sys_setprofile test_sysconfig test_syslog test_tarfile
test_tempfile test_threadedtempfile test_threading
test_threading_local test_threadsignals test_time test_timeit
test_timeout test_tix test_tkinter test_tokenize test_tools
test_traceback test_tracemalloc test_ttk test_ttk_textonly
test_type_annotations test_type_comments test_types test_typing
test_ucn test_unary test_unicode_file test_unicode_identifiers
test_unicodedata test_univnewlines test_unpack test_unparse
test_urllib test_urllib2 test_urllib2_localnet test_urllib2net
test_urllib_response test_urllibnet test_urlparse test_userdict
test_userlist test_utf8source test_uu test_uuid test_venv
test_wait3 test_wait4 test_warnings test_wave test_webbrowser
test_winconsoleio test_winreg test_winsound test_with test_wmi
test_wsgiref test_xdrlib test_xmlrpc_net test_xxlimited
test_xxtestfuzz test_yield_from test_zipfile test_zipfile64
test_zipimport_support test_zoneinfo

141 tests OK.

10 slowest tests:

  • test_asyncio: 1 min 21 sec
  • test_lib2to3: 1 min 1 sec
  • test_gdb: 30.3 sec
  • test_xmlrpc: 28.0 sec
  • test_weakref: 27.8 sec
  • test_logging: 24.2 sec
  • test_mailbox: 23.9 sec
  • test_statistics: 20.8 sec
  • test_selectors: 19.5 sec
  • test_regrtest: 18.4 sec

1 test failed:
test_embed

8 tests skipped:
test___all__ test_clinic test_crypt test_devpoll test_distutils
test_idle test_peg_generator test_startfile

1 re-run test:
test_embed

Total duration: 4 min 45 sec

Click to see traceback logs
Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/test/test_embed.py", line 1452, in test_init_pyvenv_cfg
    with self.tmpdir_with_python() as tmpdir, \
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/test/test_embed.py", line 1239, in tmpdir_with_python
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmp8afqhhii'


Traceback (most recent call last):
Warning --   File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/test/libregrtest/runtest_mp.py", line 334, in run
Warning --     mp_result = self._runtest(test_name)
Warning --                 ^^^^^^^^^^^^^^^^^^^^^^^^
Warning --   File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/test/libregrtest/runtest_mp.py", line 282, in _runtest
Warning --     tmp_dir = tempfile.mkdtemp(prefix="test_python_")
Warning --               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning --   File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/tempfile.py", line 368, in mkdtemp
Warning --     _os.mkdir(file, 0o700)
Warning -- OSError: [Errno 28] No space left on device: '/tmp/test_python_3uomo41r'
Kill <TestWorkerProcess #2 running test=test_decimal pid=3542557 time=18.2 sec> process group


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/test/test_embed.py", line 1377, in test_init_pybuilddir
    with self.tmpdir_with_python() as tmpdir:
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/test/test_embed.py", line 1239, in tmpdir_with_python
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpi5p8e3sq'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/test/test_embed.py", line 1453, in test_init_pyvenv_cfg
    tempfile.TemporaryDirectory() as pyvenv_home:
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_qv4hfavy/tmp4ztbqegc'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan/build/Lib/test/test_embed.py", line 1385, in test_init_pybuilddir
    os.mkdir(libdir)
OSError: [Errno 28] No space left on device: '/tmp/test_python_qv4hfavy/tmpmhuba6rp/libdir'

@gvanrossum
Copy link
Member

I thought this was a docs only PR, but it updates a test. Presumably that’s what caused the buildbot failure?

I can look into this tomorrow.

@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 Arch Linux Asan Debug 3.x has failed when building commit f00645d.

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/585/builds/2118) and take a look at the build logs.
  4. Check if the failure is related to this commit (f00645d) 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/585/builds/2118

Failed tests:

  • test_embed
  • test_ensurepip
  • test_zipfile

Failed subtests:

  • test_bootstrapping_with_verbosity_3 - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_verbosity_3
  • test_version - test.test_ensurepip.TestPackages.test_version
  • test_bootstrapping_with_alt_install - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_alt_install
  • test_init_pybuilddir - test.test_embed.InitConfigTests.test_init_pybuilddir
  • test_bootstrapping_with_default_pip - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_default_pip
  • test_bootstrapping_with_regular_install - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_regular_install
  • test_bootstrapping_with_root - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_root
  • test_basic_bootstrapping - test.test_ensurepip.TestBootstrappingMainFunction.test_basic_bootstrapping
  • test_init_pyvenv_cfg - test.test_embed.InitConfigTests.test_init_pyvenv_cfg
  • test_bootstrapping_with_user - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_user
  • test_bootstrapping_error_code - test.test_ensurepip.TestBootstrappingMainFunction.test_bootstrapping_error_code
  • test_pip_environment_variables_removed - test.test_ensurepip.TestBootstrap.test_pip_environment_variables_removed
  • test_get_packages_with_dir - test.test_ensurepip.TestPackages.test_get_packages_with_dir
  • test_write_filtered_python_package - test.test_zipfile.PyZipFileTests.test_write_filtered_python_package
  • test_pip_config_file_disabled - test.test_ensurepip.TestBootstrap.test_pip_config_file_disabled
  • test_bootstrapping_with_upgrade - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_upgrade
  • test_bootstrapping_with_verbosity_1 - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_verbosity_1
  • test_bootstrapping_with_verbosity_2 - test.test_ensurepip.TestBootstrap.test_bootstrapping_with_verbosity_2
  • test_basic_bootstrapping - test.test_ensurepip.TestBootstrap.test_basic_bootstrapping

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

== Tests result: FAILURE then FAILURE ==

299 tests omitted:
test___all__ test__opcode test__osx_support
test__xxsubinterpreters test_aifc test_argparse test_asdl_parser
test_ast test_asyncgen test_asyncio test_atexit test_augassign
test_base64 test_baseexception test_bdb test_bigaddrspace
test_bigmem test_bisect test_bool test_bz2 test_c_locale_coercion
test_calendar test_call test_cgi test_cgitb test_check_c_globals
test_class test_cmd test_cmd_line test_cmd_line_script
test_code_module test_codecencodings_cn
test_codecencodings_iso2022 test_codecencodings_jp
test_codecencodings_kr test_codecmaps_cn test_codecmaps_hk
test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw
test_collections test_colorsys test_compile test_compileall
test_concurrent_futures test_configparser test_contains
test_context test_contextlib test_contextlib_async test_cppext
test_cprofile test_crashers test_crypt test_csv test_ctypes
test_datetime test_dbm test_dbm_dumb test_dbm_ndbm test_decimal
test_decorators test_defaultdict test_deque test_descr
test_descrtut test_devpoll test_dict test_dictcomps test_dictviews
test_difflib test_dis test_distutils test_doctest test_doctest2
test_docxmlrpc test_dtrace test_dynamic test_eintr test_enumerate
test_eof test_errno test_except_star test_exception_group
test_exception_hierarchy test_exception_variations test_exceptions
test_extcall test_faulthandler test_fcntl test_file test_filecmp
test_finalization test_float test_flufl test_fnmatch test_fork1
test_format test_fractions test_frame test_frozen test_fstring
test_funcattrs test_future3 test_future4 test_future5 test_gdb
test_generator_stop test_generators test_genericalias
test_genericclass test_getargs2 test_getopt test_getpass
test_getpath test_glob test_global test_grp test_gzip test_hashlib
test_hmac test_html test_http_cookiejar test_httplib test_idle
test_imghdr test_imp test_import test_importlib test_int
test_int_literal test_io test_ipaddress test_isinstance
test_itertools test_json test_keyword test_keywordonlyarg
test_kqueue test_largefile test_launcher test_list test_listcomps
test_locale test_logging test_long test_longexp test_lzma
test_mailbox test_mailcap test_marshal test_memoryio
test_metaclass test_minidom test_mmap test_multibytecodec
test_multiprocessing_fork test_multiprocessing_main_handling
test_multiprocessing_spawn test_named_expressions test_netrc
test_nis test_nntplib test_ntpath test_opcache test_opcodes
test_optparse test_ordered_dict test_os test_ossaudiodev
test_patma test_peepholer test_peg_generator test_pep646_syntax
test_perf_profiler test_picklebuffer test_pickletools test_pkgutil
test_platform test_plistlib test_positional_only_arg test_posix
test_posixpath test_pow test_profile test_pstats test_pty
test_pulldom test_py_compile test_pyclbr test_pydoc test_pyexpat
test_queue test_quopri test_raise test_random test_range
test_regrtest test_resource test_richcmp test_robotparser
test_runpy test_sax test_sched test_script_helper test_secrets
test_select test_selectors test_set test_setcomps test_shlex
test_shutil test_smtplib test_sndhdr test_socket test_socketserver
test_sort test_sqlite3 test_ssl test_startfile test_stat
test_statistics test_strftime test_string_literals test_strptime
test_strtod test_structmembers test_structseq test_subclassinit
test_sunau test_support test_symtable test_syntax test_sys
test_sys_setprofile test_sysconfig test_syslog test_telnetlib
test_tempfile test_textwrap test_thread test_threadedtempfile
test_threading test_threading_local test_threadsignals test_timeit
test_timeout test_tkinter test_tomllib test_trace test_traceback
test_tracemalloc test_ttk test_tuple test_turtle test_type_cache
test_type_comments test_typechecks test_types test_typing
test_unicode test_unicode_file_functions test_unittest test_unpack
test_unpack_ex test_unparse test_urllib test_urllib2
test_urllib2_localnet test_urllib2net test_urlparse test_userdict
test_utf8_mode test_utf8source test_uu test_uuid test_venv
test_wait3 test_warnings test_wave test_weakref test_weakset
test_webbrowser test_winconsoleio test_winreg test_winsound
test_with test_wsgiref test_xml_etree test_xml_etree_c test_xmlrpc
test_xxlimited test_xxtestfuzz test_yield_from test_zipapp
test_zipfile64 test_zipimport test_zipimport_support test_zlib

128 tests OK.

10 slowest tests:

  • test_subprocess: 3 min 13 sec
  • test_tokenize: 2 min 24 sec
  • test_capi: 1 min 46 sec
  • test_lib2to3: 1 min 34 sec
  • test_unicodedata: 1 min 18 sec
  • test_signal: 1 min 12 sec
  • test_pickle: 51.9 sec
  • test_zipfile: 31.6 sec
  • test_buffer: 30.4 sec
  • test_source_encoding: 30.3 sec

3 tests failed:
test_embed test_ensurepip test_zipfile

7 tests skipped:
test_clinic test_ioctl test_msilib test_multiprocessing_forkserver
test_tix test_tools test_wmi

3 re-run tests:
test_embed test_ensurepip test_zipfile

Total duration: 9 min 15 sec

Click to see traceback logs
Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 149, in test_bootstrapping_with_verbosity_2
    ensurepip.bootstrap(verbosity=2)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmplw4w7fhr'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 191, in test_pip_environment_variables_removed
    ensurepip.bootstrap()
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmp4695zjfv'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 179, in test_bootstrapping_with_default_pip
    ensurepip.bootstrap(default_pip=True)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpm34xth33'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_embed.py", line 1453, in test_init_pyvenv_cfg
    tempfile.TemporaryDirectory() as pyvenv_home:
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_xeezqzxm/tmps0tbon91'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 191, in test_pip_environment_variables_removed
    ensurepip.bootstrap()
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpvx7sj177'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 138, in test_bootstrapping_with_verbosity_1
    ensurepip.bootstrap(verbosity=1)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpi9rl2xud'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 90, in test_basic_bootstrapping
    ensurepip.bootstrap()
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpz4lebfh9'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 127, in test_bootstrapping_with_upgrade
    ensurepip.bootstrap(upgrade=True)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpbp2xv7ar'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 21, in test_version
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpjk989zea'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 171, in test_bootstrapping_with_regular_install
    ensurepip.bootstrap()
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpv5q3g8ii'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_embed.py", line 1377, in test_init_pybuilddir
    with self.tmpdir_with_python() as tmpdir:
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_embed.py", line 1239, in tmpdir_with_python
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpx1f3e1mw'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 127, in test_bootstrapping_with_upgrade
    ensurepip.bootstrap(upgrade=True)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmps36w8738'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_zipfile.py", line 1224, in test_write_filtered_python_package
    zipfp.writepy(packagedir)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/zipfile.py", line 2065, in writepy
    self.writepy(path, basename,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/zipfile.py", line 2052, in writepy
    fname, arcname = self._get_codename(initname[0:-3], basename)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/zipfile.py", line 2152, in _get_codename
    if _compile(file_py):
       ^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/zipfile.py", line 2115, in _compile
    py_compile.compile(file, doraise=True, optimize=optimize)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/py_compile.py", line 157, in compile
    os.makedirs(dirname)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/os.py", line 225, in makedirs
    mkdir(name, mode)
OSError: [Errno 28] No space left on device: '/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ctypes/__pycache__'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 326, in test_bootstrapping_error_code
    exit_code = ensurepip._main([])
                ^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 286, in _main
    return _bootstrap(
           ^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmphnxdu8mt'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 46, in test_get_packages_with_dir
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmp2n89pxo8'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 179, in test_bootstrapping_with_default_pip
    ensurepip.bootstrap(default_pip=True)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpn1p30j44'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 138, in test_bootstrapping_with_verbosity_1
    ensurepip.bootstrap(verbosity=1)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmp51iqvyev'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 326, in test_bootstrapping_error_code
    exit_code = ensurepip._main([])
                ^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 286, in _main
    return _bootstrap(
           ^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmphw5c4nc5'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 116, in test_bootstrapping_with_user
    ensurepip.bootstrap(user=True)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmplbsw37ti'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 310, in test_basic_bootstrapping
    exit_code = ensurepip._main([])
                ^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 286, in _main
    return _bootstrap(
           ^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpvugbap7j'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 21, in test_version
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmp_6raq5yi'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 46, in test_get_packages_with_dir
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpz3_9854a'


Traceback (most recent call last):
Warning --   File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/libregrtest/runtest_mp.py", line 334, in run
Warning --     mp_result = self._runtest(test_name)
Warning --                 ^^^^^^^^^^^^^^^^^^^^^^^^
Warning --   File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/libregrtest/runtest_mp.py", line 282, in _runtest
Warning --     tmp_dir = tempfile.mkdtemp(prefix="test_python_")
Warning --               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning --   File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
Warning --     _os.mkdir(file, 0o700)
Warning -- OSError: [Errno 28] No space left on device: '/tmp/test_python__ujy_jf1'
Kill <TestWorkerProcess #2 running test=test_urllib pid=3559186 time=1.0 sec> process group


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 160, in test_bootstrapping_with_verbosity_3
    ensurepip.bootstrap(verbosity=3)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpigfke03w'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 197, in test_pip_config_file_disabled
    ensurepip.bootstrap()
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpdv5zw_pj'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_embed.py", line 1452, in test_init_pyvenv_cfg
    with self.tmpdir_with_python() as tmpdir, \
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_embed.py", line 1239, in tmpdir_with_python
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpziqvpxki'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 171, in test_bootstrapping_with_regular_install
    ensurepip.bootstrap()
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpxmskvql4'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 175, in test_bootstrapping_with_alt_install
    ensurepip.bootstrap(altinstall=True)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpcdrit_f3'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 197, in test_pip_config_file_disabled
    ensurepip.bootstrap()
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpe4h4zqh6'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_embed.py", line 1385, in test_init_pybuilddir
    os.mkdir(libdir)
OSError: [Errno 28] No space left on device: '/tmp/test_python_xeezqzxm/tmp8jnddm85/libdir'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 160, in test_bootstrapping_with_verbosity_3
    ensurepip.bootstrap(verbosity=3)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpck7g314z'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 104, in test_bootstrapping_with_root
    ensurepip.bootstrap(root="/foo/bar/")
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmphp9rrmq6'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 310, in test_basic_bootstrapping
    exit_code = ensurepip._main([])
                ^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 286, in _main
    return _bootstrap(
           ^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmpcfz923ok'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 90, in test_basic_bootstrapping
    ensurepip.bootstrap()
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmppg_1lctz'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 149, in test_bootstrapping_with_verbosity_2
    ensurepip.bootstrap(verbosity=2)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpe9n_altl'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 104, in test_bootstrapping_with_root
    ensurepip.bootstrap(root="/foo/bar/")
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/tmps20r8ab8'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 116, in test_bootstrapping_with_user
    ensurepip.bootstrap(user=True)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmp6029zjet'


Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/test/test_ensurepip.py", line 175, in test_bootstrapping_with_alt_install
    ensurepip.bootstrap(altinstall=True)
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 135, in bootstrap
    _bootstrap(root=root, upgrade=upgrade, user=user,
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/ensurepip/__init__.py", line 169, in _bootstrap
    with tempfile.TemporaryDirectory() as tmpdir:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 854, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/buildbot/buildarea/3.x.pablogsal-arch-x86_64.asan_debug/build/Lib/tempfile.py", line 368, in mkdtemp
    _os.mkdir(file, 0o700)
OSError: [Errno 28] No space left on device: '/tmp/test_python_m00bzbn7/tmpddvkyiql'

@gvanrossum
Copy link
Member

Then again how could test_embed be affected?

miss-islington added a commit that referenced this pull request Oct 1, 2022
…l() (GH-95253)

Co-authored-by: Thomas Grainger <[email protected]>
(cherry picked from commit f00645d)

Co-authored-by: Łukasz Langa <[email protected]>
serhiy-storchaka pushed a commit to serhiy-storchaka/cpython that referenced this pull request Oct 2, 2022
@gvanrossum
Copy link
Member

More recent runs of the same buildbot passed, so I conclude this was a flake.

pablogsal pushed a commit that referenced this pull request Oct 24, 2022
…l() (GH-95253)

Co-authored-by: Thomas Grainger <[email protected]>
(cherry picked from commit f00645d)

Co-authored-by: Łukasz Langa <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation in the Doc dir skip news tests Tests in the Lib/test dir
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants