Wenn es RPC mit einem Unix-Server verwendet, kann Programm nicht mehr reagieren

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

Auf dieser Seite

Problembeschreibung

Wenn das Programm mit einem RPC-Server kommuniziert, der auf einem Unix-Server ausgeführt wird, kann ein Client-Programm, die RPC verwendet und auf Microsoft Windows XP ausgeführt wird, zufällig zu Zugriffsverletzungen kommen.

Ursache

Dieses Problem wird von einem falschen Puffer in dem RPC-LAUFZEITDLL (Rpcrt4.dll) verursacht. Der Pufferüberlauf tritt bei dem Aufrufen RPC eines Unix-Servers, nachdem das Client zwischen 40 und 60 Sekunden inaktiv gewesen hat und wenn der RPC-Aufruf eine große Antwort erwartet, bei stellt Ausgehen nur ein Client her auf. Der Überlaufpuffer beschädigt den Speicherblock, der auf dem Puffer folgt, die von RPC verwandt wird und direkte Zugriffsverletzungen in dem Client-Programm verursachen kann.

Lösung

Service Pack-Information

Installieren Sie den neusten Service Pack für Microsoft Windows XP, um dieses Problem zu beheben. Klicken Sie auf die folgende Artikelanzahl, um weitere Informationen zu erhalten, um den Artikel der Microsoft Knowledge Base zu lesen:
322389 Wie Installieren des neusten Service Pack für Windows XP

Hotfix-Information

Ein unterstütztes Hotfix ist von Microsoft verfügbar. Dieses Hotfix nur das Problem zu beheben, das in diesem Artikel beschrieben wird ist jedoch vorgesehen. Wenden Sie dieses Hotfix nur auf Systemen an, bei denen dieses spezielle Problem auftritt. Dieses Hotfix empfängt möglicherweise zusaetzlich Test. Wenn Sie von diesem schwerwiegenden Problem betroffen sind nicht empfehlen wir, dass Sie auf das nächste Softwareupdate warten, das dieses Hotfix enthält.

Wenn das Hotfix verfügbar zu Download ist, ist ein "verfügbar Download" Hotfix-Abschnitt an dem Anfang dieses Artikels der Microsoft Knowledge Base. Wenden Sie sich an Microsoft Customer Service und Support, um das Hotfix zu erhalten, wenn dieser Abschnitt nicht angezeigt wird.

Hinweis: Sie müssen eine separate Dienstanfrage eventuell erstellen, wenn zusätzliche Probleme auftreten oder wenn alle Problembehandlung erforderlich ist. Die üblichen Supportkosten werden für zusätzliche Supportfragen und Probleme, die dieses bestimmte Hotfix nicht kennzeichnen, gelten. Besuchen Sie das folgende Website von Microsoft eine vollständige Support- oder von Telefonnummern und eine vollständige Microsoft Customer Service-Liste oder von Telefonnummern eine separate Dienstanfrage zu erstellen:
http://support.microsoft.com/contactus/?ws=support
Hinweis: die Sprachen, für die das Hotfix verfügbar ist, werden in dem Formular angezeigt "ob Hotfix den Download verfügbar durchführt". Wenn Sie Ihre Sprache nicht anzeigen, befindet sich es, da ein Hotfix für die Sprache nicht verfügbar ist. Die englische Version dieses Updates weist die in der nachstehenden Tabelle aufgelisteten Dateiattribute (oder höher) auf Die Datumangaben und die Uhrzeit-Angaben für diese Dateien sind in Coordinated Universal Time (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert Verwenden Sie in der Systemsteuerung Datum und Uhrzeit in Programm die Registerkarte Zeitzone, um den Unterschied zwischen UTC und lokaler Zeit zu suchen.
   Date         Time   Version        Size     File name
   ------------------------------------------------------
   23-Dec-2002  09:31  5.1.2600.1154  505,856  Rpcrt4.dll

Status

Microsoft hat bestätigt, dass es sich dabei, um ein Problem bei den Microsoft-Produkten, die in dem Abschnitt "Betrifft" aufgeführt sind, handelt. Dieses Problem wurde erstmals in Microsoft Windows XP Service Pack 2 behoben.

Weitere Informationen

Einige RPC-Server können anfordern, dass ein Client-Programm seine Leerlaufverbindungen trennt, um Ressource-Auslastung zu reduzieren. Das wird erreicht, indem Herunterfahren Protocol Data Unit (PDU) an den Client sendet. Wenn es einen ausgehenden Anruf an dem RPC-Server nur tätigt, überprüft RPC seinen Empfangspuffer auf dem Client. Einige Unix-Server senden PDU bei dem Herunterfahren nach allen 20 Sekunden Leerlauf Zeit. Wenn inaktiv ist, den ausreichend langen Server 2 PDU bei dem aufeinanderfolgenden Herunterfahren zu senden, koaliert RPC auf dem Client die PDU in seinem Empfangspuffer das Client. Wenn das Client entscheidet, einen ausgehenden Aufruf zu diesem Zeitpunkt durchzuführen, versucht es, die zwei koalierten PDU in seinem Empfangspuffer zuerst zu verarbeiten. Das Koalieren verursacht während der Verarbeitung der Empfangspuffer neu zugeordnet. Buffer-size Information wird nicht korrekt jedoch verfolgt. Das kann zu einem Puffer führen, der gemeldet wird größer als es wirklich groß ist sein. Anschließend wird der ausgehende Anruf vorgenommen. Wenn die Antwort größer als das Real (die nicht reported) ist, tritt Größe des neu zugeordneten Empfangspuffers eine Zugriffsverletzung auf.

Wenn inaktiv ist, den ausreichend langen Server drei PDU bei dem Herunterfahren zu senden, schließt RPC die Verbindung das Client. Dann wird eine neue Verbindung erstellt, um den ausgehenden Anruf auszuführen. Das Problem tritt nicht in Fall auf. Deshalb ist es wahrscheinlich, das Problem aufzutreten, nachdem das Client-Programm mehr als für 40 Sekunden aber weniger als für 60 Sekunden inaktiv ist. Das richtet sich jedoch der Unix-Server lange nach wartet bevor Herunterfahren PDU senden.

Eigenschaften

Artikel-ID: 811576 - Geändert am: Mittwoch, 29. August 2007 - Version: 3.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
Keywords: 
kbautohotfix kbhotfixserver kbqfe kbwinxpsp2fix kbenv kberrmsg kbqfe kbwinxppresp2fix kbfix kbbug KB811576 KbMtde kbmt
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: 811576
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