getsentry / getsentry/sentry-python
Resolve `RuntimeError: Cannot install a trace function while another trace function is being installed`
- 主要言語
- Python
- スター
- 2.2k
- フォーク
- 669
- 平均マージ
- 1日 1時間
- マージ済み PR(30日)
- 213
説明
I keep seeing this:
```
__________ test_nonstreaming_chat_completion[False-True-False-False] ___________
/usr/lib/python3.10/threading.py:973: in _bootstrap
self._bootstrap_inner()
/usr/lib/python3.10/threading.py:1011: in _bootstrap_inner
_sys.settrace(_trace_hook)
E RuntimeError: Cannot install a trace function while another trace function is being installed
The above exception was the direct cause of the following exception:
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/_pytest/runner.py:361: in from_call
result: TResult | None = func()
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/_pytest/runner.py:250: in
lambda: runtest_hook(item=item, **kwds),
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/pluggy/_hooks.py:512: in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/pluggy/_manager.py:120: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/_pytest/logging.py:865: in pytest_runtest_call
yield
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/pluggy/_callers.py:53: in run_old_style_hookwrapper
return result.get_result()
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/pluggy/_callers.py:38: in run_old_style_hookwrapper
res = yield
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/_pytest/capture.py:900: in pytest_runtest_call
return (yield)
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/_pytest/skipping.py:268: in pytest_runtest_call
return (yield)
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/_pytest/unraisableexception.py:183: in pytest_runtest_call
collect_unraisable(item.config)
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/_pytest/unraisableexception.py:79: in collect_unraisable
raise errors[0]
.tox/py3.10-litellm-v1.89.6/lib/python3.10/site-packages/_pytest/unraisableexception.py:67: in collect_unraisable
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
E pytest.PytestUnraisableExceptionWarning: Exception ignored in thread started by: >
E Enable tracemalloc to get traceback where the object was allocated.
E See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
```
コントリビューションガイド
調査の方向性
Reproduce the failure in test_nonstreaming_chat_completion[False-True-False-False] under Python 3.10, then inspect the daemon Thread-6 (_flush_loop) and the tracing setup shown in the traceback. Done means the test completes without the RuntimeError or the resulting pytest unraisable-exception warning.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- testing-qa
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 45/100