¿Qué significa el código NTSTATUS 0xC015000F (STATUS_SXS_EARLY_DEACTIVATION)?

 
Anterior Siguiente
STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET STATUS_SXS_INVALID_DEACTIVATION

STATUS_SXS_EARLY_DEACTIVATION

Qué significa STATUS_SXS_EARLY_DEACTIVATION

STATUS_SXS_EARLY_DEACTIVATION indica que un activation context está siendo desactivado antes de que la pila alcance el cookie correspondiente. En otras palabras, el nesting de contextos se está deshaciendo fuera de orden.

Si una rutina activa A, luego activa B, normalmente debe desactivar B antes de A. Guardar el cookie en una variable equivocada, mezclar cleanup de dos scopes o hacer early return sin una disciplina clara puede producir este status. Es un error de lifecycle del caller, no una señal de que el assembly A o B sea incorrecto.

El bug suele ser más fácil de localizar registrando thread ID, cookie y call site en cada activación/desactivación. Los activation contexts son thread-oriented en este uso; mezclar cookies entre threads es otra señal que merece revisar.

Qué comprobar

  • Compruebe que activate/deactivate siga nesting LIFO.
  • No comparta cookies entre threads ni entre scopes independientes.
  • Revise early returns, excepciones y cleanup en múltiples niveles.
  • Capture el primer orden incorrecto, no sólo la corrupción posterior del stack.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.