Programa pode parar de funcionar se ele usa RPC com um servidor UNIX

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

Neste artigo

Sintomas

Um programa cliente que usa o RPC (site em inglês) e está executando no Microsoft Windows XP pode aleatoriamente enfrentar violações de acesso quando o programa está se comunicando com uma RPC servidor que está sendo executado em um servidor UNIX.

Causa

Esse problema é causado por um buffer incorreto no RPC (Rpcrt4.dll) de DLL de tempo de execução. A saturação do buffer ocorre somente se um cliente faz uma chamada RPC de saída para um servidor UNIX após o cliente ocioso por entre 40 e 60 segundos, e se a chamada RPC espera uma resposta grande. O buffer saturação corrompe o bloco de memória que segue o buffer que é usado pelo RPC e pode causar violações de acesso aleatório no programa cliente.

Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft Windows XP. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322389Como obter o service pack mais recente do Windows XP

Informações sobre o hotfix

Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibida, contate o atendimento e suporte para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.A versão em inglês dessa correção apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas na acordo hora universal coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   Date         Time   Version        Size     File name
   ------------------------------------------------------
   23-Dec-2002  09:31  5.1.2600.1154  505,856  Rpcrt4.dll

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no Microsoft Windows XP Service Pack 2.

Mais Informações

Alguns servidores RPC podem solicitar que um programa cliente terminar suas conexões ociosas para reduzir o uso de recursos. Isso é feito enviando um desligamento Protocol Data Unit (PDU) para o cliente. No cliente, o RPC verifica seu buffer de recepção somente quando ele está fazendo uma chamada de saída para o servidor de RPC. Alguns servidores UNIX enviam PDUs de desligamento após cada 20 segundos de tempo ocioso. Se o cliente estiver ocioso por tempo suficiente para o servidor enviar 2 PDUs de desligamento consecutivos, RPC no cliente coalesces PDUs em seu buffer de recebimento. Se o cliente decidir fazer uma chamada de saída neste momento, ele tenta processar as dois PDUs coalesced em seu buffer de recebimento primeiro. Durante o processamento, a concentração faz com que o buffer de recebimento a ser realocado. No entanto, o tamanho do buffer informações não é rastreado corretamente. Isso pode resultar em um buffer que é relatado seja maior do que realmente é. A chamada de saída, em seguida, é feita. Se a resposta for maior que o real (não o relatada) tamanho do buffer de recepção realocada, uma violação de acesso ocorre.

Se o cliente estiver ocioso por tempo suficiente para o servidor enviar três PDUs de desligamento, o RPC fecha a conexão. Uma nova conexão, em seguida, é criada para executar a chamada de saída. Nesse caso, o problema não ocorre. Portanto, o problema é provável que ocorrer após o programa cliente ficar ocioso por mais de 40 segundos, mas menor que 60 segundos. No entanto, isso depende de quanto tempo o servidor UNIX espera antes de enviar um PDU do desligamento.

Propriedades

ID do artigo: 811576 - Última revisão: quarta-feira, 29 de agosto de 2007 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
Palavras-chave: 
kbmt kbautohotfix kbhotfixserver kbqfe kbwinxpsp2fix kbenv kberrmsg kbqfe kbwinxppresp2fix kbfix kbbug KB811576 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: 811576

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