CORRECÇÃO: Quando você executa um aplicativo baseado no .NET Framework 2.0, ocorre uma exceção System.AccessViolationException, ou um bloqueio de mensagens não ocorre em dois threads em um domínio de aplicativo

Traduções deste artigo Traduções deste artigo
ID do artigo: 975954 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Você encontrar um dos seguintes problemas ao executar um aplicativo no Microsoft .NET Framework 2.0.

Problema 1

Ou corrupção de dados ocorre ou você receber uma exceção System.AccessViolationException. Se você receber a exceção, você também receber a seguinte mensagem de erro:
Tentativa de ler ou gravar memória protegida. Isso geralmente é uma indicação que outra memória está corrompida.
Esse problema ocorre quando todas as seguintes condições forem verdadeiras:
  • Um assembly é compartilhado por vários domínios.
  • Um método de LCG (Lightweight Code Gen) está conectado a um tipo de dentro do assembly compartilhado.
  • O método LCG é coletado em vários domínios. Em seguida, o código no assembly é compilado por um compilador de (JIT) just-in-time.
  • O código em JIT e o método de LCG executam uma chamada de interface.

Problema 2

Quando você executa o aplicativo em um computador com o uso de memória alta, o aplicativo pára de responder. Se você depurar o problema usando a ferramenta Windbg.exe, você encontrar o que ocorre um bloqueio de mensagens não aceitas em dois threads em um domínio de aplicativo.

Causa

Causa do problema 1

A corrupção de dados ocorre porque uma common language runtime (CLR) stub função não está mais na memória confirmada após um domínio de aplicativo é reciclado. A função foi gerada dinamicamente.

Causa do problema 2

O aplicativo pára de responder porque um segmento obtém um bloqueio para executar a função m_prCachedMethodPermissionsLock. Em seguida, o thread está suspensa para participar de coleta de lixo e não libera o bloqueio. No entanto, outro thread que está no modo cooperativo no mesmo domínio do aplicativo continua aguardar o bloqueio.

Resolução

Informações sobre hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem o problema descrito neste artigo. Este hotfix pode ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix. Para baixar esse hotfix a partir da Galeria de código Microsoft Developer Network (MSDN), visite o seguinte site da Microsoft:
http://code.msdn.microsoft.com/KB975954
Observação: MSDN Code Gallery exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma listado, é porque a página de recursos da Galeria de código não está disponível para esse idioma.

Como alternativa, você pode baixar esse pacote cumulativo de hotfix do seguinte site do Microsoft Connect:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=26146

Pré-requisitos

Você deve ter o .NET Framework 2.0 Service Pack 2 (SP2) ou o .NET Framework 3.5 Service Pack (SP1) instalado para aplicar esse hotfix.

Requisito de reinicialização

Não é necessário reiniciar o computador após aplicar este hotfix se nenhuma instância do .NET Framework está sendo usada.

Informações sobre a substituição do hotfix

Esse hotfix não substitui outros hotfixes.

Informações do arquivo

A versão em inglês deste hotfix apresenta os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas em hora universal coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido em hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Para todas as versões com base em 86 do Windows Vista SP2 e Windows Server 2008 SP2 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Mscorlib.dll2.0.50727.44084,550,65621-Out de 200907: 24
Mscordacwks.dll2.0.50727.4408989,00021-Out de 200907: 24
Mscorwks.dll2.0.50727.44085,818,68821-Out de 200907: 24
Sos.dll2.0.50727.4408388,92021-Out de 200907: 24
Para todas as versões com base em 64 x do Windows Vista SP2 e Windows Server 2008 SP2
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Mscorlib.dll2.0.50727.44084,567,04021-Out de 200907: 24
Mscordacwks.dll2.0.50727.44081,758,53621-Out de 200907: 24
Mscorwks.dll2.0.50727.440810,061,12021-Out de 200907: 24
Sos.dll2.0.50727.4408485,17621-Out de 200907: 24
Para todas as versões com base em Itanium do Windows Server 2008 SP2
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Mscorlib.dll2.0.50727.44084,009,98421-Out de 200907: 26
Mscordacwks.dll2.0.50727.44083,085,12821-Out de 200907: 26
Mscorwks.dll2.0.50727.440820,173,12021-Out de 200907: 26
Sos.dll2.0.50727.4408872,76021-Out de 200907: 27
Para todas as versões com base em 86 x do Windows 7.0
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Mscorlib.dll2.0.50727.49344,550,65603-Nov-200923: 27
Mscordacwks.dll2.0.50727.4934995,16003-Nov-200923: 27
Mscorwks.dll2.0.50727.49345,816,65603-Nov-200923: 27
Sos.dll2.0.50727.4934388,93603-Nov-200923: 28
Para todas as versões com base em 64 x do Windows 7.0 e Windows Server 2008 R2
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Mscorlib.dll2.0.50727.49344,567,04003-Nov-200923: 33
Mscordacwks.dll2.0.50727.49341,764,16803-Nov-200923: 33
Mscorwks.dll2.0.50727.493410,058,56003-Nov-200923: 33
Sos.dll2.0.50727.4934485,19203-Nov-200923: 34
Para todas as versões com base em Itanium do Windows Server 2008 R2
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Mscorlib.dll2.0.50727.49344,009,98403-Nov-200923: 32
Mscordacwks.dll2.0.50727.49343,085,64003-Nov-200923: 32
Mscorwks.dll2.0.50727.493420,164,94403-Nov-200923: 32
Sos.dll2.0.50727.4934872,76003-Nov-200923: 32
Para todas as versões com base em 86 do Windows XP, Windows Server 2000 e Windows Server 2003 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Mscordacwks.dll2.0.50727.4408989,00030-Set-200905: 12x 86
Mscorlib.dll2.0.50727.44084,550,65630-Set-200905: 12x 86
Mscorwks.dll2.0.50727.44085,818,68830-Set-200905: 12x 86
Sos.dll2.0.50727.4408388,92030-Set-200905: 12x 86

Para todas as versões com base em 64 do Windows XP, Windows Server 2000 e Windows Server 2003 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Mscordacwks.dll2.0.50727.44081,758,53629-Set-200923: 57x 64
Mscorlib.dll2.0.50727.44084,567,04029-Set-200923: 51x 64
Mscorwks.dll2.0.50727.440810,061,12029-Set-200923: 55x 64
Sos.dll2.0.50727.4408485,17629-Set-200923: 52x 64

Para todas as versões com base em Itanium do Windows XP, Windows Server 2000 e Windows Server 2003
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Mscordacwks.dll2.0.50727.44083,085,12830-Set-200901: 05IA-64
Mscorlib.dll2.0.50727.44084,009,98430-Set-200901: 03IA-64
Mscorwks.dll2.0.50727.440820,173,12030-Set-200900: 58IA-64
Sos.dll2.0.50727.4408872,76030-Set-200901: 02IA-64

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Propriedades

ID do artigo: 975954 - Última revisão: domingo, 14 de fevereiro de 2010 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 3.5 Service Pack 1
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbexpertiseadvanced kbsurveynew kbqfe kbhotfixserver KB975954 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 975954

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com