Closed
Description
spotted in the recent build on OSX using snapshot version of git-annex build:
https://github.com/datalad/datalad/actions/runs/3379647930/jobs/5611473605
> assert_raises(IncompleteResultsError, list, ProducerConsumer(paths[::-1], create_, jobs=5))
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/tests/test_parallel.py:129:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/parallel.py:265: in __iter__
yield from self._iter_threads(self._jobs)
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/parallel.py:417: in _iter_threads
self.shutdown(force=True, exception=self._producer_exception or interrupted_by_exception)
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/parallel.py:233: in shutdown
raise exception
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/parallel.py:401: in _iter_threads
done_useful |= self._pop_done_futures(lgr)
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/parallel.py:463: in _pop_done_futures
raise exception
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/concurrent/futures/thread.py:57: in run
result = self.fn(*self.args, **self.kwargs)
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/parallel.py:329: in consumer_worker
for r in res:
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/interface/utils.py:452: in _execute_command_
allkwargs):
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/interface/utils.py:619: in _process_results
for res in results:
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/core/local/create.py:291: in __call__
paths=[check_path.relative_to(parentds_path)])
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/gitrepo.py:2874: in status
eval_submodule_state=eval_submodule_state)
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/gitrepo.py:2997: in diffstatus
from_state = self.get_content_info(paths=paths, ref=fr)
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/support/gitrepo.py:2767: in get_content_info
read_only=True)
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/dataset/gitrepo.py:461: in call_git
keep_ends=True))
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/dataset/gitrepo.py:522: in call_git_items_
sep=sep):
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/dataset/gitrepo.py:355: in _generator_call_git
for file_no, content in generator:
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/runner/gitrunner.py:305: in run_on_filelist_chunks_items_
**kwargs):
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/runner/gitrunner.py:189: in _get_chunked_results
**kwargs)
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/runner/runner.py:194: in run
results_or_iterator = self.threaded_runner.run()
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/runner/nonasyncrunner.py:320: in run
return self._locked_run()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _locked_run(self) -> dict | _ResultGenerator:
if self.generator is not None:
> raise RuntimeError("ThreadedRunner.run() was re-entered")
E RuntimeError: ThreadedRunner.run() was re-entered
../../../../hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/datalad/runner/nonasyncrunner.py:324: RuntimeError
---------- coverage: platform darwin, python 3.7.15-final-0 ----------
Coverage XML written to file coverage.xml
=========================== short test summary info ============================
FAILED ../tests/test_parallel.py::test_creatsubdatasets - RuntimeError: ThreadedRunner.run() was re-entered
============ 1 failed, 392 passed, 35 skipped in 3114.32s (0:51:54) ============
and that exception was seen raised (test seems to fail or error also for other reasons in the past, so grepping for the exception)
(git)smaug:/mnt/datasets/datalad/ci/logs/2022[master]git
$> datalad foreach-dataset --o-s relpath git grep 'ThreadedRunner.run() was re-entered'
06/02/pr/6737/60b6f94/appveyor-8048-failed/o7ip9u3udu7odsg6.txt:[00:15:51] raise RuntimeError("ThreadedRunner.run() was re-entered")
06/02/pr/6737/60b6f94/appveyor-8048-failed/o7ip9u3udu7odsg6.txt:[00:15:51] RuntimeError: ThreadedRunner.run() was re-entered
06/02/pr/6737/abbf61b/appveyor-8049-failed/fla2okr02r6snseh.txt:[00:17:18] raise RuntimeError("ThreadedRunner.run() was re-entered")
06/02/pr/6737/abbf61b/appveyor-8049-failed/fla2okr02r6snseh.txt:[00:17:18] RuntimeError: ThreadedRunner.run() was re-entered
06/03/pr/6737/81f8b2d/appveyor-8059-failed/61o073tsjurpnalc.txt:[00:14:43] raise RuntimeError("ThreadedRunner.run() was re-entered")
06/03/pr/6737/81f8b2d/appveyor-8059-failed/61o073tsjurpnalc.txt:[00:14:43] RuntimeError: ThreadedRunner.run() was re-entered
06/03/pr/6737/a4519d8/github-Test on macOS-3326-failed/2_test (snapshot).txt:2022-06-03T09:42:09.4228590Z raise RuntimeError("ThreadedRunner.run() was re-entered")
06/03/pr/6737/a4519d8/github-Test on macOS-3326-failed/2_test (snapshot).txt:2022-06-03T09:42:09.4228990Z RuntimeError: ThreadedRunner.run() was re-entered
06/03/pr/6737/a4519d8/github-Test on macOS-3326-failed/test (snapshot)/8_Run tests.txt:2022-06-03T09:42:09.4228590Z raise RuntimeError("ThreadedRunner.run() was re-entered")
06/03/pr/6737/a4519d8/github-Test on macOS-3326-failed/test (snapshot)/8_Run tests.txt:2022-06-03T09:42:09.4228990Z RuntimeError: ThreadedRunner.run() was re-entered
06/03/pr/6740/d6f1cdd/appveyor-8060-failed/vf6voxcyv67lwaox.txt:[00:03:16] raise RuntimeError("ThreadedRunner.run() was re-entered")
06/03/pr/6740/d6f1cdd/appveyor-8060-failed/vf6voxcyv67lwaox.txt:[00:03:16] RuntimeError: ThreadedRunner.run() was re-entered
09/19/push/maint/27c18e8/appveyor-8543-failed/4endjtn7v53adf2h.txt:[00:17:12] > raise RuntimeError("ThreadedRunner.run() was re-entered")
09/19/push/maint/27c18e8/appveyor-8543-failed/4endjtn7v53adf2h.txt:[00:17:12] E RuntimeError: ThreadedRunner.run() was re-entered
09/19/push/maint/27c18e8/appveyor-8543-failed/4endjtn7v53adf2h.txt:[00:17:12] FAILED ../datalad/support/tests/test_parallel.py::test_creatsubdatasets - RuntimeError: ThreadedRunner.run() was re-entered
10/12/pr/7084/44d7557/appveyor-8646-failed/hsb8f27cmg1m57g0.txt:[00:19:56] > raise RuntimeError("ThreadedRunner.run() was re-entered")
10/12/pr/7084/44d7557/appveyor-8646-failed/hsb8f27cmg1m57g0.txt:[00:19:56] E RuntimeError: ThreadedRunner.run() was re-entered
10/12/pr/7084/44d7557/appveyor-8646-failed/hsb8f27cmg1m57g0.txt:[00:19:56] FAILED ../datalad/support/tests/test_parallel.py::test_creatsubdatasets - RuntimeError: ThreadedRunner.run() was re-entered
10/24/pr/7111/ca436bf/github-Test on macOS-3958-failed/1_test (brew).txt:2022-10-24T19:12:27.9900650Z > raise RuntimeError("ThreadedRunner.run() was re-entered")
10/24/pr/7111/ca436bf/github-Test on macOS-3958-failed/1_test (brew).txt:2022-10-24T19:12:27.9901570Z E RuntimeError: ThreadedRunner.run() was re-entered
10/24/pr/7111/ca436bf/github-Test on macOS-3958-failed/test (brew)/8_Run tests.txt:2022-10-24T19:12:27.9900650Z > raise RuntimeError("ThreadedRunner.run() was re-entered")
10/24/pr/7111/ca436bf/github-Test on macOS-3958-failed/test (brew)/8_Run tests.txt:2022-10-24T19:12:27.9901560Z E RuntimeError: ThreadedRunner.run() was re-entered
10/24/pr/UNK/ca436bf/github-Test on macOS-3958-failed/1_test (brew).txt:2022-10-24T19:12:27.9900650Z > raise RuntimeError("ThreadedRunner.run() was re-entered")
10/24/pr/UNK/ca436bf/github-Test on macOS-3958-failed/1_test (brew).txt:2022-10-24T19:12:27.9901570Z E RuntimeError: ThreadedRunner.run() was re-entered
10/24/pr/UNK/ca436bf/github-Test on macOS-3958-failed/test (brew)/8_Run tests.txt:2022-10-24T19:12:27.9900650Z > raise RuntimeError("ThreadedRunner.run() was re-entered")
10/24/pr/UNK/ca436bf/github-Test on macOS-3958-failed/test (brew)/8_Run tests.txt:2022-10-24T19:12:27.9901560Z E RuntimeError: ThreadedRunner.run() was re-entered
datalad foreach-dataset --o-s relpath git grep 57.95s user 48.87s system 461% cpu 23.163 total
so happened on OSX but also on appveyor on debian/ubuntu:
$> datalad foreach-dataset --o-s relpath git grep -l 'ThreadedRunner.run() was re-entered' | grep -v macOS | xargs grep -e '## system' -A1
06/02/pr/6737/60b6f94/appveyor-8048-failed/o7ip9u3udu7odsg6.txt:[00:02:38] ## system
06/02/pr/6737/60b6f94/appveyor-8048-failed/o7ip9u3udu7odsg6.txt-[00:02:38] - distribution: debian/bullseye/sid
--
06/02/pr/6737/abbf61b/appveyor-8049-failed/fla2okr02r6snseh.txt:[00:02:30] ## system
06/02/pr/6737/abbf61b/appveyor-8049-failed/fla2okr02r6snseh.txt-[00:02:30] - distribution: debian/bullseye/sid
--
06/03/pr/6737/81f8b2d/appveyor-8059-failed/61o073tsjurpnalc.txt:[00:02:54] ## system
06/03/pr/6737/81f8b2d/appveyor-8059-failed/61o073tsjurpnalc.txt-[00:02:54] - distribution: debian/bullseye/sid
--
06/03/pr/6740/d6f1cdd/appveyor-8060-failed/vf6voxcyv67lwaox.txt:[00:02:55] ## system
06/03/pr/6740/d6f1cdd/appveyor-8060-failed/vf6voxcyv67lwaox.txt-[00:02:55] - distribution: debian/bullseye/sid
--
09/19/push/maint/27c18e8/appveyor-8543-failed/4endjtn7v53adf2h.txt:[00:02:02] ## system
09/19/push/maint/27c18e8/appveyor-8543-failed/4endjtn7v53adf2h.txt-[00:02:02] - distribution: ubuntu/20.04/focal
--
10/12/pr/7084/44d7557/appveyor-8646-failed/hsb8f27cmg1m57g0.txt:[00:02:09] ## system
10/12/pr/7084/44d7557/appveyor-8646-failed/hsb8f27cmg1m57g0.txt-[00:02:09] - distribution: debian/bullseye/sid
datalad foreach-dataset --o-s relpath git grep -l 77.93s user 46.18s system 1042% cpu 11.904 total
grep --color=auto -d skip -v macOS 0.00s user 0.00s system 0% cpu 11.904 total
xargs grep -e '## system' -A1 0.01s user 0.00s system 0% cpu 11.909 total
edit: and it was on pythons 3.7.12, 3.7.13, and 3.8.10