Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Scope._transaction not cleared when span is set to None

Abierto Apto para principiantes
#7,774 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@Hashim1999164 ya está trabajando en esto.

Desde el 3/10/2026.

  • #7773 de @thegunslingers — cerrado sin fusionar
  • #7846 de @Hashim1999164 — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

Comienza en el setter de Scope.span y sigue cómo las asignaciones de Transaction y None actualizan _transaction; después inspecciona las pruebas de Scope cercanas para comprobar el comportamiento de copia del contexto y de salida de la transacción descrito aquí. Añade una prueba de regresión que muestre que establecer span en None borra la transacción, mientras que asignar un span hijo no lo hace, y ejecuta la suite de pruebas de Scope pertinente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug Python
How do you use Sentry?

Sentry Saas (sentry.io)

Version

2.68.1

Steps to Reproduce

Start a top-level transaction via OpenAIIntegration (or any path that sets scope.span to a Transaction).
Nest work that restores scope.span to None when the transaction finishes (normal with / start_transaction exit).
Later, on the same Scope (same thread, or a worker that got the Scope via copy_context()), capture an unrelated error with no active transaction.

Expected Result

After scope.span = None, scope._transaction is cleared so later errors are not attributed to the finished transaction (culprit / transaction name should not stick).

sentry-sdk 2.68.1 (deps: certifi, urllib3>=1.26.11)

Actual Result

Scope.span’s setter sets _transaction when given a Transaction, but does not clear _transaction when span is None. Stale _transaction remains; unrelated errors inherit the old transaction name (e.g. responses gpt-5.6-luna) as culprit even when the stack has nothing to do with that LLM call.

Clearing on every non-Transaction would be wrong: child spans set scope.span = self while a transaction is still live. The fix clears _transaction only when span is None.

Lenguaje dominante
Python
Estrellas
2.2k
Forks
680
Merge medio
1 d 1 h
PR fusionados (30 d)
258

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de getsentry/sentry-python

Todos los issues de getsentry/sentry-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.