Java Fehler Fix (jawt.dll)

Allgemeine Fragen zum Spiel und dem Drumrum.

Moderatoren: Stellwerk-Admin, Moderatoren

Antworten
cookiedrugs
Beiträge: 18
Registriert: Sa Feb 23, 2013 8:15 pm

Java Fehler Fix (jawt.dll)

Beitrag von cookiedrugs »

Hallo zusammen,

es gibt ein Fehler, der bei manchen auftaucht, wenn der StellwerkSim gestartet wird. Ich selbst habe diesen Fehler schon seit Jahren, und konnte deshalb ewig nicht mehr auf meinem Main-PC spielen. Siehe auch die anderen Threads:

viewtopic.php?p=319601&hilit=jawt.dll#p319601
viewtopic.php?p=303479&hilit=jawt.dll#p303479
viewtopic.php?p=338555&hilit=jawt.dll#p338555

Der Fehler ist:
java.lang.UnsatisfiedLinkError: Native Library C:\Program Files\Java\jre1.8.0_311\bin\jawt.dll already loaded in another classloader

Ich habe nun eine Lösung für den Fehler gefunden. Allerdings müssten die Entwickler hier die "flatlaf.dll" patchen. Das würde vermutlich für alle das Problem lösen.


Detailiertere Beschreibung:

Ich habe über die Jahre den Fehler immer wieder analysiert. Nach einer weiteren zwei Tage Analyse habe ich das Problem heute endlich eingegrenzt. Übrigens so einfache Ideen wie Cache löschen, Java deinstallieren, etc... hat nie funktioniert. Um den Fehler einzugrenzen, habe ich alle jar-Dateien, die benötigt werden selbst herunter geladen, und den StellwerkSim mit java selbst zusammengebaut. Nach etlichen Versuchen konnte ich den StellwerkSim komplett ausschließen. Selbst der nachfolgende Code hat das Problem verursacht.

Code: Alles auswählen

public class MyMain {
    public static void main(String[] args) throws Exception {
        javax.swing.UIManager.setLookAndFeel(new com.formdev.flatlaf.FlatIntelliJLaf());
        new javax.swing.JFrame();
    }
}
Es liegt also definitiv an flatlaf, allerdings nur mit der Version, die hier auf dem Server liegt. Mit der neuesten Version flatlaf-3.6 taucht der Fehler nicht mehr auf. Mit dieser neuen Version habe ich den StellwerkSim lokal bei mir wieder zusammengebaut. Und es hat tatsächlich funktioniert, bzw. so halb. Das Hauptfenster startet (seit Jahren) wieder :D . Problem ist, wenn ich ein Stellwerk betrete, bekomme ich einen Signatur-Fehler, vermutlich weil die flatlaf-3.6.jar nicht mit eurer jar übereinstimmt.

Hier übrigens noch ein Thread von einem ganz anderen Programm gefunden, welches ebenfalls flatlaf benutzt, und ein Post der sagt, dass eine bestimmte Version den Fehler korrigiert.
https://github.com/ATLauncher/ATLauncher/issues/505

Ich weiß, dass nicht viele hier diesen Fehler haben, und dass es irgendwie mit einer Kombination von irgendetwas anderem auf dem PC zu tun hat. Dennoch würde ich mir wünschen, dass ihr hier die flatlaf.jar patched, damit der Fehler korrigiert wird. Vielen Dank
DevonFrosch
EntwicklerHandbuch-TeamR-Admin [Bremen-Niedersachsen, Fernverkehr Niederlande, Hamburg - Schleswig-Holstein, Niederlande Ost, Rhein-Main, Rhein-Main 2024, Rheinland-Pfalz, Ruhrgebiet, Zug-Schattenregion]Fernverkehr-Team [NL, SKA]Qualitätssicherung [Anlagen-QS, Zug-QS]Erbauer
Beiträge: 8078
Registriert: Fr Jan 16, 2009 11:15 am
StiTz: 709215

Re: Java Fehler Fix (jawt.dll)

Beitrag von DevonFrosch »

Moin,

Danke für die umfangreiche Recherche :)

Wir haben gerade im Hintergrund einige Umbaumaßnahmen laufen, in dessen Zuge sich das Problem erledigen sollte - ich werde aber auch mal schauen, dass FlatLaF aktualisiert wird. Aufgrund von Terminen und Reallife wird das leider noch etwas dauern.

Gruß,
DevonFrosch
Querschnittskompetenzträger
Projektübersicht
Onlogist
Beiträge: 54
Registriert: Di Aug 06, 2024 6:50 pm
StiTz: 770030

Re: Java Fehler Fix (jawt.dll)

Beitrag von Onlogist »

Guten Tag auch,

falls jemand einem Laien erklären möchte was dieses Ding da macht, freue ich mich. Falls das zu kompliziert ist, ist das auch ok.

Beste Grüße
Onlogist
Stellwerkstester
cookiedrugs
Beiträge: 18
Registriert: Sa Feb 23, 2013 8:15 pm

Re: Java Fehler Fix (jawt.dll)

Beitrag von cookiedrugs »

Also jawt (bzw. darauf aufgesetzt swing) ist ein GUI Framework von java. Damit kannst du sagen, ich habe ein Fenster mit diesen Button, diesen Listen etc., und folgendes passiert, wenn du irgendwas drückst. Ganz kurz erklärt. Das Framework ist aber so generisch, dass du die Darstellung (Look and Feel) komplett austauschen kannst. FlatLaf ist ein separates Framework, welches definiert, wie die Buttons, Listen, etc. aussehen. Theoretisch könnte man FlatLaf auch komplett entfernen, dann würden die Buttons so aussehen wie in Windows. Das wollte ich aber jetzt mal nicht vorschlagen, weil eine neue Version von FlatLaf das Problem ebenfalls löst.
Onlogist
Beiträge: 54
Registriert: Di Aug 06, 2024 6:50 pm
StiTz: 770030

Re: Java Fehler Fix (jawt.dll)

Beitrag von Onlogist »

ich bedanke mich ganz herzlich

Beste Grüße
Onlogist
Stellwerkstester
JamusElanus
Beiträge: 11
Registriert: Mi Dez 18, 2019 7:58 pm
Kontaktdaten:

Re: Java Fehler Fix (jawt.dll)

Beitrag von JamusElanus »

Vielen Dank für deine Recherche. Dann hoffen wir mal, dass sich FlatLaF aktualisieren lässt.

Und tatsächlich, sobald ich StellwerkSim auf einem anderen Windows User öffne, funktioniert es ohne Probleme.
Es wird also wohl einen Zusammenhang haben mit etwas, dass nur der eine User hat, nicht das Gerät selbst.

Grüsse
floflo
R-Admin [Thüringen, Zug-Schattenregion]Fernverkehr-Team [IT, UK]Erbauer
Beiträge: 3841
Registriert: Sa Aug 24, 2013 4:46 pm

Re: Java Fehler Fix (jawt.dll)

Beitrag von floflo »

Das scheint auch ein sehr sporadischer Fehler bei manchen zu sein. Habe ich auch immer wieder mal, kann aber auch nicht reproduzieren unter welchen Bedingungen der Fehler auftritt. Ich warte dann 30 Sekunden, ohne was anderes zu tun, und versuche den Start nochmal und i.d.R. läuft's dann. Vielleicht 2x in all den Jahren gehabt, dass es 3-4 Versuche brauchte.
R-Admin Thüringen
Erbauer in der Region Baden-Württemberg und Großbritannien
cookiedrugs
Beiträge: 18
Registriert: Sa Feb 23, 2013 8:15 pm

Re: Java Fehler Fix (jawt.dll)

Beitrag von cookiedrugs »

Die Info von @JamusElanus hat mir keine Ruhe gelassen, dass es selbst mit einem anderen (neuen) Windows User wieder funktioniert. Also habe ich mal Stück für Stück Dateien von einem User zum anderen kopiert. Und siehe da, ich habe die eine Datei gefunden. Im Benutzerordner "C:\Users\XXX\" gibt es vielleicht bei euch eine Datei ".accessibility.properties". Löscht sie, oder benennt sie um. Danach ist der Fehler auch weg. Diese Datei hat auch irgendwas mit awt bzw. swing zu tun, also macht das auch Sinn. Ich weiß nur nicht, wie da genau das Zusammenspiel ist.
https://docs.oracle.com/en/java/javase/ ... rties.html
JamusElanus
Beiträge: 11
Registriert: Mi Dez 18, 2019 7:58 pm
Kontaktdaten:

Re: Java Fehler Fix (jawt.dll)

Beitrag von JamusElanus »

Wow, vielen Dank!!
Durch das Löschen der Datei ist das Problem behoben.
Ich werde mal schauen ob der Fehler wieder auftritt, bzw. ob die Datei wieder erscheint.

Grüsse
Onlogist
Beiträge: 54
Registriert: Di Aug 06, 2024 6:50 pm
StiTz: 770030

Re: Java Fehler Fix (jawt.dll)

Beitrag von Onlogist »

Noch eine Frage: Was hat es denn gemacht? Für mich einfach erkläert, fallst du das scgon getan hast.
Stellwerkstester
JamusElanus
Beiträge: 11
Registriert: Mi Dez 18, 2019 7:58 pm
Kontaktdaten:

Re: Java Fehler Fix (jawt.dll)

Beitrag von JamusElanus »

Ich bin mir nicht sicher ob du mich meinst?

Nach dem löschen der Datei, habe ich den Kommunikator erneut herunterladen und ausgeführt. Es kam dann die Sicherheitswarnung, die ich akzeptiert habe und das Programm trotzdem ausgeführt habe. Daraufhin ist alles normal gestartet.
Beim nächsten Start musste ich dann nichts mehr akzeptieren, der Kommunikator startete direkt.
Die Datei ist auch bis jetzt nicht wieder erschienen.

Grüsse
Antworten