Compilazione batch sfondo può causare un blocco critico (deadlock) quando il pool di thread è esaurito.

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

821155
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sommario
Quando si esegue una compilazione batch in background, la compilazione potrebbe si verifichi il processo Aspnet_wp.exe blocco critico (deadlock) se vengono utilizzati tutti i thread di lavoro. Se si imposta il modello di processo su maxWorkerThreads = 20 , e quando il numero di thread di aspnet_wp.exe in esecuzione anche è uguale a 20, tutti i thread di lavoro 20 attendere un ManualResetEvent essere segnalato. Una funzione WaitCallback (BatchCompileDirectory) Impossibile eseguire fino a un thread libero segnala l'evento. Un thread libero si verifica mai. Utilizzare tutti i thread nel pool di thread e generare quindi una situazione che richiede una compilazione batch di simulare questo scenario.

Potrebbe essere visualizzato il seguente evento nel registro applicazione del Visualizzatore eventi registrato:

ID evento: 1003:
Descrizione: Aspnet_wp.exe (PID: <xxx>) è stato riciclato perché sospettato di essere in stato di un blocco critico. Negli ultimi 180 secondi non ha inviato alcuna risposta per le richieste in sospeso.

Informazioni
Quando una compilazione batch in background causa il deadlock, i thread di lavoro restituiscono analisi dello stack riportato di seguito:
Current frame: ChildEBP RetAddr  Caller,Callee0c06f938 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)
Risoluzione

Come ottenere l'aggiornamento rapido

Questo problema è stato risolto nel giugno 2003 pacchetto Hotfix di ASP.NET 1.1. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
821156INFORMAZIONI: ASP.NET 1.1 giugno 2003 hotfix cumulativo
È Impossibile ottenere questa correzione singolarmente. È necessario installare l'aggiornamento cumulativo.

Nota Quando si richiede questo aggiornamento rapido (hotfix), viene visualizzato il rollup.

La versione inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o successivi) elencati nella tabella riportata di seguito. Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
	           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

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 821155 - Ultima revisione: 02/27/2014 02:14:14 - Revisione: 2.1

  • Microsoft ASP.NET 1.1
  • kbnosurvey kbarchive kbmt kbqfe KB821155 KbMtit
Feedback