Forum: PC Hard- und Software [Windows 7] Fehler: MULTIPLE_IRP_COMPLETE_REQUESTS


von Stefan H. (Firma: dm2sh) (stefan_helmert)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe heute folgende Blue-Screen-Fehlermeldung erhalten:
MULTIPLE_IRP_COMPLETE_REQUESTS

http://msdn.microsoft.com/en-us/library/ff558982%28v=VS.85%29.aspx

Einzelheiten siehe Anhang. Den Speicherdump kann ich bei Bedarf noch 
hochladen (800 MB).

Ich habe die Fehlermeldung erhalten, nachdem ich im Firefox:
44.225.32.171:5198
eingegeben hatte, obwohl kein Netzwerkabel angesteckt war und WLAN 
deaktiviert war.

System: Windows 7 Professsional 64 Bit, Lenovo W500

Welcher Treiber ist nun schuld und wie kann ich solche Probleme in 
Zukunft unter Windows verhindern?

von Stefan (Gast)


Lesenswert?

Lad Dir mal BlueScreenView von NirSoft.

Stefan

von Jens G. (jensig)


Lesenswert?

Der Bluescreen verrät oftmals den vermuteten Treibernamen. Zumal 
MULTIPLE_IRP_COMPLETE_REQUESTS ja eigentlich explizit auf ein 
Treiberproblem verweist, würde ich das zumindest so erwarten.

von Uhu U. (uhu)


Lesenswert?

Das ist ein Treiberfehler.

von Stefan (Gast)


Lesenswert?

>> Der Bluescreen verrät oftmals den vermuteten Treibernamen.
Diesmal nicht. Siehe Anhang.

>>> Welcher Treiber ist nun schuld und wie kann ich solche Probleme in
>>> Zukunft unter Windows verhindern?
>> Das ist ein Treiberfehler.
Wow!

Analysiere den BSOD mal mit BlueScreenView oder WinDbg.
Es ist oftmals nicht direkt der Treiber sondern der Aufrufer. Hier 
vermutllich irgend eine Lenovo Wlan Software die den Fehler verursacht.
http://en.wikipedia.org/wiki/WinDbg

Stefan

von Icke ®. (49636b65)


Lesenswert?

Das können alle möglichen Treiber sein, ja. Hauptverdächtige sind 
natürlich LAN und WLAN, aber auch das Powermanagement ist ein Kandidat. 
Ist der Fehler reproduzierbar?

von Stefan (Gast)


Lesenswert?

>> Ist der Fehler reproduzierbar?
Ohh. Debug by destroying. Na ja NTFS ist ja relativ robust.

Stefan

von Jens G. (jensig)


Lesenswert?

>Es ist oftmals nicht direkt der Treiber sondern der Aufrufer. Hier
>vermutllich irgend eine Lenovo Wlan Software die den Fehler verursacht.
>http://en.wikipedia.org/wiki/WinDbg

Was - eine normale SW soll daran schuld sein? Nöö. Der Treiber muß sowas 
abfangen, falls da ungültige Parameter irgendwie übergeben werden. Da 
sollte er einen entsprechenden Errror zurückgeben, aber nicht einfach 
damit ins Verderben rennen.

von Uhu U. (uhu)


Lesenswert?

Jens G. schrieb:
> Was - eine normale SW soll daran schuld sein? Nöö.

Nein, das garantiert nicht. Aber es muß auch nicht der Treiber die 
Ursache sein, der im BSOD angezeigt wird - das ist nur derjenige, in dem 
das Problem aufgefallen ist.

von Jens G. (jensig)


Lesenswert?

@Uhu Uhuhu (uhu)

>> Was - eine normale SW soll daran schuld sein? Nöö.

>Nein, das garantiert nicht. Aber es muß auch nicht der Treiber die
>Ursache sein, der im BSOD angezeigt wird - das ist nur derjenige, in dem
>das Problem aufgefallen ist.

Jo. Deswegen schrieb ich auch "vermuteter" Treiber in meinem ersten 
Update.

von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

Der BlueScreenView sagt hal.dll
Es kann auch was mit dem Prolific-Adapter sein, den ich da zu dem 
Zeitpunkt dran hatte.

von Stefan (Gast)


Lesenswert?

>>Was - eine normale SW soll daran schuld sein? Nöö.
...
>> Nein, das garantiert nicht.

Na dann teste mal PL2303/CP210X/FTDI232, ReadFile-OverlappedIO
in eigenem Thread, mit HasOverlappedIoCompleted warten.
Zweiten Thread starten. Selbst 'erfolgreich' getestet!
Ergibt BSOD mit MULTIPLE_IRP_COMPLETE_REQUESTS 0x00000044.

Also garantiert nicht?

Stefan

von Stefan (Gast)


Lesenswert?

>> Es kann auch was mit dem Prolific-Adapter sein, den ich da zu dem
>> Zeitpunkt dran hatte.

In der Reihenfolge?

halmacpi.dll
ntkrnlpa.exe
ser2pl.sys         <<----------- das ist der Prolific
Wdf01000.sys

Siehe meinen vorigen Post.

Stefan

von Jens G. (jensig)


Lesenswert?

@Stefan (Gast)

>>>Was - eine normale SW soll daran schuld sein? Nöö.
>...
>>> Nein, das garantiert nicht.

>Na dann teste mal PL2303/CP210X/FTDI232, ReadFile-OverlappedIO
>in eigenem Thread, mit HasOverlappedIoCompleted warten.
>Zweiten Thread starten. Selbst 'erfolgreich' getestet!
>Ergibt BSOD mit MULTIPLE_IRP_COMPLETE_REQUESTS 0x00000044.

>Also garantiert nicht?

Garantiert. Das ist trotzdem Treiberproblem, denn ein Treiber hat dafür 
zu sorgen, daß er das, was er in den Hals bekommt, sauber "händelt".
Die Software auf Userlevel kann höchstens der Trigger sein, der so einen 
Bug aufdeckt.
Prolific-Adapter scheinen ohnehin mit dem Originaltreiber nicht sauber 
zu funktionieren. Hatte ich auch schon vor etlichen Jahren mal versucht, 
solch einen Adapter in XP zum Laufen zu bringe, hatte aber immer nur 
nicht-ansprechbare COM-Schnittstellen presentiert. Erst mit einem rel. 
neuen Treiber gings dann endlich (hatte ich auch schon hier in µc.net 
des öffteren gelesen).

von Stefan (Gast)


Lesenswert?

Jens G. schrieb:
> Garantiert. Das ist trotzdem Treiberproblem, denn ein Treiber hat dafür
> zu sorgen, daß er das, was er in den Hals bekommt, sauber "händelt".
> Die Software auf Userlevel kann höchstens der Trigger sein, der so einen
> Bug aufdeckt.
> Prolific-Adapter scheinen ohnehin mit dem Originaltreiber nicht sauber
> zu funktionieren. Hatte ich auch schon vor etlichen Jahren mal versucht,
> solch einen Adapter in XP zum Laufen zu bringe, hatte aber immer nur
> nicht-ansprechbare COM-Schnittstellen presentiert.

Hmm, dann hättest Du aber das Betriebssystem wechseln müssen.

Wdf01000.sys :
Betriebssystem Microsoft® Windows®
Kernelmodustreiber-Frameworklaufzeit

der hat ja schliesslich die Exception geworfen.
Das Problem ist eher beim WDF zu suchen. Unter Windows XP lief das alles 
deutlich sauberer. Im Internet sind in diesem Zusammenhang Probleme mit 
Treibern für verschiedene Geräte von mehreren Herstellen zu finden. Wie 
gesagt ich konnte den Fehler mit PL2303/CP210X/FTDI232 nachvollziehen. 
Ich dachte auch erst es liegt am Prolific Treiber. Seitdem ich die 
Software überarbeitet habe tut alles prima tun.

Stefan
Stefan

von Jens G. (jensig)


Lesenswert?

@ Stefan (Gast)
>Hmm, dann hättest Du aber das Betriebssystem wechseln müssen.
Wieso ich? Was kann das OS dafür, wenn ein Treiber da nicht will?

von Stefan (Gast)


Lesenswert?

>> Wieso ich? Was kann das OS dafür, wenn ein Treiber da nicht will?

http://msdn.microsoft.com/en-us/library/windows/hardware/gg463268.aspx

Es geht nicht um einen Treiber, es geht um gaaaanz viele verschiedene!

Stefan

von Uhu U. (uhu)


Lesenswert?

Stefan schrieb:
> der hat ja schliesslich die Exception geworfen.

Das heißt gar nichts. Der Modul der, die Bescherung merkt, wirft die 
Ausnahme - das heißt aber noch lange nicht, daß er auch der Schuldige 
ist.

von Jens G. (jensig)


Lesenswert?

>http://msdn.microsoft.com/en-us/library/windows/ha...

>Es geht nicht um einen Treiber, es geht um gaaaanz viele verschiedene!

Und was soll der Link da jetzt? Der hilft doch sowieso nicht.
Und ob es um einen oder mehrere Treiber da geht, ist eher Wurst bei der 
Frage, ob ein Userlevel-Programm die Ursache sein kann.

Wenn die Exception einen Treiber wie Wdf01000.sys anzeigt, dann ist dies 
nur der vermutete Treiber, bzw. der hat ein Problem als erster bemerkt. 
Das Problem kann aber schon durch andere Teile im Kernel entsprechend 
vorbereitet worden sein, falls der Treiber auf entsprechende Daten 
zugreifen muß.

von Stefan (Gast)


Lesenswert?

ich schrieb :
>> Das Problem ist eher beim WDF zu suchen.
>> Im Internet sind in diesem Zusammenhang Probleme mit
>> Treibern für verschiedene Geräte von mehreren Herstellen zu finden
>> Es geht nicht um einen Treiber, es geht um gaaaanz viele verschiedene!

google mal 'Wdf01000.sys MULTIPLE_IRP_COMPLETE_REQUESTS'.
Es scheint ja viele Hersteller zu geben die nicht in der Lage sind
Treiber für die eigene Hardware zu schreiben.


>> Hmm, dann hättest Du aber das Betriebssystem wechseln müssen.
>>>> Wieso ich? Was kann das OS dafür, wenn ein Treiber da nicht will?
>> Und was soll der Link da jetzt? Der hilft doch sowieso nicht.

Na ja wenn's einen interessiert schon. Hilft das vielleicht?
http://msdn.microsoft.com/en-us/library/windows/hardware/ff544208(v=vs.85).aspx

>> Und ob es um einen oder mehrere Treiber da geht, ist eher Wurst bei
>> der Frage, ob ein Userlevel-Programm die Ursache sein kann.

Es ist nicht der 'Fehler' des Programms. Es dürfte aber weniger 
aufwändig sein auf das den crash verursachende Programm zu verzichten 
als sich schnell mal ein fehlerfreies Betriebssystem zu schreiben. Wenn 
man Zugriff auf die Sourcen des Programms hat kann man auch drumherum 
programmieren, wie ich auch schon schrieb.

Bei mir waren es vermutlich zwei Fehler bei MS.
1. die unglückliche Implementierung des Macros 
HasOverlappedIoCompleted(). 2. eine WDF lib von MS die Daten nicht, wie 
von Dir gefordert, überprüft.

Stefan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.