Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [Windows 7] Gibt es noch resourcen die ins System leaken? (https://www.delphipraxis.net/183797-%5Bwindows-7%5D-gibt-es-noch-resourcen-die-ins-system-leaken.html)

Memnarch 5. Feb 2015 09:46

[Windows 7] Gibt es noch resourcen die ins System leaken?
 
Hi,
Habe eine Applikation. Diese wird mehrmals am Tag im Hintergrund gestartet. Benutzt wird alles, von GUI, über Pipes und CriticalSections. Kann es sein, dass es noch Resourcen/Handles gibt die ins System leaken? Ich dachte Windows räumt beim beenden des Prozesses alles auf?

Symptom: Nach 1-2 Tagen lässt sich nichts mehr in Windows Starten, der Benutzer muss abgemeldet und wieder angemeldet werden. Ram ist OK, globaler HandleCount sowie GDI-Count im Taskmanager ist auch nicht verdächtig.

Andere Programme kriegen dann beim Starten intern den OSError dass entweder kein Speicher zur Verfügung steht und/oder das Fenster nicht erstellt werden konnte. Das ist recht merkwürdig, da nach außen hin nichts ungewöhnlich scheint.

Jemand spontan ne AHnung, welche Resourcen ins System leaken? Dann kann ich darauf mal genauer nen Blick werfen.

Grüße
Memnarch

Bernhard Geyer 5. Feb 2015 09:49

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Richtiger Rechner oder Citrix-Verseucht? Also ein Citrix-Server der das Problem hat

Memnarch 5. Feb 2015 09:55

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Richtig Rechner, soweit nichts spezielles.

EDIT: Da wir das Problem vor kurzem festgestellt haben, haben wir einen Lasttest aufgesetzt. Auf dem PC wird die Applikation jetzt mehrerer Tausendmal gestartet/geschlossen. Damit lässt sich der Zeitraum auf ~1-2Tage reduzieren. Normalerweise würde es vllt 4-5 Tage dauern. Da der Kunde aber theoretisch genau sowas machen könnte, muss das auch funktionieren(Falls jemand meint 5 Tage wäre ja lang genug ;) ).

Namenloser 5. Feb 2015 10:05

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Irgendeine Form von Speicherfragmentierung vielleicht? :gruebel:

Oder vielleicht ein fehlerhaftes Virenschutzprogramm, das sich irgendwie vor dem Taskmanager verbirgt? (oder sonstiges Rootkit?)

Memnarch 5. Feb 2015 10:23

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Die Testumgebungen um dem Problem auf die Spur zu kommen, sind extra dafür aufgesetzt. IIRC wurde auch keine AntiVir irgendeiner Art installiert. Die haben nicht mal Internet-Anschluss. Speicherfragmentierung kommt nicht Frage, da nach beenden des Prozesses nur ~4-500MB Ram von 2GB belegt sind. Das sollte niemanden stören.

EDIT und tatsächlich ist nach dem alles kaputt ist, das wichtigste den Benutzer ab/anzumelden. Danach ist wieder alles in Butter.

zagota 5. Feb 2015 10:48

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Welche Delphi-Version verwendest du?

In Delphi 2010 ist in Controls.pas ein Bug.
Bei jedem Start wird mit RegisterWindowMessage() eine Message registiert, die in die User-Atomtabelle eingetragen wird und daraus nicht mehr gelöscht werden kann.

https://forums.embarcadero.com/threa...threadID=47678

cu

Memnarch 5. Feb 2015 10:52

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Delphi XE
EDIT: wie darf ich den QC EIntrag deuten? Ab XE3 gefixxt?

zagota 5. Feb 2015 11:01

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Zitat:

Zitat von Memnarch (Beitrag 1288887)
Delphi XE
EDIT: wie darf ich den QC EIntrag deuten? Ab XE3 gefixxt?

in XE3 ist es gefixt.

in D2010 habe ich es so gefixt:
// RM_GetObjectInstance := RegisterWindowMessage(PChar(ControlAtomString));
RM_GetObjectInstance := RegisterWindowMessage('DelphiRM_GetObjectInstance' );

PS: hier kannst du ein Programm herunterladen, dass die Atomtabelle ausgibt:
https://code.google.com/p/atom-table-monitor/

Memnarch 5. Feb 2015 11:46

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
Vielen Dank an alle, das könnte es sein. habe das Tool auf einemd er Testrechner gestartet und wir gucken dem System jetzt mal beim Sterben zu. Bisher sinds stolze 2244 Atoms von Delphi, zahl stetig steigend. Aufgrund der hohen frequenz der Delphi-Atoms sind die netterweise ROT markiert. Eine Wall of Death die auf dem Monitor langsam nach unten schneckt.

Wir haben bereits XE7, aber bis unsere komplette Buildumgebung umgestellt und getestet wurde, ob die genutzten Komponennten noch so laufen wie sie sollen, wirds nochn paar Wochen dauern.

Trotzdem gut zu wissen, wo der hase lang zu laufen scheint.

Klaus01 5. Feb 2015 11:51

AW: [Windows 7] Gibt es noch resourcen die ins System leaken?
 
.. ganz unten in dem link aus Beitrag #6 ist doch das IDE-Fixpack von jbg aufgeführt - sollte damit nicht dem Problem beizukommen sein?

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz