Delen via


Stop 7F, 0x00000008 (dubbele fout) treedt op vanwege een enkele-bits fout in het ESP-register

Dit artikel biedt een oplossing voor een STOP-0x0000007F, 0x00000008 foutbericht op uw computer vanwege een specifieke processorfout. Dit foutbericht kan worden weergegeven wanneer er een fout met één bits optreedt in het ESP-register van een processor die op de computer wordt uitgevoerd.

Van toepassing op: Windows Server 2012 R2
Origineel KB-nummer: 842465

Symptomen

Op een computer waarop een of meer Intel Xeon-processors worden uitgevoerd of waarop andere processors worden uitgevoerd, kan Windows een Stop-foutbericht weergeven dat vergelijkbaar is met het volgende voorbeeld:

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

Wanneer dit probleem zich voordoet, gelden de volgende voorwaarden:

  • De eerste parameter van de stopfout is '0x0000008'. (Deze fout is een uitzondering met dubbele fouten.)
  • Vanwege een fout met één bits in de bovenste helft van het ESP-register valt de waarde in het ESP-register buiten het stackbereik van de huidige thread.

Oorzaak

Dit probleem treedt op als een of meer processors op de computer:

  • Een microcode-update vereisen die niet wordt toegepast door het BIOS (Basic Input/Output System) van de computer.

  • beschadigd of defect zijn.

  • werken buiten de opgegeven bereiken voor temperatuur, vermogen of andere omstandigheden.

Oplossing

Gebruik een van de volgende probleemoplossingsmethoden om dit probleem op te lossen.

Methode 1: Bepalen of de processor de productierevisie van de microcode-update uitvoert

Een microcode-update corrigeert errata, of bugs, in de intern geïmplementeerde logica van een processor. Microcode-updates kunnen niet permanent worden opgeslagen in de processor zelf en moeten elke keer dat de computer wordt gestart, in de processor worden geladen. Microcode-updates kunnen worden toegepast door het BIOS van de computer of door het Update.sys stuurprogramma.

Voer de volgende stappen uit om de revisie van de microcode-update te identificeren die momenteel wordt toegepast op een Intel-processor die op uw computer is geïnstalleerd:

  1. Download het Intel Processor Identification Utility.

  2. Installeer en voer het Intel Processor Identification Utility uit op de computer die symptomen ondervindt.

  3. Noteer de volgende CPU-informatie voor elke processor:

    • CPU-familie
    • CPU-model
    • CPU-stappen
    • CPU-revisie

    De CPU-familie, het CPU-model en de CPU-stapwaarden bepalen het specifieke type processor. De waarde cpu-revisie geeft de revisie aan van de microcode-update die wordt toegepast.

  4. Neem contact op met de fabrikant van uw computer om te bepalen of de revisie van de microcode-update de meest recente revisie is die beschikbaar is voor een bepaalde processor. Als de revisie niet de meest recente is, vraagt u de fabrikant van uw computer om een bijgewerkt BIOS waarmee de meest recente microcode-updaterevisie wordt toegepast.

De symptomen die in dit artikel worden beschreven, zijn het vaakst waargenomen op Intel Xeon-processors met de CPU-serie, CPU-model en CPU-stapwaarden van respectievelijk 15, 2 en 9 en die zijn geïnstalleerd op moederborden die gebruikmaken van ServerWorks-chipsets. (De hexadecimale waarden van de CPU-familie, het CPU-model en het CPU-model zijn respectievelijk F, 2 en 9.) Deze processors vereisen een revisiewaarde van 0x18 of hoger om correct te kunnen functioneren. (0x18 is gelijk aan een decimaalwaarde van 24.)

Een revisiewaarde van 0 geeft aan dat het BIOS van de computer niet de juiste microcode-update heeft voor de processors die op de computer zijn geïnstalleerd. U moet het BIOS bijwerken met een microcode-updaterevisie die ondersteuning biedt voor de processors die u gebruikt.

Intel raadt u aan de meest recente revisies van microcode-updates toe te passen om bekende problemen te voorkomen.

Methode 2: Bepalen of een processor beschadigd of defect is

Als op de processors die zijn geïnstalleerd op de betrokken computers de revisie van de productiemicrocode-update is toegepast en de symptomen die in dit artikel worden beschreven niet optreden op alle computers van hetzelfde model waarop dezelfde processors worden uitgevoerd, zijn de processors mogelijk defect.

Als u wilt bepalen of een processor beschadigd of defect is, verplaatst u de processor naar een computer die geen symptomen ondervindt.

Waarschuwing

Als u van processor verandert, volgt u de instructies die zijn verstrekt door de fabrikant van uw computer of schakelt u de juiste gekwalificeerde hardwaretechnici in om de processors te wijzigen.

Als de symptomen blijven optreden op de oorspronkelijke computer met de vervangende processor, maar niet op de andere computer met de oorspronkelijke processor, wordt het probleem waarschijnlijk niet veroorzaakt door een beschadigde of een defecte processor.

Als de symptomen niet blijven optreden op de oorspronkelijke computer met de vervangende processor, maar wel optreden op de andere computer met de oorspronkelijke processor, wordt het probleem waarschijnlijk veroorzaakt door een beschadigde of een defecte processor. Neem in dit geval contact op met de fabrikant van uw computer om de oorspronkelijke processor te vervangen.

Als de computer die de symptomen ondervindt die in dit artikel worden beschreven, meer dan één processor heeft, verplaatst u alle processors naar de andere computer. Als de resultaten aangeven dat een of meer van deze processors defect kunnen zijn, verplaatst u processors één voor één om te bepalen welke processor of verwerkers mogelijk defect zijn.

Methode 3: Bepalen of een processor buiten een bepaald bereik van omgevingsomstandigheden werkt

Overmatige kamertemperatuur, slechte ventilatie of stofophoping kunnen ervoor zorgen dat elektronische onderdelen, zoals processors, zich onregelmatig gedragen. Defecte ventilatoren of geblokkeerde luchtdoorgangen kunnen ventilatieproblemen veroorzaken. Als de binnenkant of de luchtdoorgangen van de computer stoffig zijn of als de computer symptomen vertoont wanneer deze alleen op een bepaalde locatie is geïnstalleerd, kan oververhitting van het systeem een factor zijn. Zorg ervoor dat de onderdelen schoon zijn, dat ventilatoren correct werken en dat luchtdoorgangen niet worden geblokkeerd. Zorg er bovendien voor dat de ruimte waar de computer zich bevindt voldoende geventileerd is. De temperatuur van de ruimte moet binnen het werkbereik liggen dat is opgegeven door de fabrikant van de computer.

Spanning die hoger of lager is dan opgegeven, of die fluctueert, kan ertoe leiden dat processors en andere elektronische onderdelen zich onregelmatig gedragen. Onjuiste of inconsistente hoofdspanning, een overbelaste of niet goed werkende voeding in de computer, of een onjuist functionerend moederbordcircuit kan ertoe leiden dat een onjuiste of inconsistente spanning aan de processor wordt geleverd. Neem contact op met de juiste technici om te controleren of een van deze problemen de oorzaak van de symptomen kan zijn.

Meer informatie

Zie 0x0000007F Stop-fout op een Windows-computer voor meer informatie over STOP-0x0000007F-fouten.

Het ESP-register wordt ook wel het stackpointerregister genoemd. Een stack is een gegevensstructuur in het geheugen die wordt gebruikt voor het opslaan van informatie over de huidige status van de uitvoering van een thread. De stack van een thread wordt gebruikt om functie-aanroepen bij te houden die worden uitgevoerd, van parameters die aan deze functies worden doorgegeven en van variabelen die door deze functies worden gebruikt. De waarde in het ESP-register verwijst naar de huidige bovenkant van de stack. Als de waarde in ESP onjuist is, kan deze verwijzen naar onjuiste informatie of naar een ongeldig adres. Als de waarde in ESP verwijst naar een ongeldig adres, kan er een uitzondering met dubbele fouten optreden.

Voer de volgende stappen uit om te bepalen of de stopfout het resultaat is van een fout met één bits in het ESP-register:

  1. Installeer microsoft foutopsporingsprogramma's voor Windows.

  2. Voer het hulpprogramma WinDbg uit, selecteer Bestand, selecteer Crashdump openen om het geheugendumpbestand te zoeken dat de stopfoutinformatie bevat en selecteer vervolgens OK.

  3. Voer de !analyze -v opdracht uit om een geautomatiseerde analyse van het dumpbestand op te halen.

  4. Controleer de uitvoer van de !analyze -v opdracht om te zien of de uitvoer een dubbele foutvoorwaarde vertoont. Als er sprake is van een dubbele fout, voert u de .tss 28 opdracht uit om de systeemstatus op het moment van de dubbele fout weer te geven. Over het algemeen ligt deze waarde relatief dicht bij de waarde van het EBP-register.

  5. Voer de !thread opdracht uit om het stackbereik van de huidige thread weer te geven. Een uitzondering met dubbele fouten treedt meestal op wanneer de waarde van het ESP-register zich buiten het adresbereik bevindt dat is gereserveerd voor de stack voor de huidige thread.

    Wanneer deze specifieke thread wordt uitgevoerd, moet de WAARDE van het ESP-register zich altijd tussen de stackbasiswaarde (f5d2a000) en de limietwaarde (f5d27000) bevinden. Over het algemeen ligt de waarde van het ESP-register relatief dicht bij de huidige waarde (f5d29c9c). (De huidige waarde ligt ook tussen de waarde stackbasis en de limietwaarde.)

    Mogelijk kunt u ook de stackbereikwaarden controleren door de !pcr opdracht uit te voeren.

    De NtTib.StackLimit waarde vertegenwoordigt de ondergrens van het stackbereik. De NtTib.StackBase waarde vertegenwoordigt een recente waarde van ESP. De NtTib.StackBase waarde kan worden vergeleken met de huidige waarde van het ESP-register om te bepalen of er een enkele-bits fout optreedt in de huidige ESP-registerwaarde.

  6. Voer de .formats esp ^ ebp opdracht uit om de verschillen in waarden tussen de ESP- en EBP-registers weer te geven. De waarde van de stackpointer in het EBP-register ligt dicht bij de waarde van de stackpointer in het ESP-register, met uitzondering van de fout met één bits. Met deze opdracht wordt vaak de bit met één hoge volgorde weergegeven die de fout bevat, met name wanneer de fout wordt weergegeven in binaire indeling.

    Als u de lagere, minst significante cijfers negeert, is het verschil tussen de ESP- en EBP-registers 00000000 00001000 000000000000000 in binaire indeling. Het verschil is 00080000 in hexadecimale indeling.

    Deze enkele-bits fout zorgt ervoor dat het ESP-register een onjuiste waarde bevat. De onjuiste waarde veroorzaakt een uitzondering met dubbele fouten, een bugcontrole en een systeemcrash.

Voer de volgende stappen uit voor meer informatie over uw specifieke hardware:

  1. Gebruik de !cpuinfo opdracht om informatie over de CPU-versie op te halen.

    Hoewel de waarde Handtekening bijwerken niet altijd nauwkeurig wordt gerapporteerd wanneer u een crashdumpbestand analyseert, geeft het veld Handtekening bijwerken over het algemeen de updaterevisie van de microcode aan die op de CPU wordt toegepast.

  2. Gebruik de !pcitree opdracht om de leverancier- en apparaat-id's (VenDev-id's) voor bestaande PCI-apparaten (Peripheral Connect Interface) te vinden.

    Voor elk PCI-apparaat dat wordt vermeld, is de eerste 8-cijferige hexadecimale waarde (DWORD) op elke regel de VenDev-id. De leverancier-id is in feite de tweede 4 cijfers van deze waarde. Het eerste apparaat dat wordt vermeld, heeft bijvoorbeeld een VenDev-id van 0x00141166. De apparaat-id is 0x0014 en de leverancier-id is 0x1166. De leverancier-id voor ServerWorks is 0x1166. Deze uitvoer is dus afkomstig van een processor die is geïnstalleerd op een moederbord dat gebruikmaakt van ServerWorks-chipsets.

De producten van derden die in dit artikel worden vermeld, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.