Issue30845
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2017-07-04 10:19 by vstinner, last changed 2022-04-11 14:58 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 2564 | merged | vstinner, 2017-07-04 10:52 | |
| PR 2880 | merged | vstinner, 2017-07-26 02:37 | |
| Messages (5) | |||
|---|---|---|---|
| msg297639 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2017-07-04 10:19 | |
Code of the setUp() method:
class ExecutorMixin:
worker_count = 5
def setUp(self):
self.t1 = time.time()
try:
self.executor = self.executor_type(max_workers=self.worker_count)
except NotImplementedError as e:
self.skipTest(str(e))
self._prime_executor()
def _prime_executor(self):
# Make sure that the executor is ready to do work before running the
# tests. This should reduce the probability of timeouts in the tests.
futures = [self.executor.submit(time.sleep, 0.1)
for _ in range(self.worker_count)]
for f in futures:
f.result()
I don't understand how the child process can fail with ValueError("sleep length must be non-negative") when running time.sleep(0.1). Code of the sleep function:
static PyObject *
time_sleep(PyObject *self, PyObject *obj)
{
_PyTime_t secs;
if (_PyTime_FromSecondsObject(&secs, obj, _PyTime_ROUND_CEILING))
return NULL;
if (secs < 0) {
PyErr_SetString(PyExc_ValueError,
"sleep length must be non-negative");
return NULL;
}
if (pysleep(secs) != 0)
return NULL;
Py_INCREF(Py_None);
return Py_None;
}
Can it be a major rounding issue in time_sleep()? Or concurrent.futures failed completely to serialized the floating point number 0.1?
http://buildbot.python.org/all/builders/x86%20Tiger%203.5/builds/324/steps/test/logs/stdio
0:27:59 load avg: 1.54 [211/398/1] test_concurrent_futures
test_cancel (test.test_concurrent_futures.FutureTests) ... ok
test_cancelled (test.test_concurrent_futures.FutureTests) ... ok
test_done (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_already_cancelled (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_already_failed (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_already_successful (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_raises (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_with_cancel (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_with_exception (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_with_result (test.test_concurrent_futures.FutureTests) ... ok
test_exception_with_success (test.test_concurrent_futures.FutureTests) ... ok
test_exception_with_timeout (test.test_concurrent_futures.FutureTests) ... ok
test_repr (test.test_concurrent_futures.FutureTests) ... ok
test_result_with_cancel (test.test_concurrent_futures.FutureTests) ... ok
test_result_with_success (test.test_concurrent_futures.FutureTests) ... ok
test_result_with_timeout (test.test_concurrent_futures.FutureTests) ... ok
test_running (test.test_concurrent_futures.FutureTests) ... ok
test_duplicate_futures (test.test_concurrent_futures.ProcessPoolAsCompletedTests) ... 2.20s ok
test_no_timeout (test.test_concurrent_futures.ProcessPoolAsCompletedTests) ... 0.18s ok
test_zero_timeout (test.test_concurrent_futures.ProcessPoolAsCompletedTests) ... 2.20s ok
test_killed_child (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.21s ok
test_map (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.20s ok
test_map_chunksize (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.21s ok
test_map_exception (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.19s ok
test_map_timeout (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 6.18s ok
test_max_workers_negative (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.21s ok
test_no_stale_references (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.20s ok
test_shutdown_race_issue12456 (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.19s ok
test_submit (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.18s ok
test_submit_keyword (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.21s ok
test_traceback (test.test_concurrent_futures.ProcessPoolExecutorTest) ... 0.20s ok
test_context_manager_shutdown (test.test_concurrent_futures.ProcessPoolShutdownTest) ... 0.10s ok
test_del_shutdown (test.test_concurrent_futures.ProcessPoolShutdownTest) ... 0.10s ok
test_hang_issue12364 (test.test_concurrent_futures.ProcessPoolShutdownTest) ... 1.09s ok
test_interpreter_shutdown (test.test_concurrent_futures.ProcessPoolShutdownTest) ... 2.13s ok
test_processes_terminate (test.test_concurrent_futures.ProcessPoolShutdownTest) ... 0.09s ok
test_run_after_shutdown (test.test_concurrent_futures.ProcessPoolShutdownTest) ... 0.00s ok
test_all_completed (test.test_concurrent_futures.ProcessPoolWaitTests) ... 0.20s ok
test_first_completed (test.test_concurrent_futures.ProcessPoolWaitTests) ... 1.69s ok
test_first_completed_some_already_completed (test.test_concurrent_futures.ProcessPoolWaitTests) ... ERROR
test_first_exception (test.test_concurrent_futures.ProcessPoolWaitTests) ... 3.20s ok
test_first_exception_one_already_failed (test.test_concurrent_futures.ProcessPoolWaitTests) ... 2.20s ok
test_first_exception_some_already_complete (test.test_concurrent_futures.ProcessPoolWaitTests) ... 1.70s ok
test_timeout (test.test_concurrent_futures.ProcessPoolWaitTests) ... 6.18s ok
test_duplicate_futures (test.test_concurrent_futures.ThreadPoolAsCompletedTests) ... 2.11s ok
test_no_timeout (test.test_concurrent_futures.ThreadPoolAsCompletedTests) ... 0.11s ok
test_zero_timeout (test.test_concurrent_futures.ThreadPoolAsCompletedTests) ... 2.10s ok
test_default_workers (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 0.10s ok
test_map (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 0.11s ok
test_map_exception (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 0.11s ok
test_map_submits_without_iteration (test.test_concurrent_futures.ThreadPoolExecutorTest)
Tests verifying issue 11777. ... 0.11s ok
test_map_timeout (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 6.10s ok
test_max_workers_negative (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 0.10s ok
test_no_stale_references (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 0.10s ok
test_shutdown_race_issue12456 (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 0.11s ok
test_submit (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 0.10s ok
test_submit_keyword (test.test_concurrent_futures.ThreadPoolExecutorTest) ... 0.10s ok
test_context_manager_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... 0.01s ok
test_del_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... 0.01s ok
test_hang_issue12364 (test.test_concurrent_futures.ThreadPoolShutdownTest) ... 1.04s ok
test_interpreter_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... 1.74s ok
test_run_after_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... 0.00s ok
test_threads_terminate (test.test_concurrent_futures.ThreadPoolShutdownTest) ... 0.00s ok
test_all_completed (test.test_concurrent_futures.ThreadPoolWaitTests) ... 0.11s ok
test_first_completed (test.test_concurrent_futures.ThreadPoolWaitTests) ... 1.60s ok
test_first_completed_some_already_completed (test.test_concurrent_futures.ThreadPoolWaitTests) ... 1.60s ok
test_first_exception (test.test_concurrent_futures.ThreadPoolWaitTests) ... 3.10s ok
test_first_exception_one_already_failed (test.test_concurrent_futures.ThreadPoolWaitTests) ... 2.10s ok
test_first_exception_some_already_complete (test.test_concurrent_futures.ThreadPoolWaitTests) ... 1.60s ok
test_pending_calls_race (test.test_concurrent_futures.ThreadPoolWaitTests) ... 0.90s ok
test_timeout (test.test_concurrent_futures.ThreadPoolWaitTests) ... 6.10s ok
======================================================================
ERROR: test_first_completed_some_already_completed (test.test_concurrent_futures.ProcessPoolWaitTests)
----------------------------------------------------------------------
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/Users/db3l/buildarea/3.5.bolen-tiger/build/Lib/concurrent/futures/process.py", line 175, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
ValueError: sleep length must be non-negative
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/db3l/buildarea/3.5.bolen-tiger/build/Lib/test/test_concurrent_futures.py", line 71, in setUp
self._prime_executor()
File "/Users/db3l/buildarea/3.5.bolen-tiger/build/Lib/test/test_concurrent_futures.py", line 87, in _prime_executor
f.result()
File "/Users/db3l/buildarea/3.5.bolen-tiger/build/Lib/concurrent/futures/_base.py", line 398, in result
return self.__get_result()
File "/Users/db3l/buildarea/3.5.bolen-tiger/build/Lib/concurrent/futures/_base.py", line 357, in __get_result
raise self._exception
ValueError: sleep length must be non-negative
----------------------------------------------------------------------
Ran 71 tests in 65.994s
FAILED (errors=1)
Warning -- multiprocessing.process._dangling was modified by test_concurrent_futures
Before: <_weakrefset.WeakSet object at 0x1491884>
After: <_weakrefset.WeakSet object at 0x1567f14>
Warning -- threading._dangling was modified by test_concurrent_futures
Before: <_weakrefset.WeakSet object at 0x149161c>
After: <_weakrefset.WeakSet object at 0x120db24>
test test_concurrent_futures failed
|
|||
| msg297642 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2017-07-04 11:14 | |
New changeset 3df9dec425b0254df1cdf41922fd8d6b08bf47e4 by Victor Stinner in branch 'master': bpo-30845: Enhance test_concurrent_futures cleanup (#2564) https://github.com/python/cpython/commit/3df9dec425b0254df1cdf41922fd8d6b08bf47e4 |
|||
| msg297747 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2017-07-05 13:44 | |
New changeset 8207c17486baece8ed0ac42d9f8d69ecec4ba7e4 by Victor Stinner in branch 'master': Revert "bpo-30822: Fix testing of datetime module." (#2588) https://github.com/python/cpython/commit/8207c17486baece8ed0ac42d9f8d69ecec4ba7e4 |
|||
| msg299196 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2017-07-26 03:05 | |
New changeset a6f045224a03f9b5f940c80ee142a2a4b4a9c9d8 by Victor Stinner in branch '3.6': bpo-30845: Enhance test_concurrent_futures cleanup (#2564) (#2880) https://github.com/python/cpython/commit/a6f045224a03f9b5f940c80ee142a2a4b4a9c9d8 |
|||
| msg300138 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2017-08-11 00:00 | |
Python 3.5 doesn't accept bugfixes anymore, so I close this issue. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:58:48 | admin | set | github: 75028 |
| 2017-08-11 00:19:05 | vstinner | set | resolution: fixed -> out of date |
| 2017-08-11 00:00:24 | vstinner | set | status: open -> closed resolution: fixed messages: + msg300138 stage: resolved |
| 2017-07-26 03:05:11 | vstinner | set | messages: + msg299196 |
| 2017-07-26 02:37:07 | vstinner | set | pull_requests: + pull_request2932 |
| 2017-07-05 13:44:56 | vstinner | set | messages: + msg297747 |
| 2017-07-04 11:14:07 | vstinner | set | messages: + msg297642 |
| 2017-07-04 10:52:14 | vstinner | set | pull_requests: + pull_request2631 |
| 2017-07-04 10:19:07 | vstinner | create | |
