Bug: Thread cleanup exception during interpreter shutdown when using VS Code debugger
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
Direzione di ricerca
Inizia riproducendo lo script fornito con il debugger di VS Code e confrontalo con una normale esecuzione di python script.py. Analizza i thread gestiti dal debugger e la pulizia durante l’arresto dell’interprete relativa a _DeleteDummyThreadOnDel.__del__; il lavoro è completato quando l’esecuzione con il debugger termina senza il TypeError riportato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
📌 Environment
- Python Version: 3.13.5
- OS: Windows 11
- Debugger: VS Code (debugpy)
📝 Description
When running code under the VS Code debugger, an exception is raised during interpreter shutdown:
Exception ignored in: <function _DeleteDummyThreadOnDel.__del__>
Traceback (most recent call last):
File ".../threading.py", line 1385, in __del__
TypeError: 'NoneType' object does not support the context manager protocol
🔍 Key Observation
- ❌ Does NOT occur when running normally (
python script.py) - ✅ Only occurs when running via VS Code debugger
🧪 Steps to Reproduce
from strands import Agent, tool
from strands_tools import http_request
import boto3
from strands.models import BedrockModel
session = boto3.Session(region_name="us-east-1")
model = BedrockModel(
model_id="your-model-id",
boto_session=session
)
@tool
def dummy_tool(text: str) -> str:
return text
agent = Agent(
system_prompt="Test agent",
tools=[http_request, dummy_tool],
model=model
)
agent("Test request")
print("DONE EXECUTION")
📤 Observed Output (Debugger Only)
DONE EXECUTION
Exception ignored in: <function _DeleteDummyThreadOnDel.__del__>
Traceback (most recent call last):
File ".../threading.py", line ...
TypeError: 'NoneType' object does not support the context manager protocol
✅ Expected Behavior
No exception during interpreter shutdown in debugger mode.
❌ Actual Behavior
Thread cleanup triggers a TypeError during interpreter shutdown when running under debugger.
📎 Notes
- Likely related to debugger-managed threads and interpreter shutdown order
- Possibly occurs when threads outlive global state during teardown
- Does not impact runtime correctness
🛠️ Workarounds
- Running script outside debugger avoids issue
- Adding delays (
time.sleep) reduces occurrence but does not fully eliminate
📌 Summary
This appears to be a debugger-related threading cleanup issue during interpreter shutdown in Python 3.13.
- Lingua principale
- Python
- Stelle
- 2.5k
- Fork
- 202
- Merge medio
- 5g 1h
- PR unite (30g)
- 1
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/debugpy
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Document "rules"-option Apertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Adapter bootstrap fails with ConnectionRefusedError on WSL2 VirtioProxy or hostAddressLoopback Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
Tutte le issue di microsoft/debugpy
Issue simili
-
sponsored
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
Diaoul/subliminal#1382 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
triage/confirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
agentscope-ai/agentscope#2775 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100