python
runtime_error
ai_generated
true
RecursionError: maximum recursion depth exceeded while calling a Python object in conftest.py
ID: python/pytest-conftest-recursion-error
80%Fix Rate
82%Confidence
0Evidence
2024-09-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.9 | active | — | — | — |
| 3.10 | active | — | — | — |
Root Cause
A fixture in conftest.py is calling itself recursively without a base case, often due to circular dependency or infinite loop in fixture setup.
generic中文
conftest.py 中的夹具在没有基本情况的情况下递归调用自身,通常是由于循环依赖或夹具设置中的无限循环。
Workarounds
-
85% success Identify and break the circular dependency by restructuring fixtures.
Refactor conftest.py to avoid fixture A calling fixture B that calls fixture A again.
-
80% success Use 'yield' fixtures with proper teardown to avoid recursive setup.
Change fixture to use yield instead of return to ensure cleanup breaks recursion.
Dead Ends
Common approaches that don't work:
-
Increasing recursion limit with sys.setrecursionlimit
70% fail
This only delays the crash; the infinite loop still exists and may exhaust memory.
-
Removing all fixtures from conftest.py
80% fail
Tests that depend on those fixtures will fail with missing fixture errors.