Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce una soluzione a un 0x0000007F STOP, 0x00000008 messaggio di errore nel computer a causa di un errore del processore specifico. Questo messaggio di errore può essere visualizzato quando si verifica un errore a bit singolo nel registro ESP di un processore in esecuzione nel computer.
Numero KB originale: 842465
Sintomi
In un computer che esegue uno o più processori Intel Xeon o che esegue altri processori, Windows potrebbe visualizzare un messaggio di errore Stop simile all'esempio seguente:
STOP 0x0000007F (0x00000008, 0x00000000, 0x00000000, 0x00000000) UNEXPECTED_KERNEL_MODE_TRAP
Quando si verifica questo problema, le condizioni seguenti sono vere:
- Il primo parametro dell'errore Stop è "0x0000008". Questo errore è un'eccezione a doppio errore.
- A causa di un errore a bit singolo nella metà superiore del registro ESP, il valore nel registro ESP non rientra nell'intervallo di stack del thread corrente.
Causa
Questo problema si verifica se uno o più processori nel computer:
Richiedere un aggiornamento del microcodice non applicato dal sistema di input/output di base del computer.
Sono danneggiati o difettosi.
Funzionano al di fuori degli intervalli specificati per temperatura, potenza o altre condizioni.
Risoluzione
Per risolvere questo problema, usare uno dei metodi di risoluzione dei problemi seguenti.
Metodo 1: determinare se il processore esegue la revisione di produzione dell'aggiornamento del microcodice
Un aggiornamento di microcodice corregge errori o bug nella logica implementata internamente di un processore. Gli aggiornamenti del microcodice non possono essere archiviati in modo permanente nel processore stesso e devono essere caricati nel processore ogni volta che il computer viene avviato. Gli aggiornamenti del microcodice possono essere applicati dal BIOS del computer o dal driver Update.sys.
Per identificare la revisione dell'aggiornamento del microcodice attualmente applicato a un processore Intel installato nel computer, seguire questa procedura:
Installare ed eseguire Intel Processor Identification Utility nel computer che presenta sintomi.
Annotare le informazioni seguenti sulla CPU per ogni processore:
- Famiglia di CPU
- Modello CPU
- Istruzione CPU
- Revisione CPU
I valori Cpu Family, CPU Model e CPU Stepping identificano il tipo specifico di processore. Il valore revisione CPU identifica la revisione dell'aggiornamento del microcodice applicato.
Contattare il produttore del computer per determinare se la revisione dell'aggiornamento del microcodice è la revisione più recente disponibile per un determinato processore. Se la revisione non è la più recente, chiedere al produttore del computer un BIOS aggiornato che applicherà la revisione dell'aggiornamento del microcodice più recente.
I sintomi descritti in questo articolo sono stati osservati più frequentemente nei processori Intel Xeon con i valori CPU Family, CPU Model e CPU Stepping rispettivamente di 15, 2 e 9 e installati nelle schede madre che usano chipset ServerWorks. I valori esadecimali della famiglia di CPU, modello cpu e CPU sono rispettivamente F, 2 e 9. Questi processori richiedono un valore di revisione di 0x18 o versione successiva per funzionare correttamente. (0x18 equivale a un valore decimale pari a 24.
Il valore di revisione 0 indica che il BIOS del computer non dispone dell'aggiornamento del microcodice corretto per i processori installati nel computer. È necessario aggiornare il BIOS con una revisione dell'aggiornamento di microcodice che supporta i processori in uso.
Intel consiglia di applicare le revisioni degli aggiornamenti di microcodice più recenti per evitare problemi noti.
Metodo 2: determinare se un processore è danneggiato o difettoso
Se i processori installati nei computer interessati hanno la revisione dell'aggiornamento del microcodice di produzione applicata e i sintomi descritti in questo articolo non si verificano in tutti i computer dello stesso modello che eseguono gli stessi processori, i processori potrebbero essere difettosi.
Per determinare se un processore è danneggiato o difettoso, spostare il processore in un computer che non riscontra alcun sintomo.
Avviso
Se si modificano i processori, seguire le istruzioni fornite dal produttore del computer o contattare tecnici hardware qualificati in modo appropriato per modificare i processori.
Se i sintomi continuano a verificarsi nel computer originale con il processore sostitutivo, ma non sull'altro computer con il processore originale, il problema probabilmente non è causato da un processore danneggiato o difettoso.
Se i sintomi non continuano a verificarsi nel computer originale con il processore sostitutivo, ma si verificano nell'altro computer con il processore originale, il problema è probabilmente causato da un processore danneggiato o difettoso. In questo caso, contattare il produttore del computer per sostituire il processore originale.
Se il computer che riscontra i sintomi descritti in questo articolo ha più di un processore, spostare tutti i processori nell'altro computer. Se i risultati indicano che uno o più di questi processori possono essere difettosi, spostare i processori uno alla volta per determinare il processore o i processori che potrebbero essere difettosi.
Metodo 3: Determinare se un processore opera al di fuori di un intervallo specificato di condizioni ambientali
Una temperatura eccessiva della stanza, una cattiva ventilazione o un accumulo di polvere può causare componenti elettronici, ad esempio processori, comportarsi in modo irregolare. Le ventole non funzionanti o i passaggi d'aria bloccati possono causare problemi di ventilazione. Se l'interno o i passaggi d'aria del computer sono polverosi, o se il computer presenta sintomi quando viene installato solo in una particolare posizione, il surriscaldamento del sistema può essere un fattore. Assicurarsi che i componenti siano puliti, che i fan funzionino correttamente e che i passaggi dell'aria non siano ostruiti. Inoltre, assicurarsi che la stanza in cui si trova il computer sia adeguatamente ventilata. La temperatura della stanza deve essere compresa nell'intervallo operativo specificato dal produttore del computer.
La tensione maggiore o inferiore a quella specificata, o che fluttua, può causare il comportamento irregolare dei processori e di altri componenti elettronici. Tensione di alimentazione principale errata o incoerente, un alimentatore sovraccarico o non funzionante nel computer o circuiti della scheda madre non funzionante correttamente può causare tensione errata o incoerente da fornire al processore. Contattare i tecnici appropriati per verificare se uno di questi problemi può essere la causa dei sintomi.
Ulteriori informazioni
Il registro ESP è noto anche come registro del puntatore dello stack. Uno stack è una struttura di dati in memoria usata per archiviare informazioni sullo stato corrente dell'esecuzione di un thread. Lo stack di un thread viene usato per tenere traccia delle chiamate di funzione in corso, dei parametri passati a tali funzioni e delle variabili usate da tali funzioni. Il valore nel registro ESP dovrebbe puntare alla parte superiore corrente dello stack. Se il valore in ESP non è corretto, può puntare a informazioni non corrette o a un indirizzo non valido. Se il valore in ESP punta a un indirizzo non valido, può verificarsi un'eccezione a doppio errore.
Per determinare se l'errore stop è il risultato di un errore a bit singolo nel registro ESP, seguire questa procedura:
Installare Gli strumenti di debug Microsoft per Windows.
Eseguire lo strumento WinDbg, selezionare File, selezionare Apri dump di arresto anomalo del sistema per individuare il file di dump della memoria contenente le informazioni sull'errore di arresto e quindi selezionare OK.
Eseguire il
!analyze -v
comando per ottenere un'analisi automatica del file di dump.Esaminare l'output del
!analyze -v
comando per verificare se l'output mostra una condizione di errore doppio. Se esiste una condizione di doppio errore, eseguire il.tss 28
comando per visualizzare lo stato del sistema al momento del doppio errore. In genere, questo valore è relativamente vicino al valore del registro EBP.Eseguire il
!thread
comando per visualizzare l'intervallo di stack del thread corrente. Un'eccezione a doppio errore si verifica in genere quando il valore del registro ESP non rientra nell'intervallo di indirizzi riservati allo stack per il thread corrente.Quando questo particolare thread è in esecuzione, il valore del registro ESP deve essere sempre compreso tra il valore stack base (f5d2a000) e il valore Limite (f5d27000). In genere, il valore del registro ESP è relativamente vicino al valore Corrente (f5d29c9c). Il valore Current è compreso anche tra il valore Stack Base e il valore Limit.
È anche possibile controllare i valori dell'intervallo di stack eseguendo il
!pcr
comando .Il
NtTib.StackLimit
valore rappresenta il limite inferiore dell'intervallo di stack. IlNtTib.StackBase
valore rappresenta un valore recente di ESP. IlNtTib.StackBase
valore può essere confrontato con il valore corrente del registro ESP per identificare se si verifica un errore a bit singolo nel valore di registro ESP corrente.Eseguire il
.formats esp ^ ebp
comando per visualizzare le differenze nei valori tra i registri ESP e EBP. Il valore del puntatore dello stack nel registro EBP sarà vicino al valore del puntatore dello stack nel registro ESP, ad eccezione dell'errore a bit singolo. Questo comando rivela spesso il singolo bit di ordine elevato che contiene l'errore, soprattutto quando l'errore viene visualizzato in formato binario.Se si ignorano le cifre inferiori e meno significative, la differenza a bit singolo tra i registri ESP e EBP è 0000000000 000010000 0000000000000000 in formato binario. La differenza è 00080000 in formato esadecimale.
Questo errore a bit singolo fa sì che il registro ESP contenga un valore non corretto. Il valore non corretto causa un'eccezione a doppio errore, un controllo dei bug e un arresto anomalo del sistema.
Per ottenere altre informazioni sull'hardware specifico, seguire questa procedura:
Usare il
!cpuinfo
comando per ottenere informazioni sulla versione della CPU.Anche se il valore Update Signature potrebbe non essere sempre segnalato con precisione quando si analizza un file di dump di arresto anomalo del sistema, il campo Firma di aggiornamento indica in genere la revisione dell'aggiornamento del microcodice applicata alla CPU.
Usare il
!pcitree
comando per trovare gli identificatori del fornitore e del dispositivo (ID VenDev) per i dispositivi PCI (Peripheral Connect Interface) esistenti.Per ogni dispositivo PCI elencato, il primo valore esadecimale (DWORD) a 8 cifre in ogni riga è l'ID VenDev. L'ID fornitore è in realtà la seconda 4 cifre di questo valore. Ad esempio, il primo dispositivo elencato ha un ID VenDev di 0x00141166. L'ID dispositivo è 0x0014 e l'ID fornitore è 0x1166. L'ID fornitore per ServerWorks è 0x1166. Quindi questo output proviene da un processore installato in una scheda madre che usa chipset ServerWorks.
I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti