Laden...

AccessViolationException im IIS

Erstellt von malignate vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.880 Views
malignate Themenstarter:in
742 Beiträge seit 2005
vor 9 Jahren
AccessViolationException im IIS

Hallo zusammen,

mir knallt zur Zeit immer die Anwendung mit folgender Fehlermeldung (aus Windows Event Log) weg:

Fehlermeldung:
Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
Stack:
at System.Web.Hosting.UnsafeIISMethods.MgdIsLastNotification(IntPtr, System.Web.RequestNotificationStatus)
at System.Web.Hosting.UnsafeIISMethods.MgdIsLastNotification(IntPtr, System.Web.RequestNotificationStatus)
at System.Web.HttpRuntime.FinishRequestNotification(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext, System.Web.RequestNotificationStatus ByRef)
at System.Web.HttpRuntime.OnRequestNotificationCompletionHelper(System.IAsyncResult)
at System.Web.HttpRuntime.OnRequestNotificationCompletion(System.IAsyncResult)
at System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)
at System.Web.HttpApplication+CallHandlerExecutionStep.OnAsyncHandlerCompletion(System.IAsyncResult)
at System.Threading.Tasks.Task.Execute()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.ThreadPoolWorkQueue.Dispatch()

Leider finde ich keine guten Informationen dazu, habe 0 Ideen, und auf Debugging mit WinDbg & Co. funtkioniert bei mir nicht richtig (dann ist die Webseite unerträglich langsam). Bin über Hilfe sehr dankbar.

Btw: Das ist ein Cross-Post, auf zu finden bei SO (aber ohne Lösung).

1.696 Beiträge seit 2006
vor 9 Jahren

Versuch mal hiermit Debug with rules in Debug Diag um das Problem zu lokalisieren/analysieren,

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

malignate Themenstarter:in
742 Beiträge seit 2005
vor 9 Jahren

Habe ich bereits versucht, aber um ehrlich zu sein, es nicht zum Laufen gebracht.

Die Anwendung war dann so langsam, dass keine normale Benutzung mehr möglich war. Da der Fahler nur alle paar Stunden auftritt, ist das keine Option.

16.806 Beiträge seit 2008
vor 9 Jahren

Damit Du evtl. eine Idee hast: der Fehler muss vor der Ausführung des ASP-Kerns auftreten, da er ansonsten ja von ASP gefangen werden könnte.
Das würde also betreffen: Handler oder alles, was innerhalb von Application_Start passiert.

malignate Themenstarter:in
742 Beiträge seit 2005
vor 9 Jahren

Wieso vor der Ausführung, dann würde es ja nicht mitten im Betrieb knallen? Ich meine der StackTrace könnte ja auch anzeigen, dass der Fehler wirklich im Aufrufen, dieser Nativen Methode ist.

Erschwerend kommt noch hinzu, dass AccessViolationException nicht gefangen werden kann (siehe AccessViolationException-Klasse). Ich hatte auch diesen Config Eintrag mal aktiviert, das hat aber nicht gebracht. Weil ich eh jede Exception catche und logge, kann das nur zwei Dinge bedeuten: 1. Die Ursache ist nicht mit einem Request direkt verbunden (so klingt der Stacktrace aber nicht), 2. Der Exception tritt wie der StackTrace sagt, in dieser Unsafe-Methode auf, dann ist aber die Frage, was ist die Ursache?

1.346 Beiträge seit 2008
vor 9 Jahren

Hallo,

Hast du schonmal ein anderes System ausprobiert? Liegt es vielleicht daran? Ansonsten versuch mal mit git bisect (oder manuell mit binärer Suche) die Änderung rauszufinden, die den Fehler eingeführt hat.

LG pdelvo

malignate Themenstarter:in
742 Beiträge seit 2005
vor 9 Jahren

Habe zwei Server am Laufen, beide das gleiche Problem. Bin nebenher immer wieder dabei mir Änderungen anzuschauen, ist aber schwierig (auch weil das Problem nicht gerade gestern erst auftrat).