Stop 7F, 0x00000008 (error doble) se produce debido a un error de un solo bit en el registro ESP

En este artículo se proporciona una solución a un 0x0000007F STOP, 0x00000008 mensaje de error en el equipo debido a un error específico del procesador. Este mensaje de error se puede mostrar cuando se produce un error de un solo bit en el registro ESP de un procesador que se ejecuta en el equipo.

Se aplica a: Windows Server 2012 R2
Número de KB original: 842465

Síntomas

En un equipo que ejecuta uno o varios procesadores Intel Xeon o que ejecuta otros procesadores, Windows puede mostrar un mensaje de error Detener similar al siguiente ejemplo:

STOP 0x0000007F (0x00000008, 0x00000000, 0x00000000, 0x00000000) UNEXPECTED_KERNEL_MODE_TRAP

Cuando se produce este problema, se cumplen las condiciones siguientes:

  • El primer parámetro del error Stop es "0x0000008". (Este error es una excepción de doble error).
  • Debido a un error de un solo bit en la mitad superior del registro ESP, el valor del registro ESP está fuera del intervalo de pila del subproceso actual.

Causa

Este problema se produce si uno o varios de los procesadores del equipo:

  • Requerir una actualización de microcódigo que no sea aplicada por el sistema básico de entrada y salida (BIOS) del equipo.

  • Están dañados o defectuosos.

  • Están funcionando fuera de sus intervalos especificados para temperatura, energía u otras condiciones.

Solución

Para resolver este problema, use uno de los siguientes métodos de solución de problemas.

Método 1: Determinar si el procesador ejecuta la revisión de producción de la actualización de microcódigo

Una actualización de microcódigo corrige errores o erratas en la lógica implementada internamente de un procesador. Las actualizaciones de microcódigo no se pueden almacenar permanentemente en el propio procesador y deben cargarse en el procesador cada vez que se inicia el equipo. Las actualizaciones de microcódigo se pueden aplicar en el BIOS del equipo o en el controlador de Update.sys.

Para identificar la revisión de la actualización de microcódigo que se aplica actualmente a un procesador Intel instalado en el equipo, siga estos pasos:

  1. Descargue la Utilidad de identificación del procesador Intel.

  2. Instale y ejecute la Utilidad de identificación del procesador Intel en el equipo que experimenta síntomas.

  3. Anote la siguiente información de CPU para cada procesador:

    • Familia de CPU
    • Modelo de CPU
    • Paso a paso de LA CPU
    • Revisión de CPU

    Los valores de Familia de CPU, Modelo de CPU y Paso a paso de CPU identifican el tipo específico de procesador. El valor revisión de CPU identifica la revisión de la actualización de microcódigo que se aplica.

  4. Póngase en contacto con el fabricante del equipo para determinar si la revisión de la actualización de microcódigo es la revisión más reciente que está disponible para un procesador determinado. Si la revisión no es la más actual, pida al fabricante del equipo un BIOS actualizado que aplique la revisión de actualización de microcódigo más reciente.

Los síntomas que se describen en este artículo se han observado con más frecuencia en los procesadores Intel Xeon que tienen los valores de familia de CPU, modelo de CPU y paso a paso de CPU de 15, 2 y 9 respectivamente y que se instalan en placas base que usan chipsets ServerWorks. (Los valores hexadecimales Familia de CPU, Modelo de CPU y Paso a paso de CPU son F, 2 y 9 respectivamente). Estos procesadores requieren un valor de revisión de 0x18 o posterior para funcionar correctamente. (0x18 equivale a un valor decimal de 24).

Un valor de revisión de 0 indica que el BIOS del equipo no tiene la actualización de microcódigo correcta para los procesadores instalados en el equipo. Debe actualizar el BIOS con una revisión de actualización de microcódigo que admita los procesadores que usa.

Intel recomienda aplicar las últimas revisiones de actualización de microcódigo para ayudar a evitar problemas conocidos.

Método 2: Determinar si un procesador está dañado o defectuoso

Si los procesadores instalados en los equipos afectados tienen aplicada la revisión de actualización de microcódigo de producción y los síntomas descritos en este artículo no se producen en todos los equipos del mismo modelo que ejecutan los mismos procesadores, los procesadores pueden estar defectuosos.

Para determinar si un procesador está dañado o defectuoso, mueva el procesador a un equipo que no experimenta ningún síntoma.

Advertencia

Si cambia de procesador, siga las instrucciones proporcionadas por el fabricante del equipo o póngase en contacto con técnicos de hardware cualificados adecuadamente para cambiar los procesadores.

Si los síntomas continúan ocurriendo en el equipo original con el procesador de reemplazo, pero no en el otro equipo con el procesador original, el problema probablemente no se debe a un procesador dañado o defectuoso.

Si los síntomas no continúan ocurriendo en el equipo original con el procesador de reemplazo, pero se producen en el otro equipo con el procesador original, el problema probablemente se debe a un procesador dañado o defectuoso. En este caso, póngase en contacto con el fabricante del equipo para reemplazar el procesador original.

Si el equipo que experimenta los síntomas descritos en este artículo tiene más de un procesador, mueva todos los procesadores al otro equipo. Si los resultados indican que uno o varios de estos procesadores pueden ser defectuosos, mueva los procesadores de uno en uno para determinar el procesador o los procesadores que pueden estar defectuosos.

Método 3: Determinar si un procesador funciona fuera de un intervalo especificado de condiciones ambientales

La temperatura ambiente excesiva, la mala ventilación o la acumulación de polvo pueden hacer que los componentes electrónicos, como los procesadores, se comporten erráticamente. El mal funcionamiento de los ventiladores o los pasajes de aire bloqueados pueden causar problemas de ventilación. Si el interior o los pasajes de aire del equipo están polvorientos, o si el equipo presenta síntomas cuando está instalado solo en una ubicación determinada, el sobrecalentamiento del sistema puede ser un factor. Asegúrese de que los componentes estén limpios, de que los ventiladores funcionen correctamente y de que los pasajes de aire no se obstruyan. Además, asegúrese de que la habitación donde se encuentra el equipo esté adecuadamente ventilada. La temperatura de la sala debe estar en el intervalo de funcionamiento especificado por el fabricante del equipo.

La tensión mayor o menor que la especificada, o que fluctúa, puede hacer que los procesadores y otros componentes electrónicos se comporten erráticamente. Un voltaje de alimentación principal incorrecto o incoherente, una fuente de alimentación sobrecargada o que funcione incorrectamente en el equipo, o circuitos de placa base que funcionen incorrectamente puede provocar que se suministre una tensión incorrecta o incoherente al procesador. Póngase en contacto con los técnicos adecuados para comprobar si alguno de estos problemas puede ser la causa de los síntomas.

Más información

Para obtener más información sobre los errores de STOP 0x0000007F, consulte 0x0000007F Detener error en un equipo basado en Windows.

El registro ESP también se conoce como registro de puntero de pila. Una pila es una estructura de datos en memoria que se usa para almacenar información sobre el estado actual de la ejecución de un subproceso. La pila de un subproceso se usa para realizar un seguimiento de las llamadas de función en curso, de los parámetros que se pasan a esas funciones y de las variables que usan esas funciones. Se espera que el valor del registro ESP apunte a la parte superior actual de la pila. Si el valor de ESP es incorrecto, puede apuntar a información incorrecta o a una dirección no válida. Si el valor de ESP apunta a una dirección no válida, puede producirse una excepción de doble error.

Para determinar si el error Stop es el resultado de un error de un solo bit en el registro ESP, siga estos pasos:

  1. Instale las herramientas de depuración de Microsoft para Windows.

  2. Ejecute la herramienta WinDbg, seleccione Archivo, seleccione Abrir volcado de memoria para buscar el archivo de volcado de memoria que contiene la información detener el error y, a continuación, seleccione Aceptar.

  3. Ejecute el !analyze -v comando para obtener un análisis automatizado del archivo de volcado.

  4. Examine la salida del !analyze -v comando para ver si la salida muestra una condición de doble error. Si existe una condición de doble error, ejecute el .tss 28 comando para mostrar el estado del sistema en el momento del error doble. Por lo general, este valor está relativamente cerca del valor del registro EBP.

  5. Ejecute el !thread comando para ver el intervalo de pila del subproceso actual. Normalmente, se produce una excepción de doble error cuando el valor del registro ESP está fuera del intervalo de direcciones reservadas para la pila para el subproceso actual.

    Cuando se ejecuta este subproceso determinado, el valor de registro ESP siempre debe estar entre el valor base de pila (f5d2a000) y el valor límite (f5d27000). Por lo general, el valor del registro ESP está relativamente cerca del valor actual (f5d29c9c). (El valor actual también está entre el valor base de la pila y el valor límite).

    También puede comprobar los valores del intervalo de pila mediante la ejecución del !pcr comando .

    El NtTib.StackLimit valor representa el límite inferior del intervalo de pila. El NtTib.StackBase valor representa un valor reciente de ESP. El NtTib.StackBase valor se puede comparar con el valor actual del registro ESP para ayudar a identificar si hay un error de un solo bit en el valor de registro esp actual.

  6. Ejecute el .formats esp ^ ebp comando para mostrar las diferencias en los valores entre los registros ESP y EBP. El valor del puntero de pila en el registro EBP estará cerca del valor del puntero de pila en el registro ESP, excepto para el error de un solo bit. Este comando revela con frecuencia el bit de orden alto único que contiene el error, especialmente cuando el error se muestra en formato binario.

    Si omite los dígitos más bajos y menos significativos, la diferencia de un solo bit entre los registros ESP y EBP es 00000000 00001000 00000000000000000000 en formato binario. La diferencia es 00080000 en formato hexadecimal.

    Este error de un solo bit hace que el registro ESP contenga un valor incorrecto. El valor incorrecto provoca una excepción de doble error, una comprobación de errores y un bloqueo del sistema.

Para obtener más información sobre el hardware específico, siga estos pasos:

  1. Use el !cpuinfo comando para obtener información de versión de CPU.

    Aunque es posible que el valor De la firma de actualización no siempre se notifique con precisión al analizar un archivo de volcado de memoria, el campo Actualizar firma generalmente indica la revisión de actualización del microcódigo que se aplica a la CPU.

  2. Use el !pcitree comando para buscar el proveedor y los identificadores de dispositivo (identificadores VenDev) para los dispositivos de interfaz de conexión periférica (PCI) existentes.

    Para cada dispositivo PCI que aparece, el primer valor hexadecimal de 8 dígitos (DWORD) en cada línea es el identificador VenDev. El id. de proveedor es realmente los 4 dígitos de este valor. Por ejemplo, el primer dispositivo que aparece tiene un identificador VenDev de 0x00141166. El id. de dispositivo es 0x0014 y el id. de proveedor es 0x1166. El identificador de proveedor de ServerWorks se 0x1166. Por lo tanto, esta salida procede de un procesador instalado en una placa base que usa chipsets ServerWorks.

Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.