getsentry / getsentry/sentry-python

Resolve `RuntimeError: Cannot install a trace function while another trace function is being installed`

オープン
#7,014 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
Python
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。