IIS7: application Défaillante w3wp.exe, ce qui est la cause de ces plantages?

Notre Site web est en .NET, mais avec quelques vieux ASP et 32bits bibliothèques trop en elle. Il a très bien marché pendant un certain temps (2 ans). Mais depuis le mois dernier, nous avons vu le message d'erreur suivant sur notre serveur IIS7, qui nous ont pas été en mesure de repérer et de corriger:

"Application défaillante w3wp.exe version 7.0.6001.18000, horodatage 0x47919413, module défaillant kernel32.dll version 6.0.6001.18215, horodatage 0x4995344f, code d'exception 0xe053534f, décalage d'erreur 0x0002f328, l'id du processus 0x%9, démarrage de l'application temps 0x%10."

Nous sommes en mesure de reproduire l'erreur:

  • Un de nos .Pages ASPX commence à charger, l'exécution de code et de requêtes (nous avons la réponse.flush() sur toute la page pour suivre le code de pauses), puis il s'arrête brusquement et nous obtenir l'erreur ci-dessus dans IIS.

  • La page de chargement s'arrête et, sans réponse.flush(), ce n'est pas la redirection vers notre erreur.page aspx (comme configuré dans le web.config)

  • L'erreur ne se produit PAS tout le temps. Parfois, il arrive 3 fois de suite, puis ça fonctionne pendant 15 minutes non-stop avec une bonne redirection de l'erreur.aspx.

  • L'erreur nous obtenons alors est un classique: "BOF ou EOF est Vrai, ou si l'enregistrement a été supprimé."

  • Lorsque l'erreur se produit, la page se bloque et tous les autres de la session sur le même ordinateur à partir de tous les navigateurs ont accroché des pages web (BTW, nous ne permettons 1 processus de travail alors que nous sommes en essai). À partir d'autres ordinateurs, le site charge très bien.

  • Je peux recyclage de l'Application de la Piscine, de tuer w3wp.exe, redémarrer IIS. Rien ne pourra le faire. La seule façon de réussir à charger la page est à nouveau pour Redémarrer MS SQL qui s'occupe de nos États de la Session. Je ne sais pas pourquoi, mais nous avons deviné que les Cookies de Session pour les utilisateurs de navigateurs points à un thread qui n'a pas été terminée correctement (en raison de la collision) et IIS est en attente pour elle de mettre fin à des processus de plus de code (?). Si quelqu'un peut expliquer ce mieux, ce serait vraiment utile. Est-il un délai d'attente qui nous pouvons mettre à "mettre fin" threads? Est-il un MS SQL liées problème?

J'ai aussi regardé le Privé et la Mémoire Virtuelle usages, parce que je pense que notre code n'est pas le plus efficace, et je suis certain qu'il nous reste des fuites de mémoire. Cependant, j'ai vu la page crash même si les deux Privés Virtuels et les Souvenirs étaient encore assez faible (moins de 100 MO chacun).

J'ai utilisé de Débogage Diag et WinDbg, comme indiqué ici: http://blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag.aspx, mais nous ne sommes pas en mesure de faire windbg travail, c'est ce que nous essayons de faire à l'instant.

Si quelqu'un pouvait nous aider ou de nous orienter vers la bonne direction, ce qui serait vraiment génial, je vous remercie.

  • Vous feriez mieux de dire clairement ce qu'WinDbg problème que vous avez rencontré.
InformationsquelleAutor yorrser | 2010-12-11