python-trio / python-trio/trio

test_close_at_bad_time_for_send_all failure on PPC

Open
#1,753 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
7.3k
Forks
431
Avg merge
2d 17h
Merged PRs (30d)
6

Description

Since at least 0.16.0, this failure only occurs on PPC for openSUSE builds at
https://build.opensuse.org/package/show/devel:languages:python/python-trio

trio/tests/test_unix_pipes.py::test_close_at_bad_time_for_send_all Timeout (0:01:00)!
Thread 0x00007fffab7ef0f0 (most recent call first):
  File "/home/abuild/rpmbuild/BUILD/trio-0.16.0/trio/_core/tests/test_thread_cache.py", line 102 in acquire
  File "/home/abuild/rpmbuild/BUILD/trio-0.16.0/trio/_core/_thread_cache.py", line 62 in _work
  File "/usr/lib64/python3.8/threading.py", line 870 in run
  File "/usr/lib64/python3.8/threading.py", line 932 in _bootstrap_inner
  File "/usr/lib64/python3.8/threading.py", line 890 in _bootstrap

Thread 0x00007fffbdeb4ea0 (most recent call first):
  File "/home/abuild/rpmbuild/BUILD/trio-0.16.0/trio/_core/_io_epoll.py", line 223 in get_events
  File "/home/abuild/rpmbuild/BUILD/trio-0.16.0/trio/_core/_run.py", line 1890 in run
  File "/home/abuild/rpmbuild/BUILD/trio-0.16.0/trio/testing/_trio_test.py", line 27 in wrapper
  File "/usr/lib/python3.8/site-packages/_pytest/python.py", line 180 in pytest_pyfunc_call
  File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3.8/site-packages/_pytest/python.py", line 1567 in runtest
  File "/usr/lib/python3.8/site-packages/_pytest/runner.py", line 153 in pytest_runtest_call
  File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3.8/site-packages/_pytest/runner.py", line 247 in <lambda>
  File "/usr/lib/python3.8/site-packages/_pytest/runner.py", line 294 in from_call
  File "/usr/lib/python3.8/site-packages/_pytest/runner.py", line 246 in call_runtest_hook
  File "/usr/lib/python3.8/site-packages/_pytest/runner.py", line 207 in call_and_report
  File "/usr/lib/python3.8/site-packages/_pytest/runner.py", line 117 in runtestprotocol
  File "/usr/lib/python3.8/site-packages/_pytest/runner.py", line 100 in pytest_runtest_protocol
  File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 321 in pytest_runtestloop
  File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 296 in _main
  File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 240 in wrap_session
  File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 289 in pytest_cmdline_main
  File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 157 in main
  File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 180 in console_main
  File "/usr/bin/pytest-3.8", line 11 in <module>


Job seems to be stuck here, killed. (after 12000 seconds of inactivity)

Any hints greatly appreciated.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with trio/tests/test_unix_pipes.py::test_close_at_bad_time_for_send_all and reproduce the timeout on PPC openSUSE. Read the stack-traced paths in trio/_core/_io_epoll.py, trio/_core/_run.py, and trio/_core/_thread_cache.py, especially get_events, _work, and acquire. Done means identifying the platform-specific cause and making the test complete without timing out.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
operating-systems, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.