Partilhar via


0x1A de Verificação de Bugs: MEMORY_MANAGEMENT

O bug MEMORY_MANAGEMENT marcar tem um valor de 0x0000001A. O bug marcar indica que ocorreu um erro grave de gerenciamento de memória.

Importante

Este artigo é para programadores. Se você for um cliente da Microsoft e seu computador exibir um código de erro de tela azul, consulte Solucionar erros de tela azul.

parâmetros de MEMORY_MANAGEMENT

O parâmetro 1 identifica a violação exata.

Parâmetro 1 Causa do erro
0x31 A tabela de correção de realocação de imagem ou o fluxo de código foi corrompido. O erro provavelmente é um erro de hardware.
0x3f Uma operação de inpágina falhou com um erro de CRC (marcar de redundância cíclica). O parâmetro 2 contém o deslocamento de pagefile. O parâmetro 3 contém o valor crc da página. O parâmetro 4 contém o valor esperado do CRC.
0x403 A tabela de páginas e os PFNs (números de quadro de página) estão fora de sincronia. O erro provavelmente é um erro de hardware, especialmente se os parâmetros 3 e 4 forem diferentes em apenas um bit.
0x404 No processo de exclusão de uma página do sistema, foi encontrada uma inconsistência entre o PFN e o ponteiro PTE (entrada da tabela de páginas) atual. O parâmetro 2 é o PTE esperado. O parâmetro 3 é o conteúdo de PTE. O parâmetro 4 é o PTE do PFN.
0x411 Uma PTE foi corrompida. O parâmetro 2 é o endereço do PTE.
0x1010 O chamador está desbloqueando uma seção paginável que não está bloqueada no momento. (Esta seção nunca foi bloqueada ou está sendo desbloqueada duas vezes.)
0x1233 Um driver tentou mapear uma página de memória física que não estava bloqueada. Essa ação é ilegal porque o conteúdo ou os atributos da página podem ser alterados a qualquer momento. Um bug no código fez a chamada de mapeamento. O parâmetro 2 é o PFN da página física que o driver tentou mapear.
0x1234 O chamador está tentando bloquear uma seção paginável inexistente.
0x1235 O chamador está tentando proteger um MDL com um mapeamento inválido.
0x1236 O chamador especificou um MDL que contém uma página física desbloqueada (ou inválida). O parâmetro 2 contém um ponteiro para o MDL. O parâmetro 3 contém um ponteiro para o PFN inválido. O parâmetro 4 contém o valor PFN inválido.
0x1240 É ilegal que os chamadores criem um MDL para um intervalo de endereços virtuais que não seja residente. O parâmetro 2 é o MDL. O parâmetro 3 é o ponteiro PTE.
0x3300 Durante uma ação de gravação, o endereço virtual referenciado é marcado erroneamente como "copiar na gravação". O parâmetro 2 é o valor de FaultingAddress. O parâmetro 3 é o conteúdo de PTE. O parâmetro 4 indica o tipo de espaço de endereço virtual.
0x3451 Os PTEs de uma pilha de threads de kernel que foi trocado estão corrompidos.
0x3453 Nem todas as páginas de tabela de página de um processo encerrado podem ser excluídas devido a referências pendentes. Esse erro normalmente indica estruturas de tabela de página de processo corrompidas.
0x3470 Uma pilha de kernel em cache foi corrompida enquanto estava na lista gratuita. Essa corrupção de memória indica um problema sério, e a pilha de chamadas pode ser uma vítima ou um culpado. O parâmetro 2 é o endereço virtual. O parâmetro 3 é o cookie de endereço virtual.
0x4477 Um driver tentou gravar em um endereço não alocado no espaço do usuário do processo do sistema. O parâmetro 2 contém o endereço da tentativa de gravação.
0x5100 O bitmap de alocação está corrompido. O gerenciador de memória está prestes a substituir um endereço virtual que já estava em uso.
0x5305 O chamador está especificando um endereço de pool inválido (parâmetro 2) para liberar. O parâmetro 2 é o endereço virtual que está sendo avaliado. O parâmetro 3 é o tamanho da região.
0x6001 O intervalo de memória privada do componente do repositório de memória está corrompido, portanto, tornou-se inacessível. O parâmetro 2 é o status retornado. O parâmetro 3 é o endereço virtual no intervalo de memória privada do repositório. O parâmetro 4 é o MDL.

0x8886 0x8887
(Windows 7 e posterior). Duas páginas na lista em espera que deveriam ter valores de prioridade de página idênticos não têm valores de prioridade de página idênticos. Os valores diferentes são capturados no parâmetro 4.

0x8889 0x8888
Estruturas internas de gerenciamento de memória estão corrompidas.
0x888A Estruturas internas de gerenciamento de memória (provavelmente A PTE ou PFN) estão corrompidas.
0x9696 Um PFN (parâmetro 2) foi encontrado com uma vinculação corrompida que não está mais conectada ao processo de nível superior. Esse erro indica estruturas PFN corrompidas.
0x15000 O chamador está fornecendo o endereço errado ou chamando essa rotina no contexto de processo errado. Ambas as ações são ilegais porque não podemos cancelar a integridade de um intervalo que não podemos encontrar devido a esse erro. O parâmetro 2 é o endereço virtual que está sendo avaliado.
0x15001 Ocorreu um erro no processo de memória não segura que anteriormente era protegida. Esse erro poderá ocorrer se o chamador tiver invocado MmUnsecureVirtualMemory erroneamente no contexto de processo errado.
0x41202 No processo de determinar a proteção de página de um PTE diferente de zero, foi determinado que o PTE está corrompido. O parâmetro 2 é o ponteiro PTE. O parâmetro 3 é o conteúdo PTE. O parâmetro 4 é o descritor de endereço virtual.
0x41286 O chamador está tentando liberar um endereço de pool inválido.
0x41785 A lista de conjuntos de trabalho está corrompida.
0x41287 Ocorreu uma falha de página ilegal ao manter a sincronização do conjunto de trabalho. O parâmetro 2 contém o endereço virtual referenciado.
0x41790 Uma página de tabela de página foi corrompida. Em uma versão de 64 bits do Windows, o parâmetro 2 contém o endereço do PFN para a página de tabela de página corrompida. Em uma versão de 32 bits do Windows, o parâmetro 2 contém um ponteiro para o número de PTEs usados e o parâmetro 3 contém o número de PTEs usados.
0x41792 Um PTE corrompido foi detectado. O parâmetro 2 contém o endereço do PTE. Os parâmetros 3 e 4 contêm as partes baixa e alta do PTE.
0x61941 A hierarquia de paginação está corrompida. O parâmetro 2 é um ponteiro para o endereço virtual que causou a falha.
0x61948 No processo de diminuição das contagens de referência para uma região de espaço de E/S, não foi possível encontrar o nó contábil da região. Normalmente, esse erro significa que o intervalo de argumentos nunca foi bloqueado ou que ele já foi desbloqueado. O parâmetro 2 é o quadro de E/S base. O parâmetro 3 é o número de páginas na região. O parâmetro 4 é o quadro de E/S específico para o qual não foi possível encontrar um nó.
0x61949 O IoPageFrameNode valor é nulo. O parâmetro 2 é PageFrameIndex.
0x6194A Ocorreu um erro ao diminuir as contagens de referência em páginas físicas de espaço de E/S que estão sendo não mapeadas. Uma entrada que não é referenciada no momento está sendo desreferenciada. Os parâmetros 2 e 3 descrevem o intervalo de espaço de E/S do chamador que está sendo não mapeado. O parâmetro 4 é a página física de espaço de E/S que deve ser referenciada, mas que não é referenciada.
0x03030308 O intervalo a ser removido (ou truncado) está em uso pelo carregador. Ele não pode ser removido com segurança, portanto, o sistema deve emitir um código de parada. O parâmetro 2 é HighestPhysicalPage.

Esses valores de parâmetro 1 foram usados em versões anteriores do Windows.

Parâmetro 1 Causa do erro
0x777 O chamador está desbloqueando um endereço de cache do sistema que não está bloqueado no momento. (O endereço nunca foi mapeado ou está sendo desbloqueado duas vezes.)
0x778 O sistema está usando o último endereço de exibição de cache do sistema em vez de preservá-lo.

0x780 0x781
Os PTEs que mapeiam a exibição de cache do sistema de argumentos foram corrompidos.
0x1000 Um chamador de MmGetSystemAddressForMdl* tentou mapear uma página física totalmente armazenada em cache como não armazenada em cache. Essa ação causaria uma entrada conflitante de buffer de tradução de hardware, portanto, ela foi recusada pelo sistema operacional. Como o chamador especificou "bug marcar em caso de falha" na MDL (Lista de Descritores de Memória) solicitada, o sistema emitiu um bug marcar.
0x1241 O endereço virtual do MDL foi inesperadamente não mapeado de forma assíncrona durante a chamada para compilar o MDL. O parâmetro 2 é o MDL. O parâmetro 3 é o ponteiro PTE.
0x5003 A lista gratuita do conjunto de trabalho está corrompida. Provavelmente é um erro de hardware.
0x5200 Uma página em um SLIST de pool gratuito foi corrompida. Esse erro pode ser o resultado de um bug de gravação após a liberação em um driver ou um estouro de uma página anterior. O parâmetro 2 contém o endereço de um bloco de pool gratuito. O parâmetro 4 contém o valor esperado para estar nesse endereço. O parâmetro 3 contém o valor real encontrado.

0x8884 0x8885
(Windows 7 e posterior). Duas páginas na lista em espera que deveriam ter valores de prioridade de página idênticos não têm valores de prioridade de página idênticos. Os valores diferentes são capturados no parâmetro 4.
0x41201 No processo de consulta de um endereço virtual, a inconsistência entre o PFN e o ponteiro PTE atual foi encontrada. O parâmetro 2 é o PTE correspondente. O parâmetro 3 é o conteúdo PTE. O parâmetro 4 é o descritor de endereço virtual.
0x41283 O índice do conjunto de trabalho codificado no PTE está corrompido.
0x41284 Uma lista de PTE ou conjunto de trabalho está corrompida.
0x41793 Uma página de tabela de página foi corrompida. O parâmetro 2 contém um ponteiro para o último PTE processado. O parâmetro 3 contém o número de PTEs não zero encontrados. O parâmetro 4 contém o número esperado de PTEs não zero na tabela de páginas.
Esse parâmetro de memória foi preterido e não está mais disponível após Windows 10 versão 1803.
0x61940 Um PDE foi invalidado inesperadamente.
0x61946 O MDL que está sendo criado é falho. Esse erro quase sempre significa que a chamada MmProbeAndLockPages do driver está em falta. Normalmente, o driver está tentando criar um MDL de gravação quando ele está sendo solicitado a processar uma leitura de paginação.
0x03030303 O carregador de inicialização está quebrado. (Esse valor se aplica somente a computadores Intel Itanium.)

Resolução

A extensão de depuração !analyze exibe informações sobre o bug marcar. As informações na extensão de depuração podem ajudá-lo a identificar a causa raiz.

Você também pode achar útil executar a ferramenta diagnóstico de memória do Windows para marcar para problemas que afetam módulos de memória física.

Confira também

Referência de código de verificação de bug