Erro de tela azul "STOP 0x0000007f" no Windows NT/2000/XP

Close X

Este documento é uma tradução de um documento em inglês e pode ter sido realizada por uma máquina. A versão original em inglês pode ter sido atualizada após a publicação desta tradução, de maneira que poderá não corresponder ao conteúdo deste documento traduzido. A Symantec não garante que essa tradução seja precisa e completa. Você também pode consultar a versão em inglês deste artigo da base de conhecimento para obter as informações mais atuais, conforme elaboradas originalmente.

Artigo:TECH99708  |  Criado em: 2003-01-06  |  Atualizado: 2005-01-01  |  URL do artigo http://www.symantec.com/docs/TECH99708
Tipo de artigo
Technical Solution


Ambiente

Problem



Você instalou um programa de antivírus da Symantec, ou um outro aplicativo que instale um driver de núcleo, no Windows NT/2000/XP. Após a instalação, o computador é reiniciado de forma inesperada ou apresenta uma tela azul com uma mensagem STOP semelhante a:

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

Nessa situação, é comum encontrar uma configuração do Windows 2000 Server com serviços de terminal em modo de administração remota, além de uma combinação de qualquer um dos seguintes aplicativos: Symantec AntiVirus Corporate Edition 8.0, St. Bernard Open File Manager, Quota Manager, Legato RepliStor, ou outros "drivers de filtro" que se registrem na pilha do núcleo.


Solution



O problema ocorre devido à quantidade limitada de espaço no núcleo disponível para drivers de núcleo. No caso do Windows 2000, esse limite é 12 KB. Se o sistema operacional ficar sem espaço no núcleo, o computador exibirá uma mensagem de erro de tela azul.

O Windows 2000 executando o NTFS examina a pilha do núcleo disponível antes de processar uma solicitação de E/S. Se o NTFS determinar que não há espaço suficiente na pilha, o resultado será um erro de exceção. Caso não haja espaço suficiente na pilha para o processamento da exceção, ocorrerá um estouro da pilha e o sistema falhará, resultando em uma tela azul com uma mensagem STOP.

Quando a Proteção em tempo real do sistema de arquivos do Symantec AntiVirus ou Norton AntiVirus examina um arquivo quanto à existência de vírus, ela solicita ao sistema de arquivos correspondente o acesso àquele arquivo. Essas solicitações de E/S de arquivo podem consumir espaço na pilha do núcleo.

Para impedir que a Proteção em tempo real do sistema de arquivos utilize espaço adicional na pilha do núcleo em uma situação de pouco espaço, um valor de configuração interna chamado KStackMinFree foi adicionado e pode ser configurado através do Registro do Windows. Esse valor é suportado no Norton AntiVirus Corporate Edition 7.61 build 21 (lançado em outubro de 2001) e em builds posteriores.

O valor do Registro KStackMinFree especifica um valor mínimo de pilha do núcleo que deve estar liberado para que a Proteção em tempo real do sistema de arquivos possa solicitar E/S de arquivos ao sistema de arquivos. Se o valor de KStackMinFree estiver presente no Registro, a Proteção em tempo real do sistema de arquivos calculará a quantidade de espaço disponível na pilha antes de realizar operações de E/S de arquivos. Se a pilha de núcleo disponível for menor do que o valor no Registro, a Proteção em tempo real do sistema de arquivos não fará quaisquer operações de E/S e não examinará o arquivo.

NOTA: A Proteção em tempo real do sistema de arquivos ignora apenas os arquivos acessados pelos componentes de núcleo confiáveis (Ring 0). Se os arquivos forem acessados por componentes de modo de usuário (que não forem Ring 0), a Proteção em tempo real do sistema de arquivos examinará tais arquivos.

A implementação dessa alteração envolve um processo de duas etapas:
  1. Modificar o Registro ao adicionar o valor KstackMinFree.
  2. Interromper e reiniciar o serviço antivírus para que as alterações tenham efeito.

Para modificar o Registro ao adicionar o valor KstackMinFree:

CUIDADO: Recomendamos que você faça backup do Registro antes de efetuar quaisquer alterações. Alterações incorretas ao Registro podem resultar na perda permanente de dados ou em arquivos corrompidos. Modifique somente as chaves que são especificadas. Consulte os documentos Como fazer backup do Registro do Windows e How to use the Windows Registry editor (este recurso encontra-se em inglês) antes de prosseguir.
  1. Execute o Regedit.exe para abrir o Registro do Windows.
  2. Vá até a seguinte chave:

    HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\Norton AntiVirus NT\Auto-Protect\InternalSettings
  3. Clique com o botão direito em InternalSettings, selecione Novo e clique em valor DWORD.
  4. Digite KStackMinFree como o novo valor DWORD.
  5. Clique com o botão direito no valor KStackMinFree e, em seguida, clique em Modificar. Defina a base como Hexadecimal e digite 2200 no campo de dados Valor.

    Os usuários do Windows 2000/XP podem criar automaticamente o KStackMinFree e defini-lo como 2200 ao fazer o download e importar o arquivo KStackMinFree.reg anexado.

    KStackMinFree.reg

A Symantec recomenda um intervalo entre 8,0 KB e 8,5 KB (Hex 2000-2200), embora cada ambiente seja diferente e possa ser necessário experimentar outros valores a fim de encontrar o correto. O gráfico a seguir mostra outros valores possíveis:
Requisito mínimo de memória de núcleo disponívelValor HEX
5.0 KB0x1400
5.5 KB0x1600
6.0 KB0x1800
6.5 KB0x1a00
7.0 KB0x1c00
7.5 KB0x1e00
8.0 KB0x2000
8.5 KB (recomendado)0x2200
9.0 KB0x2400

NOTAS:
  • Se o valor definido for muito baixo, é possível que ocorra um estouro de pilha e o sistema pare de responder.
  • Se o valor definido for alto demais, verificações de arquivo podem ser ignoradas desnecessariamente.
  • Se o valor do Registro não estiver presente, ou estiver definido como 0 ou maior do que 0x2400, a Proteção em tempo real do sistema de arquivos funcionará de maneira normal.

Para reiniciar o serviço antivírus:
  1. Abra a janela Serviços:
    • No Windows NT 4, clique duas vezes em Serviços no Painel de Controle.
    • No Windows 2000/XP, clique duas vezes em Ferramentas Administrativas e clique duas vezes em Serviços.
  2. Localize o serviço antivírus. O nome do serviço irá variar de acordo com o produto da Symantec instalado, porém será um dos seguintes:
    • Norton AntiVirus Client
    • Norton AntiVirus Server
    • Symantec AntiVirus Client
    • Symantec AntiVirus Server
  3. Interrompa e reinicie o serviço antivírus adequado.

As alterações ao valor de KStackMinFree terão efeito após o serviço ter sido reiniciado.

Para obter mais informações
Consulte os documentos da Microsoft a seguir para obter mais informações (estes recursos encontram-se em inglês):
137539, General Causes of STOP 0x0000007F Errors
276069, "STOP 0x0000007F" on Windows 2000 with InoculateIT Enterprise Edition Installed
303268, "STOP 0x0000007F" on Windows 2000 Using Veritas Netbackup with Open File Manager Software
317214, Terminal Server Unexpectedly Restarts or You Receive STOP Error 0x0000007F
300225, "Stop 0x0000007f" Error Message May Be Displayed When the WQuinn QuotaAdvisor 4.1 Program Is Installed





Attachments

KStackMinFree.reg (330 Bytes)

Legacy ID



20030506175825935


URL do artigo http://www.symantec.com/docs/TECH99708


Os termos de uso destas informações encontram-se em Avisos legais