Die schrecklichen Dinge passieren immer wenn man eigentlich ins Wochenende wollte.
Ein einziges System beim Kunden hat merkwürdige Probleme. Hier der Ablauf:
- Optional: Im Event-Viewer tritt ein Ereignis 2004 "Resource exhaustion detection" auf
- Die Anwendung ist nicht merklich langsamer zu bedienen, alles sieht noch normal aus
- Erste Datei- und Netzwerkzugriffe der Anwendung scheitern: Allgemein ist es der Windows-Fehler 1816 NOT_ENOUGH_QUOTA
für Zugriffe auf Netzwerk-Sockets, serielle Ports sowie das Öffnen von lokalen Dateien auf der Festplatte
- Wenn man es noch schafft die Anwendung zu beenden während alles in sich zusammenstürzt fährt die Anwendung ordnungsgemäß herunter
- Nach einem Neustart der Anwendung ist alles wieder gut
Ich hatte diesmal das Glück per TeamViewer fast live dabei sein zu können. Was sehe ich im Task-Manager? Nichts besonderes. Schaue ich später noch einmal: Plötzlich über 650.000 Handles für meinen Prozess. Schwer zu glauben, aber es ist so.
Ich kann den Fehler bei mir lokal nicht nachstellen. Schaue ich mit dem Process Explorer mir einmal genauer hin, sind die Handles alle zu
Device\Afd
:
Ich suche im Internet zu "device afd
handle leak" und ähnlichem, werde da aber auf die Schnelle nicht schlau. Meist scheinen es fehlerhafte Treiber zu sein, auch ich habe hier einen vom Kunden eingebundenen Netzwerkdrucker im Verdacht.
Hat jemand hier noch schlaue Ideen? Ich bin so frustriert dass ich noch nicht einmal eine Ursache finden kann. Fast 24 Stunden lief alles ohne das geringste Murren, dann fällt plötzlich alles in sich zusammen.
Ich werde in der eigenen Anwendung in Zukunft versuchen Dinge wie Speicherfragmentierung und Anzahl der Handles zu protokollieren, aber das hilft einem ja auch nur beim Raten, sollte es bei einem anderen Kunden irgendwann auch einmal auftreten.