37 votes

Un processus servant le pool d'applications 'Classic .NET AppPool' a subi une erreur de communication fatale avec le service d'activation de processus Windows. Erreur HTTP 503

J'exécute une application Web ASP.NET 3.5 sous IIS 7 sur Windows Server 2008.

J'ai reçu l'erreur suivante plus tôt cet après-midi :

Erreur HTTP 503. Le service est indisponible.

J'ai regardé dans les journaux d'événements et j'ai découvert que :

Un processus servant le pool d'applications 'Classic .NET AppPool' a subi une erreur de communication fatale avec le service d'activation de processus Windows. L'identifiant du processus est "3328". Le champ de données contient le numéro d'erreur.

Voici les détails complets de cet événement :

Nom du journal : Système Source : Microsoft-Windows-WAS Date : 18/09/2009 14:58:31 Event ID : 5011 Catégorie de tâche : Aucune Niveau : Avertissement Mots clés : Classique Utilisateur : N/A Ordinateur : computername Description : Un processus servant le pool d'applications 'Classic .NET AppPool' a subi une erreur de communication fatale avec le service d'activation de processus Windows. L'identifiant du processus est '3328'. Le champ de données contient le numéro d'erreur. Événement Xml : 5011 0 3 0 0 0x80000000000000 23552 Système nom d'ordinateur AppPool classique .NET 3328 6D000780

Cela a donné lieu à :

Le pool d'applications 'Classic .NET AppPool' est automatiquement désactivé en raison d'une série d'échecs dans le(s) processus servant ce pool d'applications.

Voici les détails complets de cet événement :

Nom du journal : Système Source : Microsoft-Windows-WAS Date : 18/09/2009 15:03:05 Event ID : 5002 Catégorie de tâche : Aucune Niveau : Erreur Mots clés : Classique Utilisateur : N/A Ordinateur : computername Description : Le pool d'applications 'Classic .NET AppPool' est automatiquement désactivé en raison d'une série d'échecs dans le(s) processus servant ce pool d'applications. Événement Xml : 5002 0 2 0 0 0x80000000000000 23557 Système nom d'ordinateur AppPool classique .NET

Concluant dans le : Erreur HTTP 503. Le service est indisponible.

Quelqu'un pourrait-il m'aider à déterminer comment cela s'est produit et ce que je dois faire pour éviter que cela ne se reproduise à l'avenir ?

Merci.

Sincères salutations

Walter

0 votes

Utilisez-vous Windows 2008 32bit ou 64bit ?

0 votes

Configurer IIS pour envoyer les erreurs au navigateur : stackoverflow.com/questions/1453791/

17voto

Joel Etherton Points 24155

Celui-ci est assez méchant. Je recommande de prendre le Diagnostics de débogage IIS outils. Vous pouvez probablement atténuer le symptôme en désactivant la "Protection contre les défaillances rapides" dans les propriétés de votre pool d'applications, mais cela ne fera que masquer le problème. Ce qui se passe, c'est que votre application rencontre une exception si souvent/si répétitivement que le service s'arrête de lui-même. Vous devrez exécuter l'outil de diagnostic pour capturer tout ce qui entre et sort afin de trouver l'exception qui se produit.

Cette tâche peut s'avérer très laborieuse car l'outil rassemble des gigaoctets de déchets à passer au crible. Si vous avez de la chance, la désactivation de la "Rapid Fail Protection" peut permettre à l'exception d'être transmise au navigateur, mais je pense que le serveur finira par se bloquer.

8voto

Luke Smith Points 4335

Si vous utilisez NServiceBus, assurez-vous que le compte sous lequel le pool d'applications est exécuté dispose des autorisations nécessaires pour lire la file d'attente des messages.

NServiceBus exécute une tâche d'arrière-plan au démarrage de l'application qui se termine au bout de 10 secondes, entraînant la mort du processus w3wp s'il ne peut pas lire la file d'attente. Après n (5 par défaut) plantages de w3wp, la protection contre les pannes rapides entre en jeu et arrête le pool d'applications.

http://blog.jonathanoliver.com/2010/11/nservicebus-w3wp-exe-processes-crashing/

0 votes

C'est exactement le problème que je rencontrais. Merci pour cela.

7voto

zasyatkin Points 158

C'est probablement dû à une boucle infinie.

(Je viens d'avoir le même problème.) Il vous suffit donc de rechercher les endroits du code qui utilisent des boucles et de voir si la suppression de l'une d'entre elles arrête l'erreur. Une fois que vous avez trouvé le coupable, alors vous pouvez essayer de comprendre ce qui cause la boucle indéfiniment.

2voto

JerSchneid Points 3167

Je viens de trouver et de résoudre le même problème. Quelques choses qui pourraient causer le problème :

  • Une boucle Server.Transfer()
  • Appel de CurrentThread.Abort() dans certains scénarios (Comme après un Server.Transfer() !)

C'est en réparant ces choses qu'on l'a réparé pour nous.

0voto

campo Points 441

J'ai eu ce problème, la visionneuse d'événements affichait "The Module DLL C:\Windows\system32\RpcProxy\RpcProxy.dll n'a pas réussi à se charger. Les données sont l'erreur". Ce post contenait les étapes pour corriger cela : http://forums.iis.net/t/1154189.aspx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X