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-71052: Enable test_concurrent_futures on platforms that support threading but not multiprocessing #115917

Merged
merged 1 commit into from
Feb 25, 2024

Conversation

mhsmith
Copy link
Member

@mhsmith mhsmith commented Feb 25, 2024

test_concurrent_futures was previously skipped on platforms that don't support multiprocessing. Android and iOS don't support multiprocessing, but they do support threading, so this PR gives them test coverage of the threading-related parts of concurrent.futures. A couple of more focused skips were added to exclude the process-related tests.

I also had to remove an unused import of _multiprocessing from multiprocessing.queues. This allows multiprocessing.queues to be imported on platforms that don't support multiprocessing, as long as the code doesn't actually create a queue.

Other places which are helped by this change include:

  • test___all__, which no longer needs a multiprocessing-specific workaround.

  • logging.config, which imports multiprocessing.queue only to do an isinstance check. No code changes were required here.

@mhsmith
Copy link
Member Author

mhsmith commented Feb 25, 2024

@gpshead: I think CODEOWNERS should probably have matched you for this PR.

@gpshead gpshead added 3.12 bugs and security fixes tests Tests in the Lib/test dir labels Feb 25, 2024
@gpshead gpshead merged commit 4827968 into python:main Feb 25, 2024
36 checks passed
@gpshead gpshead added needs backport to 3.12 bug and security fixes and removed 3.12 bugs and security fixes labels Feb 25, 2024
@miss-islington-app
Copy link

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

@miss-islington-app
Copy link

Sorry, @mhsmith and @gpshead, I could not cleanly backport this to 3.12 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 4827968af87d828554c3fadd97094c97798541b4 3.12

@gpshead gpshead removed the needs backport to 3.12 bug and security fixes label Feb 25, 2024
@gpshead
Copy link
Member

gpshead commented Feb 25, 2024

not worried about backporting, for primarily test only cleanup changes if they backport smoothly it is a mere convenience.

@bedevere-bot
Copy link

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

Hi! The buildbot wasm32-wasi Non-Debug 3.x has failed when building commit 4827968.

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

Failed tests:

  • test.test_concurrent_futures.test_thread_pool
  • test.test_concurrent_futures.test_future
  • test.test_concurrent_futures.test_as_completed
  • test.test_concurrent_futures.test_init
  • test.test_concurrent_futures.test_shutdown
  • test.test_concurrent_futures.test_wait

Failed subtests:

  • test_pending_calls_race - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_pending_calls_race
  • test_idle_thread_reuse - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_idle_thread_reuse
  • test_submit_keyword - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_submit_keyword
  • test_first_exception - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception
  • test_hang_issue12364 - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_hang_issue12364
  • test_threads_terminate - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_threads_terminate
  • test_shutdown_no_wait - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_shutdown_no_wait
  • test_first_completed - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_completed
  • test_thread_names_assigned - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_thread_names_assigned
  • test_thread_names_default - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_thread_names_default
  • test_initializer - test.test_concurrent_futures.test_init.ThreadPoolFailingInitializerTest.test_initializer
  • test_result_with_success - test.test_concurrent_futures.test_future.FutureTests.test_result_with_success
  • test_all_completed - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_all_completed
  • test_initializer - test.test_concurrent_futures.test_init.ThreadPoolInitializerTest.test_initializer
  • test_map - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_map
  • test_no_stale_references - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_no_stale_references
  • test_exception_with_success - test.test_concurrent_futures.test_future.FutureTests.test_exception_with_success
  • test_map_exception - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_map_exception
  • test_map_timeout - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_map_timeout
  • test_timeout - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_timeout
  • test_free_reference - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_free_reference
  • test_saturation - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_saturation
  • test_del_shutdown - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_del_shutdown
  • test_shutdown_race_issue12456 - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_shutdown_race_issue12456
  • test_duplicate_futures - test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_duplicate_futures
  • test_first_exception_some_already_complete - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception_some_already_complete
  • test_20369 - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_20369
  • test_context_manager_shutdown - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_context_manager_shutdown
  • test_cancel_futures - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_cancel_futures
  • test_result_with_cancel - test.test_concurrent_futures.test_future.FutureTests.test_result_with_cancel
  • test_executor_map_current_future_cancel - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_executor_map_current_future_cancel
  • test_submit - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_submit
  • test_no_timeout - test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_no_timeout
  • test_first_completed_some_already_completed - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_completed_some_already_completed
  • test_first_exception_one_already_failed - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception_one_already_failed

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

==

Click to see traceback logs
Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_thread_pool.py", line 46, in test_idle_thread_reuse
    executor.submit(mul, 21, 2).result()
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_future.py", line 222, in test_result_with_cancel
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_future.py", line 252, in test_exception_with_success
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 71, in test_first_exception_some_already_complete
    future1 = self.executor.submit(divmod, 21, 0)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 88, in test_no_stale_references
    fut = self.executor.submit(my_object.my_method)
          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 97, in test_all_completed
    future1 = self.executor.submit(divmod, 2, 0)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 30, in test_submit
    future = self.executor.submit(pow, 2, 8)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 117, in test_free_reference
    for obj in self.executor.map(make_dummy_object, range(10)):
               ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 87, in test_first_exception_one_already_failed
    future1 = self.executor.submit(time.sleep, 2)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_as_completed.py", line 51, in test_future_times_out
    future = self.executor.submit(time.sleep, short_timeout * 10)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 185, in test_del_shutdown
    res = executor.map(abs, range(-5, 5))
          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 81, in test_hang_issue12364
    fs = [self.executor.submit(time.sleep, 0.1) for _ in range(50)]
          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 62, in test_map_timeout
    for i in self.executor.map(time.sleep,
             ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
                               [0, 0, 6],
                               ^^^^^^^^^^
                               timeout=5):
                               ^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 77, in test_shutdown_race_issue12456
    self.executor.map(str, [2] * (self.worker_count + 1))
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 119, in test_timeout
    future = self.executor.submit(time.sleep, long_timeout)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_future.py", line 208, in test_result_with_success
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_as_completed.py", line 69, in test_duplicate_futures
    future1 = self.executor.submit(time.sleep, 2)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 177, in test_context_manager_shutdown
    self.assertEqual(list(e.map(abs, range(-5, 5))),
                          ~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 200, in test_shutdown_no_wait
    res = executor.map(abs, range(-5, 5))
          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_thread_pool.py", line 22, in test_map_submits_without_iteration
    self.executor.map(record_finished, range(10))
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 214, in test_thread_names_assigned
    executor.map(abs, range(-5, 5))
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 88, in test_cancel_futures
    fs = [self.executor.submit(time.sleep, .1) for _ in range(50)]
          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_init.py", line 75, in test_initializer
    future = self.executor.submit(get_init_status)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 59, in test_first_exception
    future1 = self.executor.submit(mul, 2, 21)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 45, in test_map
    list(self.executor.map(pow, range(10), range(10))),
         ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 166, in test_threads_terminate
    self.executor.submit(acquire_lock, sem)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 27, in test_20369
    future = self.executor.submit(time.sleep, 1.5)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 53, in test_map_exception
    i = self.executor.map(divmod, [1, 1, 1, 1], [2, 3, 0, 5])
        ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_init.py", line 47, in test_initializer
    futures = [self.executor.submit(get_init_status)
               ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 35, in test_first_completed
    future1 = self.executor.submit(mul, 21, 2)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 147, in test_pending_calls_race
    fs = {self.executor.submit(future_func) for i in range(100)}
          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 46, in test_first_completed_some_already_completed
    future1 = self.executor.submit(time.sleep, 1.5)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 34, in test_submit_keyword
    future = self.executor.submit(mul, 2, y=8)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_as_completed.py", line 23, in test_no_timeout
    future1 = self.executor.submit(mul, 2, 21)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_thread_pool.py", line 80, in test_executor_map_current_future_cancel
    fut = pool.submit(log_n_wait, ident="first")
          ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_thread_pool.py", line 38, in test_saturation
    executor.submit(acquire_lock, sem)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 225, in test_thread_names_default
    executor.map(abs, range(-5, 5))
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread

@bedevere-bot
Copy link

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

Hi! The buildbot wasm32-wasi 3.x has failed when building commit 4827968.

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

Failed tests:

  • test.test_concurrent_futures.test_thread_pool
  • test.test_concurrent_futures.test_future
  • test.test_concurrent_futures.test_as_completed
  • test.test_concurrent_futures.test_init
  • test.test_concurrent_futures.test_shutdown
  • test.test_concurrent_futures.test_wait

Failed subtests:

  • test_pending_calls_race - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_pending_calls_race
  • test_idle_thread_reuse - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_idle_thread_reuse
  • test_submit_keyword - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_submit_keyword
  • test_first_exception - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception
  • test_hang_issue12364 - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_hang_issue12364
  • test_threads_terminate - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_threads_terminate
  • test_shutdown_no_wait - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_shutdown_no_wait
  • test_first_completed - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_completed
  • test_thread_names_assigned - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_thread_names_assigned
  • test_thread_names_default - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_thread_names_default
  • test_initializer - test.test_concurrent_futures.test_init.ThreadPoolFailingInitializerTest.test_initializer
  • test_result_with_success - test.test_concurrent_futures.test_future.FutureTests.test_result_with_success
  • test_all_completed - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_all_completed
  • test_initializer - test.test_concurrent_futures.test_init.ThreadPoolInitializerTest.test_initializer
  • test_map - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_map
  • test_no_stale_references - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_no_stale_references
  • test_map_exception - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_map_exception
  • test_exception_with_success - test.test_concurrent_futures.test_future.FutureTests.test_exception_with_success
  • test_map_timeout - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_map_timeout
  • test_timeout - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_timeout
  • test_free_reference - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_free_reference
  • test_saturation - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_saturation
  • test_del_shutdown - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_del_shutdown
  • test_shutdown_race_issue12456 - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_shutdown_race_issue12456
  • test_duplicate_futures - test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_duplicate_futures
  • test_first_exception_some_already_complete - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception_some_already_complete
  • test_20369 - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_20369
  • test_context_manager_shutdown - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_context_manager_shutdown
  • test_cancel_futures - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_cancel_futures
  • test_executor_map_current_future_cancel - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_executor_map_current_future_cancel
  • test_result_with_cancel - test.test_concurrent_futures.test_future.FutureTests.test_result_with_cancel
  • test_submit - test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_submit
  • test_no_timeout - test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_no_timeout
  • test_first_completed_some_already_completed - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_completed_some_already_completed
  • test_first_exception_one_already_failed - test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception_one_already_failed

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

==

Click to see traceback logs
Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_thread_pool.py", line 46, in test_idle_thread_reuse
    executor.submit(mul, 21, 2).result()
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_future.py", line 222, in test_result_with_cancel
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_thread_pool.py\", line 80, in test_executor_map_current_future_cancel\n    fut = pool.submit(log_n_wait, ident=\"first\")\n          ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_free_reference\" status=\"run\" result=\"completed\" time=\"0.003761\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 117, in test_free_reference\n    for obj in self.executor.map(make_dummy_object, range(10)):\n               ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_hang_global_shutdown_lock\" status=\"run\" result=\"completed\" time=\"0.000022\"><skipped>need os.register_at_fork</skipped></testcase><testcase name=\"test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_idle_thread_reuse\" status=\"run\" result=\"completed\" time=\"0.002662\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/tes


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 166, in test_threads_terminate\n    self.executor.submit(acquire_lock, sem)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"]], "failures": [], "covered_lines": null, "__test_result__": "TestResult"}


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_future.py", line 252, in test_exception_with_success
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_init.py\", line 47, in test_initializer\n    futures = [self.executor.submit(get_init_status)\n               ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"]], "failures": [], "covered_lines": null, "__test_result__": "TestResult"}


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_future.py\", line 222, in test_result_with_cancel\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_result_with_success (test.test_concurrent_futures.test_future.FutureTests.test_result_with_success)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_future.py\", line 208, in test_result_with_success\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"]], "failures": [], "covered_lines": null, "__test_result__": "TestResult"}


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 71, in test_first_exception_some_already_complete
    future1 = self.executor.submit(divmod, 21, 0)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 88, in test_no_stale_references
    fut = self.executor.submit(my_object.my_method)
          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 97, in test_all_completed
    future1 = self.executor.submit(divmod, 2, 0)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 30, in test_submit
    future = self.executor.submit(pow, 2, 8)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 117, in test_free_reference
    for obj in self.executor.map(make_dummy_object, range(10)):
               ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 87, in test_first_exception_one_already_failed
    future1 = self.executor.submit(time.sleep, 2)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 34, in test_submit_keyword\n    future = self.executor.submit(mul, 2, y=8)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase></testsuite>"], "stats": {"tests_run": 15, "failures": 0, "skipped": 1}, "errors": [["test_executor_map_current_future_cancel (test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_executor_map_current_future_cancel)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_thread_pool.py\", line 80, in test_executor_map_current_future_cancel\n    fut = pool.submit(log_n_wait, ident=\"first\")\n          ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_free_reference (test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_free_reference)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 117, in test_free_reference\n    for obj in self.executor.map(make_dummy_object, range(10)):\n               ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_idle_thread_reuse (test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_idle_thread_reuse)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_thread_pool.py\", line 46, in test_idle_thread_reuse\n    executor.submit(mul, 21, 2).result()\n    ~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_map (test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_map)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 45, in test_map\n    list(self.executor.map(pow, range(10), range(10))),\n         ~~~~~~


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 185, in test_del_shutdown
    res = executor.map(abs, range(-5, 5))
          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 81, in test_hang_issue12364
    fs = [self.executor.submit(time.sleep, 0.1) for _ in range(50)]
          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_as_completed.py", line 51, in test_future_times_out
    future = self.executor.submit(time.sleep, short_timeout * 10)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_as_completed.py\", line 69, in test_duplicate_futures\n    future1 = self.executor.submit(time.sleep, 2)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_free_reference_yielded_future\" status=\"run\" result=\"completed\" time=\"0.169899\" /><testcase /><testcase name=\"test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_no_timeout\" status=\"run\" result=\"completed\" time=\"0.002685\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_as_completed.py\", line 23, in test_no_timeout\n    future1 = self.executor.submit(mul, 2, 21)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase></testsuite>"], "stats": {"tests_run": 20, "failures": 0, "skipped": 15}, "errors": [["test_duplicate_futures (test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_duplicate_futures)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_as_completed.py\", line 69, in test_duplicate_futures\n    future1 = self.executor.submit(time.sleep, 2)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_future_times_out (test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_future_times_out) [0]", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_as_completed.py\", line 51, in test_future_times_out\
    future = self.executor.submit(time.sleep, short_timeout * 10)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_future_times_out (test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_future_times_out) [0.1]", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_as_completed.py\", line 51, in test_future_times_out\n    future = self.executor.submit(time.sleep, short_timeout * 10)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_no_timeout (test.test_concurrent_futures.test_as_completed.ThreadPoolAsCompletedTest.test_no_timeout)"Assertion failed: tstate->_status.initialized && !tstate->_status.cleared (../../Python/pystate.c: PyThreadState_Clear: 1500)
Error: failed to run main module `python.wasm`


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 62, in test_map_timeout
    for i in self.executor.map(time.sleep,
             ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
                               [0, 0, 6],
                               ^^^^^^^^^^
                               timeout=5):
                               ^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 77, in test_shutdown_race_issue12456
    self.executor.map(str, [2] * (self.worker_count + 1))
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 119, in test_timeout\n    future = self.executor.submit(time.sleep, long_timeout)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase></testsuite>"], "stats": {"tests_run": 33, "failures": 0, "skipped": 24}, "errors": [["test_20369 (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_20369)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 27, in test_20369\n    future = self.executor.submit(time.sleep, 1.5)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_all_completed (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_all_completed)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 97, in test_all_completed\n    future1 = self.executor.submit(divmod, 2, 0)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_first_completed (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_completed)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 35, in test_first_completed\n    future1 = self.executor.submit(mul, 21, 2)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_first_completed_some_already_completed (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_completed_some_already_completed)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 46, in test_first_completed_some_already_completed\n    future1 = self.executor.submit(time.sleep, 1.5)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_first_exception (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 59, in test_first_exception\n    future1 = self.executor.submit(mul, 2, 21)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_first_exception_one_already_failed (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception_one_already_failed)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 87, in test_first_exception_one_already_failed\n    future1 = self.executor.submit(time.sleep, 2)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_first_exception_some_already_complete (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception_some_already_complete)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 71, in test_first_exception_some_already_complete\n    future1 = self.executor.submit(divmod, 21, 0)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_pending_calls_race (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_pending_calls_race)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 147, in test_pending_calls_race\n    fs = {self.executor.submit(future_func) for i in range(100)}\n          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_timeout (test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_timeout)"Assertion failed: tstate->_status.initialized && !tstate->_status.cleared (../../Python/pystate.c: PyThreadState_Clear: 1500)
Error: failed to run main module `python.wasm`


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 119, in test_timeout
    future = self.executor.submit(time.sleep, long_timeout)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_init.py\", line 75, in test_initializer\n    future = self.executor.submit(get_init_status)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_initializer (test.test_concurrent_futures.test_init.ThreadPoolInitializerTest.test_initializer)"Assertion failed: tstate->_status.initialized && !tstate->_status.cleared (../../Python/pystate.c: PyThreadState_Clear: 1500)
Error: failed to run main module `python.wasm`


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_future.py", line 208, in test_result_with_success
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_as_completed.py", line 69, in test_duplicate_futures
    future1 = self.executor.submit(time.sleep, 2)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 88, in test_cancel_futures\n    fs = [self.executor.submit(time.sleep, .1) for _ in range(50)]\n          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_context_manager_shutdown (test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_context_manager_shutdown)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 177, in test_context_manager_shutdown\n    self.assertEqual(list(e.map(abs, range(-5, 5))),\n                          ~~~~~^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_del_shutdown (test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_del_shutdown)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 185, in test_del_shutdown\n    res = executor.map(abs, range(-5, 5))\n          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_hang_issue12364 (test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_hang_issue12364)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 81, in test_hang_issue12364\n    fs = [self.executor.submit(time.sleep, 0.1) for _ in range(50)]\n          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  Fi
 \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_shutdown_no_wait (test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_shutdown_no_wait)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 200, in test_shutdown_no_wait\n    res = executor.map(abs, range(-5, 5))\n          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_thread_names_assigned (test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_thread_names_assigned)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 214, in test_thread_names_assigned\n    executor.map(abs, range(-5, 5))\n    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_thread_names_default (test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_thread_names_default)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 225, in test_thread_names_default\n    executor.map(abs, range(-5, 5))\n    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_threads_terminate (test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_threads_terminate)"Assertion failed: tstate->_status.initialized && !tstate->_status.cleared (../../Python/pystate.c: PyThreadState_Clear: 1500)
Error: failed to run main module `python.wasm`


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 177, in test_context_manager_shutdown
    self.assertEqual(list(e.map(abs, range(-5, 5))),
                          ~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 200, in test_shutdown_no_wait
    res = executor.map(abs, range(-5, 5))
          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_thread_pool.py", line 22, in test_map_submits_without_iteration
    self.executor.map(record_finished, range(10))
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 34, in test_submit_keyword\n    future = self.executor.submit(mul, 2, y=8)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"]], "failures": [], "covered_lines": null, "__test_result__": "TestResult"}


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 214, in test_thread_names_assigned
    executor.map(abs, range(-5, 5))
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 88, in test_cancel_futures
    fs = [self.executor.submit(time.sleep, .1) for _ in range(50)]
          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_init.py", line 75, in test_initializer
    future = self.executor.submit(get_init_status)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 81, in test_hang_issue12364\n    fs = [self.executor.submit(time.sleep, 0.1) for _ in range(50)]\n          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_interpreter_shutdown\" status=\"run\" result=\"completed\" time=\"0.000109\"><skipped>requires subprocess support</skipped></testcase><testcase name=\"test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_run_after_shutdown\" status=\"run\" result=\"completed\" time=\"0.000210\" /><testcase name=\"test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_shutdown_no_wait\" status=\"run\" result=\"completed\" time=\"0.003522\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_shutdown.py\", line 200, in test_shutdown_no_wait\n    res = executor.map(abs, range(-5, 5))\n          ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n


Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_future.py\", line 252, in test_exception_with_success\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_future.FutureTests.test_exception_with_timeout\" status=\"run\" result=\"completed\" time=\"0.000316\" /><testcase name=\"test.test_concurrent_futures.test_future.FutureTests.test_multiple_set_exception\" status=\"run\" result=\"completed\" time=\"0.000722\" /><testcase name=\"test.test_concurrent_futures.test_future.FutureTests.test_multiple_set_result\" status=\"run\" result=\"completed\" time=\"0.000670\" /><testcase name=\"test.test_concurrent_futures.test_future.FutureTests.test_repr\" status=\"run\" result=\"completed\" time=\"0.002007\" /><testcase name=\"test.test_concurrent_futures.test_future.FutureTests.test_result_with_cancel\" status=\"run\" result=\"completed\" time=\"0.001967\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is 
t None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_future.py\", line 222, in test_result_with_cancel\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_future.FutureTests.test_result_with_success\" status=\"run\" result=\"completed\" time=\"0.001854\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_future.py\", line 208, in test_result_with_success\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_future.FutureTests.test_result_with_timeout\" status=\"run\" result=\"completed\" time=\"0.000298\" /><testcase name=\"test.test_concurrent_futures.test_future.FutureTests.test_running\" status=\"run\" result=\"completed\" time=\"0.000130\" /></testsuite>"], "stats": {"tests_run": 20, "failures": 0, "skipped": 0}, "errors": [["test_exception_with_success (test.test_concurrent_futures.test_future.FutureTests.test_exception_with_success)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_future.py\", line 252, in test_exception_with_success\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_result_with_cancel (test.test_concurrent_futures.test_future.FutureTests.test_result_with_cancel)"Assertion failed: tstate->_status.initialized && !tstate->_status.cleared (../../Python/pystate.c: PyThreadState_Clear: 1500)
Error: failed to run main module `python.wasm`


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 59, in test_first_exception
    future1 = self.executor.submit(mul, 2, 21)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 45, in test_map
    list(self.executor.map(pow, range(10), range(10))),
         ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 166, in test_threads_terminate
    self.executor.submit(acquire_lock, sem)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 27, in test_20369
    future = self.executor.submit(time.sleep, 1.5)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 53, in test_map_exception
    i = self.executor.map(divmod, [1, 1, 1, 1], [2, 3, 0, 5])
        ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 35, in test_first_completed\n    future1 = self.executor.submit(mul, 21, 2)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_completed_some_already_completed\" status=\"run\" result=\"completed\" time=\"0.002538\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 46, in test_first_completed_some_already_completed\n    future1 = self.executor.submit(time.sleep, 1.5)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_wait.ThreadPoolWaitTests.test_first_exception\" status=\"run\" result=\"completed\" time=\"0.002553\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 59, in test_first_exception\n    future1 = self.executor.submit(mul, 2, 21)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._boot


Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 62, in test_map_timeout\n    for i in self.executor.map(time.sleep,\n             ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n                               [0, 0, 6],\n                               ^^^^^^^^^^\n                               timeout=5):\n                               ^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_max_workers_negative\" status=\"run\" result=\"completed\" time=\"0.000576\" /><testcase name=\"test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_no_stale_references\" status=\"run\" result=\"completed\" time=\"0.002602\"><system-out /><system-err /><error type=\"RuntimeError\" message=\"RuntimeError: can't start new thread&#10;\">Traceback (most recent call last):\n  File \"/Lib/unittest/case.py\", line 58, in testPartExecutor\n    yield\n  File \"/Lib/unittest/case.py\", line 634, in run\n    self._callTestMethod(testMethod)\n    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/unittest/case.py\", line 589, in _callTestMethod\n    if method() is not None:\n       ~~~~~~^^\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 88, in test_no_stale_references\n    fut = self.executor.submit(my_object.my_method)\n          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n</error></testcase><testcase name=\"test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_saturation\" status=\"run\" res


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_thread_pool.py\", line 38, in test_saturation\n    executor.submit(acquire_lock, sem)\n    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_shutdown_race_issue12456 (test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_shutdown_race_issue12456)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 77, in test_shutdown_race_issue12456\n    self.executor.map(str, [2] * (self.worker_count + 1))\n    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/_base.py\", line 608, in map\n    fs = [self.submit(fn, *args) for args in zip(*iterables)]\n          ~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_submit (test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_submit)", "Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/executor.py\", line 30, in test_submit\n    future = self.executor.submit(pow, 2, 8)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"], ["test_submit_keyword (test.test_concurrent_futures.test_thread_pool.ThreadPoolExecutorTest.test_submit_keyword)"Assertion failed: tstate->_status.initialized && !tstate->_status.cleared (../../Python/pystate.c: PyThreadState_Clear: 1500)
Error: failed to run main module `python.wasm`


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_init.py", line 47, in test_initializer
    futures = [self.executor.submit(get_init_status)
               ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 35, in test_first_completed
    future1 = self.executor.submit(mul, 21, 2)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 147, in test_pending_calls_race
    fs = {self.executor.submit(future_func) for i in range(100)}
          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_wait.py", line 46, in test_first_completed_some_already_completed
    future1 = self.executor.submit(time.sleep, 1.5)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_wait.py\", line 119, in test_timeout\n    future = self.executor.submit(time.sleep, long_timeout)\n             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"]], "failures": [], "covered_lines": null, "__test_result__": "TestResult"}


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_shutdown.py", line 225, in test_thread_names_default
    executor.map(abs, range(-5, 5))
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
          ~~~~~~~~~~~^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/executor.py", line 34, in test_submit_keyword
    future = self.executor.submit(mul, 2, y=8)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_as_completed.py", line 23, in test_no_timeout
    future1 = self.executor.submit(mul, 2, 21)
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_thread_pool.py", line 38, in test_saturation
    executor.submit(acquire_lock, sem)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread


Traceback (most recent call last):\n  File \"/Lib/test/test_concurrent_futures/test_as_completed.py\", line 23, in test_no_timeout\n    future1 = self.executor.submit(mul, 2, 21)\n              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"/Lib/concurrent/futures/thread.py\", line 179, in submit\n    self._adjust_thread_count()\n    ~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"/Lib/concurrent/futures/thread.py\", line 202, in _adjust_thread_count\n    t.start()\n    ~~~~~~~^^\n  File \"/Lib/threading.py\", line 1005, in start\n    self._handle = _start_joinable_thread(self._bootstrap)\n                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\nRuntimeError: can't start new thread\n"]], "failures": [], "covered_lines": null, "__test_result__": "TestResult"}


Traceback (most recent call last):
  File "/Lib/test/test_concurrent_futures/test_thread_pool.py", line 80, in test_executor_map_current_future_cancel
    fut = pool.submit(log_n_wait, ident="first")
          ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Lib/concurrent/futures/thread.py", line 179, in submit
    self._adjust_thread_count()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Lib/concurrent/futures/thread.py", line 202, in _adjust_thread_count
    t.start()
    ~~~~~~~^^
  File "/Lib/threading.py", line 1005, in start
    self._handle = _start_joinable_thread(self._bootstrap)
                   ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
RuntimeError: can't start new thread

@gpshead
Copy link
Member

gpshead commented Feb 25, 2024

... whoops, looks like CI wasn't enough here. buildbots show issues that look related. :) WASM doesn't have threading, the previously logic presumably properly skipped the test there.

gpshead added a commit that referenced this pull request Feb 26, 2024
Fix the WASI test_concurrent_futures regression from #115917.
@mhsmith
Copy link
Member Author

mhsmith commented Feb 26, 2024

Sorry about that, and thanks for sorting it out.

woodruffw pushed a commit to woodruffw-forks/cpython that referenced this pull request Mar 4, 2024
… multiprocessing (pythongh-115917)

Enable test_concurrent_futures on platforms that support threading but not multiprocessing.
woodruffw pushed a commit to woodruffw-forks/cpython that referenced this pull request Mar 4, 2024
adorilson pushed a commit to adorilson/cpython that referenced this pull request Mar 25, 2024
… multiprocessing (pythongh-115917)

Enable test_concurrent_futures on platforms that support threading but not multiprocessing.
adorilson pushed a commit to adorilson/cpython that referenced this pull request Mar 25, 2024
diegorusso pushed a commit to diegorusso/cpython that referenced this pull request Apr 17, 2024
… multiprocessing (pythongh-115917)

Enable test_concurrent_futures on platforms that support threading but not multiprocessing.
diegorusso pushed a commit to diegorusso/cpython that referenced this pull request Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tests Tests in the Lib/test dir
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants