AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi [Windows 7] Gibt es noch resourcen die ins System leaken?

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

Ein Thema von Memnarch · begonnen am 5. Feb 2015 · letzter Beitrag vom 10. Feb 2015
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

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

  Alt 5. Feb 2015, 10:46
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
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.100 Beiträge
 
Delphi 10.4 Sydney
 
#2

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

  Alt 5. Feb 2015, 10:49
Richtiger Rechner oder Citrix-Verseucht? Also ein Citrix-Server der das Problem hat
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#3

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

  Alt 5. Feb 2015, 10:55
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 ).
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden

Geändert von Memnarch ( 5. Feb 2015 um 10:58 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

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

  Alt 5. Feb 2015, 11:05
Irgendeine Form von Speicherfragmentierung vielleicht?

Oder vielleicht ein fehlerhaftes Virenschutzprogramm, das sich irgendwie vor dem Taskmanager verbirgt? (oder sonstiges Rootkit?)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#5

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

  Alt 5. Feb 2015, 11:23
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.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
zagota

Registriert seit: 3. Sep 2014
38 Beiträge
 
#6

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

  Alt 5. Feb 2015, 11:48
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
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#7

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

  Alt 5. Feb 2015, 11:52
Delphi XE
EDIT: wie darf ich den QC EIntrag deuten? Ab XE3 gefixxt?
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden

Geändert von Memnarch ( 5. Feb 2015 um 11:59 Uhr)
  Mit Zitat antworten Zitat
zagota

Registriert seit: 3. Sep 2014
38 Beiträge
 
#8

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

  Alt 5. Feb 2015, 12:01
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/

Geändert von zagota ( 5. Feb 2015 um 12:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#9

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

  Alt 5. Feb 2015, 12:46
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.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.672 Beiträge
 
Delphi 10.4 Sydney
 
#10

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

  Alt 5. Feb 2015, 12:51
.. 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
Klaus

Geändert von Klaus01 ( 5. Feb 2015 um 13:31 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf