Compilação de lote de plano de fundo pode causar um bloqueio quando o pool de thread esgotou

Traduções deste artigo Traduções deste artigo
ID do artigo: 821155 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Quando você executa uma compilação em lotes de plano de fundo, a compilação pode causar o processo Aspnet_wp.exe deadlock se todos os segmentos de trabalho são usados. Quando você definir o modelo de processo como maxWorkerThreads = 20 , e em seguida, quando o número de execução de segmentos aspnet_wp.exe também é igual a 20, todos os threads de trabalho 20 esperam um ManualResetEvent ser sinalizado. Uma função WaitCallback (BatchCompileDirectory) que não pode ser executado até que haja um thread livre sinalizem o evento. Um thread livre nunca ocorre. Use todos os threads no pool de segmentos e, em seguida, gerar uma situação que requer uma compilação em lotes para simular este cenário.

Você pode ver o seguinte evento registrado no log do Visualizador de eventos do aplicativo:

IDENTIFICAÇÃO de evento: 1003:
Descrição: Aspnet_wp.exe (PID: <xxx>) foi reciclado porque suspeita-lo em um estado deadlocked. Ele não enviou todas as respostas solicitações pendentes nos últimos 180 segundos.

Mais Informações

Quando uma compilação em lotes de plano de fundo faz com que o deadlock, os threads de trabalho retornam o seguinte rastreamento de pilha:
Current frame: 
ChildEBP RetAddr  Caller,Callee
0c06f938 03187c87 (MethodDesc 0x3228200 +0x27 System.Web.Hosting.RecyclableArrayHelper.ReuseIntegerArray)
0c06f940 099f63e2 (MethodDesc 0x3223fc0 +0x1ea System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse)
0c06f98c 799de84f (MethodDesc 0x79bac930 +0x57 System.Threading.WaitHandle.WaitOne)
0c06f9b0 099f4389 (MethodDesc 0x322d660 +0x59 System.Web.HttpWriter.GetBufferedLength)
0c06f9c4 099f68a8 (MethodDesc 0x94e68a8 +0x8 System.Web.Compilation.PreservedAssemblyEntry/BackgroundBatchCompiler.BeforeDoneWithSessionHandler)
0c06f9c8 099f4178 (MethodDesc 0x3224970 +0x350 System.Web.HttpRuntime.FinishRequest)

Resolução

Como obter o Hotfix

Esse problema é corrigido em junho de 2003 ASP.NET 1.1 do pacote de Hotfix. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
821156INFO: O ASP.NET 1.1 pacote de Hotfix de junho de 2003
Não é possível obter essa correção individualmente. Você deve instalar o pacote cumulativo.

Observação Quando você solicita esse hotfix, você recebe o pacote cumulativo.

A versão em inglês deste hotfix 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
		   -----------------------------------------------------------------------
		   07-Jun-2003  00:44  1.1.4322.910    253,952  Aspnet_isapi.dll
		   07-Jun-2003  00:44  1.1.4322.910     20,480  Aspnet_regiis.exe
		   07-Jun-2003  00:44  1.1.4322.910     32,768  Aspnet_wp.exe
		   15-May-2003  23:49                   33,522  Installpersistsqlstate.sql
		   15-May-2003  23:49                   34,150  Installsqlstate.sql
		   07-Jun-2003  12:52  1.1.4322.910  1,216,512  System.dll
		   07-Jun-2003  00:39                   14,472  Webuivalidation.js
		   07-Jun-2003  12:52  1.1.4322.910  1,249,280  System.Web.dll

Propriedades

ID do artigo: 821155 - Última revisão: quinta-feira, 27 de fevereiro de 2014 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
Palavras-chave: 
kbnosurvey kbarchive kbmt kbqfe KB821155 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: 821155

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