Update: Wenn Sie eine .NET Framework 2.0-basierte Anwendung ausführen, eine System.AccessViolationException-Ausnahme auftritt, oder eine Dead-Sperre auftritt für zwei Threads in einer Anwendungsdomäne

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 975954 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Beim Auftreten eines der folgenden Probleme Ausführen einer Anwendung in Microsoft .NET Framework 2.0.

Problem 1

Eine Datenbeschädigung tritt ein, oder Sie erhalten eine System.AccessViolationException-Ausnahme. Wenn die Ausnahme angezeigt wird, erhalten Sie auch die folgenden Fehlermeldung:
Es wurde versucht, zum Lesen oder Schreiben der geschützte Speicher. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
Dieses Problem tritt auf, wenn alle folgenden Bedingungen erfüllt sind:
  • Eine Assembly ist über mehrere Domänen hinweg freigegeben.
  • Eine Lightweight Code Heapgröße der Generation (LCG)-Methode ist ein Typ zugeordnet, die in die freigegebene Assembly enthalten ist.
  • Die LCG-Methode ist in mehreren Domänen gesammelt. Anschließend wird der Code in der Assembly von einem Just-in-Time (JIT) Compiler kompiliert.
  • Führen einen Schnittstellenaufruf, sowohl den JIT-Code als auch die LCG-Methode.

Problem 2

Wenn Sie die Anwendung auf einem Computer, die hohe Speicherauslastung vorliegt ausführen, reagiert die Anwendung. Wenn Sie das Problem mithilfe des Dienstprogramms "windbg.exe" Debuggen, stellen Sie fest, dass eine Dead-Sperre auf zwei Threads in einer Anwendungsdomäne auftritt.

Ursache

Ursache des Problems 1

Die Datenbeschädigung tritt auf, weil eine common Language Runtime (CLR) stub Funktion nicht mehr in Zugesicherter Speicher ist, nachdem eine Anwendungsdomäne wieder verwendet wird. Die Funktion wurde dynamisch generiert.

Ursache des Problems 2

Die Anwendung reagiert nicht mehr, da ein Thread eine Sperre zum Ausführen der M_prCachedMethodPermissionsLock-Funktion erhält. Anschließend wird der Thread wird angehalten, um die Garbagecollection teilnehmen und wird die Sperre nicht freigegeben. Jedoch weiterhin von einem anderen Thread, der im kooperativen Modus in derselben Anwendungsdomäne ist, für die Sperre gewartet werden soll.

Lösung

Hotfix-Informationen

Ein unterstützter Hotfix ist von Microsoft erhältlich. Der Hotfix ist jedoch nur zur Behebung des Problems, die in diesem Artikel beschriebene vorgesehen. Installieren Sie diesen Hotfix nur auf Systemen, bei die das in diesem Artikel beschriebene Problem auftritt. Dieser Hotfix wird unter Umständen zu einem späteren Zeitpunkt weiteren Tests unterzogen. Wenn durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir, auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält. Um diesen Hotfix von der Microsoft Developer Network (MSDN) Code Gallery herunterzuladen, besuchen Sie in der folgenden Microsoft-Website:
http://code.msdn.microsoft.com/KB975954
Hinweis: Der MSDN Code Gallery zeigt die Sprachen für die der Hotfix verfügbar ist. Wenn Sie Ihre Sprache aufgeführt nicht angezeigt werden, ist es, da der Code Gallery-Ressourcenseite nicht für diese Sprache zur Verfügung steht.

Alternativ können Sie dieses Hotfix-Rollup von der folgenden Microsoft Connect-Website herunterladen:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=26146

Voraussetzungen:

Sie müssen das .NET Framework 2.0 Service Pack 2 (SP2) oder der .NET Framework 3.5 Service Pack (1 SP1) installiert haben, um diesen Hotfix anwenden.

Neustartanforderung

Sie müssen den Computer neu zu starten, nachdem Sie diesen Hotfix anwenden, wenn keine Instanz von .NET Framework verwendet wird.

Ersetzte Hotfixes

Dieser Hotfix ersetzt keine anderen Hotfixes.

Dateiinformationen

Die englische Version dieses Updates besitzt die Dateiattribute (oder höher Dateiattribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind aufgelistet, in Coordinated Universal Time (UTC). Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Verwenden Sie um die Differenz zwischen UTC-Zeit und lokaler Zeit zu ermitteln, in dem Element für Datum und Uhrzeit in der Systemsteuerung die Registerkarte Zeitzone.
Für alle unterstützten x 86-basierten Versionen von Windows Vista SP2 und Windows Server 2008 SP2
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeit
Datei "mscorlib.dll"2.0.50727.44084,550,65621-Oct-200907: 24
Mscordacwks.dll2.0.50727.4408989,00021-Oct-200907: 24
"Mscorwks.dll"2.0.50727.44085,818,68821-Oct-200907: 24
Sos.dll2.0.50727.4408388,92021-Oct-200907: 24
Für alle unterstützten x 64-basierten Versionen von Windows Vista SP2 und Windows Server 2008 SP2
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeit
Datei "mscorlib.dll"2.0.50727.44084,567,04021-Oct-200907: 24
Mscordacwks.dll2.0.50727.44081,758,53621-Oct-200907: 24
"Mscorwks.dll"2.0.50727.440810,061,12021-Oct-200907: 24
Sos.dll2.0.50727.4408485,17621-Oct-200907: 24
Für alle unterstützten Itanium-basierten Versionen von Windows Server 2008 SP2
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeit
Datei "mscorlib.dll"2.0.50727.44084,009,98421-Oct-200907: 26
Mscordacwks.dll2.0.50727.44083,085,12821-Oct-200907: 26
"Mscorwks.dll"2.0.50727.440820,173,12021-Oct-200907: 26
Sos.dll2.0.50727.4408872,76021-Oct-200907: 27
Für alle unterstützten x 86-basierten Versionen von Windows 7.0
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeit
Datei "mscorlib.dll"2.0.50727.49344,550,65603-Nov-200923: 27
Mscordacwks.dll2.0.50727.4934995,16003-Nov-200923: 27
"Mscorwks.dll"2.0.50727.49345,816,65603-Nov-200923: 27
Sos.dll2.0.50727.4934388,93603-Nov-200923: 28
Für alle unterstützten x 64-basierten Versionen von Windows 7.0 und Windows Server 2008 R2
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeit
Datei "mscorlib.dll"2.0.50727.49344,567,04003-Nov-200923: 33
Mscordacwks.dll2.0.50727.49341,764,16803-Nov-200923: 33
"Mscorwks.dll"2.0.50727.493410,058,56003-Nov-200923: 33
Sos.dll2.0.50727.4934485,19203-Nov-200923: 34
Für alle unterstützten Itanium-basierten Versionen von Windows Server 2008 R2
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeit
Datei "mscorlib.dll"2.0.50727.49344,009,98403-Nov-200923: 32
Mscordacwks.dll2.0.50727.49343,085,64003-Nov-200923: 32
"Mscorwks.dll"2.0.50727.493420,164,94403-Nov-200923: 32
Sos.dll2.0.50727.4934872,76003-Nov-200923: 32
Für alle unterstützten x 86-basierten Versionen von Windows XP, Windows 2000 Server und Windows Server 2003
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Mscordacwks.dll2.0.50727.4408989,00030-Sep 200905: 12X 86
Datei "mscorlib.dll"2.0.50727.44084,550,65630-Sep 200905: 12X 86
"Mscorwks.dll"2.0.50727.44085,818,68830-Sep 200905: 12X 86
Sos.dll2.0.50727.4408388,92030-Sep 200905: 12X 86

Für alle unterstützten x 64-basierten Versionen von Windows XP, Windows 2000 Server und Windows Server 2003
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Mscordacwks.dll2.0.50727.44081,758,53629-Sep 200923: 57X 64
Datei "mscorlib.dll"2.0.50727.44084,567,04029-Sep 200923: 51X 64
"Mscorwks.dll"2.0.50727.440810,061,12029-Sep 200923: 55X 64
Sos.dll2.0.50727.4408485,17629-Sep 200923: 52X 64

Für alle unterstützten Itanium-basierte Versionen von Windows XP, Windows 2000 Server und Windows Server 2003
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Mscordacwks.dll2.0.50727.44083,085,12830-Sep 200901: 05IA-64
Datei "mscorlib.dll"2.0.50727.44084,009,98430-Sep 200901: 03IA-64
"Mscorwks.dll"2.0.50727.440820,173,12030-Sep 200900: 58IA-64
Sos.dll2.0.50727.4408872,76030-Sep 200901: 02IA-64

Status

Microsoft hat bestätigt, dass dies ein Problem in der Microsoft-Produkten handelt, die im Abschnitt "Beziehen sich auf" aufgeführt sind.

Eigenschaften

Artikel-ID: 975954 - Geändert am: Sonntag, 14. Februar 2010 - Version: 2.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 3.5 Service Pack 1
  • Microsoft .NET Framework 2.0
Keywords: 
kbmt kbexpertiseadvanced kbsurveynew kbqfe kbhotfixserver KB975954 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 975954
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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