[AWT] Exception in der Eventqueue

vfl_freak

Premium-User
Moin,

ich bin eben auf einen recht seltsamen Fehler aufmerksam gemacht worden, der mit unserer Software auf einem bestimmten Rechner (zumindest bis jetzt) auftritt!
Nach geraumer Zeit innerhalb eines Stresstests regiert die Anwendung nicht und die Anzeige friert ein.
In der Java-Konsole kommt dann die Fehlermeldung aus der Anlage.

Von welchen Handles ist denn hier die Rede ??
Ich habe im Web jetzt schon länger gesucht und bin dabei über die GDI-Handels gestolpert, die allerdings lt. Taskmanager im Schnitt unter 100 liegen (bei einem eingestellten Limit von 10000).
Im Taskmanager wurden zu dem Zeitpunkt ca. 540 'normale' Handles angezeigt (initial so um die 500), die sollten es doch wohl auch nicht sein ...

Allerdings war der Speicherverbrauch auf ca. 320.000 k angestiegen (von initial ca. 100.000 k).
Gestartet wird es in der JNLP mit 'initial-heap 64m' und 'max-heap 512m'

Hat irgendwer eine Idee, wie man hier weiter vorgehen kann?

Danke und Gruß
Klaus

error.JPG
 

sheel

I love Asm
Hi

Ich nehme nicht an, dass so viele Fenster gleichzeitig offen sein sollen?

Werden alle "verbrauchten" Fenster bei diesen Stresstests auch disposed?
(Nein, der GC macht das nicht, egal ob er rechtzeitig aktiv wird oder nicht)

Und wird AWT pur verwendet, oder...?
 

vfl_freak

Premium-User
Moin sheel,

eigentlich ist es wohl ein (uralter) Mix aus AWT und Swing, das meiste sind aber Swing-Komponenten (JPanel etc.) !
Es gibt nur ein Anzeigefenster, in dem allerdings in verschiedenen Bereichen permanet verschiedene einlaufende Daten angezeigt werden (auch Bilder)!

Werden alle "verbrauchten" Fenster bei diesen Stresstests auch disposed?
Das ist eine gute Frage, da ich im Moment nicht sehe, wie ich solche Objekte, die ggf. nicht disposed werden, identifizieren kann.

Lasse nebenbei auch schon 'jconsole' rsp. 'jvisualvm' mitlaufen, aber so richtig haben mich die beiden auch nicht weitergebracht.
Habe gerade gesehen, dass im Taskmanger die Einträge in der Spalte "BENUTZER-Objekte" langsam hochlaufen (aktuell bei rund 3000).

Hast Du eine Idee, was genau sich hinter diesen "BENUTZER-Objekten" alles verbergen kann?

Danke und Gruß
Klaus
 

vfl_freak

Premium-User
ok, habe gerade in der Hilfe gefunden:

Ein BENUTZER-Objekt ist ein Objekt aus dem Fenster-Manager, das Fenster, Menüs, Cursor, Symbole, Hooks, Beschleuniger, Monitore, Tastaturlayouts und andere interne Objekte enthält