Kann ich GANZ ohne AWT auskommen?

roxX0r

Mitglied
Hey,
ich hab ein Programm geschrieben, was auch viele Leute nutzen. Es gibt da so einen ekliger Bug seit urzeiten, der dafür sorgt, dass das Tool mit einer "EXCEPTION_ACCESS_VIOLATION" in der Datei "COMCTL32.dll" abstürzt. Und zwar nicht direkt nach dem Start sondern völlig unregeömäßig, mal nach 5minuten, mal nach 2h...

Der stacktrace sieht in etwa so aus:
j sun.awt.windows.WToolkit.eventLoop()V+0
j sun.awt.windows.WToolkit.run()V+52
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub

d.h. AWT benutzt Funktionen in der Windows Datei, die dann irgendwie auf manchen Rechnern dafür sorgen, dass das Prog abschmiert. Ich hab schon Tage und Wochen damit verbracht, den Bug zu finden oder auch nur ein reproduzierbares Szenario zu finden, bei mir und bei vielen anderen passiert es nie. Der Verdacht liegt naha, dass vielleicht die Grafikkarte bei einigen Leuten schuld ist, also die Treiber, aber selbst da konnte ich noch nichts brauchbares finden.
wie dem auch sei, ich bin an dem Punkt angelangt, andere Wege zu suchen. Wie ist das nun, wenn ich ALLES was mit AWT zu tun hat rausfeuere und nur Swing Componenten einsetze? Dann dürfte ja nicht mehr die comctl32.dll aufgerufen werden und der AWT Deamon thread hat auch nichts zu tun? Oder hat der noch andere Aufgaben...

Oder gibt es noch andere Bibliotheken die ich nutzen kann, um auf AWT komplett zu verzichten... der Bug muss irgendwie raus.

Danke für die Hilfe
 

HoaX

Top Contributor
Tritt das Problem denn bei mehreren Usern an verschiedenen Rechnern auf? Werden irgendwelchen nativen Sachen von Windows im Code verwendet? Welche VM und Version?

Ich würde jedenfalls behaupten es liegt an deinem Code. Ich höre von dem Bug zum ersten Mal. Und wenn es den wirklich allgemein in AWT gäbe, dann hätten diesen Fehler auch viele andere Nutzer und der Bug wäre sicherlich bereits behoben.
 

roxX0r

Mitglied
hey,
ja das Problem tritt bei unser mit windows XP, Vista und windows 7 auf. Es ist immer der gleiche Absturz (es wird immer das gleiche ErrorLog erstellt von der VM). Es zieht sich schon durch mehrere Versionen von java durch, also es besteht schon länger. Mein Tool ist verdammt riesig, es gibt hunderte von Controls / Componenten. Ich vermute einfach, das ist einfach zu viel (bei manchen).

Ich habe eine C-DLL geschrieben, die per JNI angeschlossen ist. Wenn es dort ein Problem gab, wurde im Error log aber immer explizit auf diese DLL hingewiesen, tauchte also im stack trace auf. Aber bei dem bug ist davon keien Spur, ich vermuet nicht, dass es an meiner DLL liegt, zumal ich da auch keine dunktionen (denke ich) von comctl32.dll aufrufe.

Ich hatte den bug mal im bug forum von sun entdeckt und da hieß es, er ist wohl zu unbedeutend, als dass er gefixt werden würde. Ich hatte da allerdings auch tage lang nach gesucht.
Ich wüsste auch nicht, wie ich noch besser auf Fehlersuche geehn könnte, weil ich halt den Fehler nicht provozieren kann, das kostete mich schon ziemlich Nerven.

Ich dachte vielleicht gibts etwas, damit ich eine noch detaillierte Fehlerbeschreibung bekomme, wenn sowas passiert oder ich vielleicht den Fehler abfangen kann, damit nicht die VM abstürzt oder irgendwas. Aber das ganze poassiert halt in einer WIndows DLL, was sll man da machen ...
 

Wildcard

Top Contributor
Gegenfrage, warum solltest du denn nicht ohne AWT Components auskommen? AWT und Swing sollen sowieso nicht gemischt werden. Das einzige AWT Widget für das mir kein Swing Ersatz einfällt ist der System Tray und heavyweight Panels um native Anwendungen zu embedden.
Wenn deine Frage allerdings ist ob du ohne Klassen aus dem awt Package auskommen kannst, dann ist die Antwort: nicht in Swing, dann müsstest du auf SWT, Qt, oder dergleichen wechseln.
 

L-ectron-X

Gesperrter Benutzer
bei mir und bei vielen anderen passiert es nie.
Vermutlich, weil du dein System immer auf dem aktuellen Stand hältst. Ich weiß nicht, wie das bei deinen anderen Benutzern gehandhabt wird.
Welche Service Packages sind auf dem jeweiligen Rechner installiert? etc. pp.

An ein Problem mit der Grafikkarte/Treiber kann ich nicht so richtig glauben.

Du hast sicher schon das Netzt durchsucht, welche Probleme du ausschließen konntest, hast du noch nicht so richtig durchscheinen lassen.
Mehrere Versionen von "Comctl32.dll" können dazu führen, dass in Windows XP Fenster sowohl im Windows XP-Stil als auch im klassischen Windows-Stil erscheinen können
Windows XP SP2: Update behebt Probleme mit Comctl32.dll - Archiv - PC-WELT
 

homer65

Top Contributor
Ne also wirklich, wegen eines Bugs das komplette Programm ummodeln. Das ist definitiv nicht der richtige Weg.
Hast du dich schon an Oracle gewandt und einen Bug Report erstellt?
Notfalls solltest du kommerziellen Support einkaufen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Knopf ganz oben (JFrame) AWT, Swing, JavaFX & SWT 9
D JavaFX MediaPlayer spielt MP3 nicht ganz AWT, Swing, JavaFX & SWT 6
B setCursor() lässt Cursor ganz verschwinden AWT, Swing, JavaFX & SWT 9
D Swing JScrollbar ganz nach unten scrollen AWT, Swing, JavaFX & SWT 2
C TextArea Ausgabe immer ganz oben AWT, Swing, JavaFX & SWT 3
J Brauche ganz dringend Hilfe!!! AWT, Swing, JavaFX & SWT 5
Roumeo Swing Verzweifle: JTable funktioniert nicht ganz wie es soll... AWT, Swing, JavaFX & SWT 12
C Fenster gleich bewegen funktioniert nicht ganz! AWT, Swing, JavaFX & SWT 11
N JPanel nicht ganz drucken AWT, Swing, JavaFX & SWT 2
R JScrollBar / JScrollPane: Ermitteln ob ganz unten AWT, Swing, JavaFX & SWT 2
C JScrollPane immer ganz unten ausrichten AWT, Swing, JavaFX & SWT 17
M JFrame im Vollbildmodus öffnen klappt nicht so ganz AWT, Swing, JavaFX & SWT 2
W JTable wird vertikal in JScrollPane nicht ganz angezeigt AWT, Swing, JavaFX & SWT 2
M Ganz normales Bild einfügen AWT, Swing, JavaFX & SWT 6
M Ganz spezieller Renderer für meinen JTree AWT, Swing, JavaFX & SWT 2
T MessageBox schließt nicht ganz AWT, Swing, JavaFX & SWT 9
M JScrollPane immer bis ganz nach unten scrollen lassen AWT, Swing, JavaFX & SWT 5
S jScrollPane ganz nach unten scrollen AWT, Swing, JavaFX & SWT 4
E JavaDialoge und ganz besondere Wünsche :) AWT, Swing, JavaFX & SWT 2
M Ganz simpler GUI-Builder mit Reflection AWT, Swing, JavaFX & SWT 8
G JMenu Info-Fenster ganz Rechts AWT, Swing, JavaFX & SWT 5
R Ganz Einfach Frage AWT, Swing, JavaFX & SWT 2
R Ganz Einfach Frage AWT, Swing, JavaFX & SWT 3
J ganz dringend File Chooser: extensions! AWT, Swing, JavaFX & SWT 6
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
M KeyEvent ohne Fokus konsumieren AWT, Swing, JavaFX & SWT 1
Georges456 NetBeans am Mac leider ohne FXML AWT, Swing, JavaFX & SWT 17
A JOptionPane OK ohne Eingabe abfangen AWT, Swing, JavaFX & SWT 10
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
N setOnKeyPressed ohne Scene AWT, Swing, JavaFX & SWT 2
M mvvm umsetzen ohne fxml AWT, Swing, JavaFX & SWT 0
L JavaFX OpenJFX16 App ohne Gradle and Maven? AWT, Swing, JavaFX & SWT 2
izoards Jar startet jedoch ohne Hintergrundfunktion AWT, Swing, JavaFX & SWT 25
L FX-Projekt: fast leere Fensterausgabe ohne Fehlermeldung AWT, Swing, JavaFX & SWT 6
H Timer ohne alles lahmzulegen? AWT, Swing, JavaFX & SWT 2
Z Random Butten erstellen ohne Container AWT, Swing, JavaFX & SWT 15
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
Fiedlerdan Vergleich vieler Strings ohne ellenlange Argumentierten AWT, Swing, JavaFX & SWT 7
L Daten bearbeiten ohne GUI zu blockieren - daten haltung/zurück geben AWT, Swing, JavaFX & SWT 15
D Swing Anwendung ohne JPanel erstellen AWT, Swing, JavaFX & SWT 1
N Aktualisierung des Fensters AWT Java ohne Ruckeln AWT, Swing, JavaFX & SWT 3
T JavaFX Dialog schließt ohne dass es schließen soll AWT, Swing, JavaFX & SWT 1
K JFreeChart nicht ohne BarChartDemo startklar? AWT, Swing, JavaFX & SWT 5
GenerationLost JavaFX FileChooser speichern ohne Zieldatei? AWT, Swing, JavaFX & SWT 12
Y Objekte grafisch darstellen ohne GMF - Composite auf Canvas? AWT, Swing, JavaFX & SWT 2
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
T Custom Window ohne Swing / AWT / FX..?! AWT, Swing, JavaFX & SWT 1
S Zeichen ohne paint-Methode AWT, Swing, JavaFX & SWT 2
M Menü ohne Menübar umsetzen[SWT] AWT, Swing, JavaFX & SWT 8
kilopack15 Buttons ohne Funktion AWT, Swing, JavaFX & SWT 2
S 2D-Grafik User-BufferedImage rotieren im Zentrum und ohne "anpassung" AWT, Swing, JavaFX & SWT 2
Ghostman1711 Java JFormattedTextfield MaskFormatter ohne Leerzeichen AWT, Swing, JavaFX & SWT 3
Z Swing Frame wird geöffnet, aber ist ohne Inhalt AWT, Swing, JavaFX & SWT 0
C Jframe ohne Rahmen AWT, Swing, JavaFX & SWT 3
R JavaFX Wert einer ChoiceBox bekommen ohne Lambdas AWT, Swing, JavaFX & SWT 11
Fishmeaker Shortcuts ohne ALT zuweisen AWT, Swing, JavaFX & SWT 1
O JTable ohne Rahmen printen AWT, Swing, JavaFX & SWT 3
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
W Swing JLabel jede Sekunde aktualisieren, ohne Timer zu benutzen AWT, Swing, JavaFX & SWT 4
M JavaFX Ein Bild ohne Rahmen fällt runter? AWT, Swing, JavaFX & SWT 2
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
F Swing JPanels übereinander ohne Mananger AWT, Swing, JavaFX & SWT 1
N GUI Design ohne GUIDesigner AWT, Swing, JavaFX & SWT 10
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
C JTextfield ohne Enter feuern AWT, Swing, JavaFX & SWT 8
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
S Paint Methode ohne implements JPanel AWT, Swing, JavaFX & SWT 1
A Textfeld.append/.setText ohne Funktion AWT, Swing, JavaFX & SWT 2
T JAXB funktioniert ohne IDE nicht verlässlich AWT, Swing, JavaFX & SWT 12
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
M Benutzer-Dialog ohne System.in/out AWT, Swing, JavaFX & SWT 2
K JavaFX Tableview mit fxml ohne Aktualiserung trotz Thread AWT, Swing, JavaFX & SWT 13
C JFrame paint ohne hintergrund nutzen AWT, Swing, JavaFX & SWT 6
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Simple Grafikanzeige ohne Desktopumgebung? AWT, Swing, JavaFX & SWT 2
F Swing Datenmodell in Tree spiegeln ohne Adapterklassen AWT, Swing, JavaFX & SWT 5
I JTable Inhalte löschen ohne den JTable zu verändern! AWT, Swing, JavaFX & SWT 5
T Bild drehen ohne Resize AWT, Swing, JavaFX & SWT 3
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
C Swing Fortschrittsanzeige im Dialog ohne Fortschrittsbalken und Abbruchoption AWT, Swing, JavaFX & SWT 7
M JSlider-Wert ändern, ohne ein ChangeEvent auszulösen AWT, Swing, JavaFX & SWT 4
J SWING - Programm ohne Eclipse etc. starten AWT, Swing, JavaFX & SWT 7
V Swing JButton ohne Border bei Anklicken AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
J Swing Farbe wählen ohne JColorChooser 2 AWT, Swing, JavaFX & SWT 23
Oliver530 JButton setEnabled(false) ohne Farbverlust AWT, Swing, JavaFX & SWT 3
B Swing JEditorPane ohne Zeilenumbruch nach InputStream AWT, Swing, JavaFX & SWT 2
D Swing JComponent zeichnen ohne sie zur Oberfläche hinzuzufügen AWT, Swing, JavaFX & SWT 2
GUI-Programmer Swing JWindow - Programm wird ohne Grund beendet AWT, Swing, JavaFX & SWT 3
N Swing JSpinner mit Datum aber ohne Uhrzeit AWT, Swing, JavaFX & SWT 2
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
S Java GUI Anwendung ohne Konsole starten AWT, Swing, JavaFX & SWT 6
J Swing JTable: Komplette Zeile aber ohne Spalten markieren AWT, Swing, JavaFX & SWT 11
C JFrame ohne Titelleiste, aber mit Borders AWT, Swing, JavaFX & SWT 2
D 3D-Grafik Java 3D ohne Plugin AWT, Swing, JavaFX & SWT 4
S Swing Zelle einer JTable hervorheben (ohne CellRenderer) AWT, Swing, JavaFX & SWT 3
R Swing Variable Panelbreite ohne Layoutmanager AWT, Swing, JavaFX & SWT 6
M Zugriff auf Variablen eines Objektes ohne sie auf static zu setzen AWT, Swing, JavaFX & SWT 9
H Anwendung schließen ohne System.exit AWT, Swing, JavaFX & SWT 5
T GUI ohne Rahmen auf Desktop AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben