JOSM deformiert KDE

Mit NO_J2D_MITSHM=1 lässt sich das Problem umgehen, ggf. anpassen:

NO_J2D_MITSHM=1 java -jar ~/josm-latest.jar

Diese Option verbietet Java den Shared Memory des X Servers zu benutzen.

Erklärung:
Leider ist bei einem OpenJDK 7 Sicherheitspatch etwas kaputt gegangen.
Java tauscht Daten mit dem X Server standardmäßig über Shared Memory aus.
Durch den fehlerhaften Patch wird der angeforderte Speicher durch Java nicht mehr frei gegeben, so dass irgendwann der Shared Memory voll ist.
Andere Programme, die diesen Shared Memory benutzen möchten (wie z.B. Programme, welche Qt verwenden, also auch KDE), können dann nicht mehr zeichnen (deshalb die Grafikfehler) oder gar nicht erst starten.
Den Shared Memory Leak kann man bei laufendem JOSM übrigens sehr schön beobachten:

ipcs -m -p
ipcs -m -p | wc -l

Gruß,
Mondschein

Ubuntu und Debian haben das Problem inzwischen behoben.
OpenJDK 7 wurde von 85 auf 91 aktualisiert:
http://packages.ubuntu.com/search?keywords=openjdk-7-jre&exact=1
https://packages.debian.org/search?keywords=openjdk-7-jre&exact=1

Falls noch eine nicht verbesserte OpenJDK-7-Version verwendet wird, kann übrigens anstatt der oben genannte Option “NO_J2D_MITSHM=1” auch die Option “sun.java2d.opengl=true” verwenden werden, denn OpenGL verwendet den genannten Shared Memory nicht:

java -Dsun.java2d.opengl=true ~/josm-latest.jar

Gruß,
Mondschein

Hallo,

Das Problem scheint das Zusammentreffen von OpenJDK 7 und Qt (Bibliothek von KDE) zu sein. Vorgestern hatte ich im Büro (Ubuntu 14.04) zufällig gleichzeitig JOSM und QGIS offen und plötzlich waren in QGIS die Dialogfenster kaputt und die Menüpunkte erscheinen nur, wenn sich die Maus auf ihnen befand. Solch ein Verhalten habe ich zuvor nur auf meinem Laptop (Arch Linux) im VLC Player beobachtet, wenn ich Videomapping betrieben habe (also laufender JOSM).

Jetzt habe ich auf OpenJDK 8 upgegradet (OpenJDK 7 habe ich gleich deinstalliert) und das Problem scheint auf meinem Laptop nicht mehr aufzutreten.

Viele Grüße

Michael

War ein Java-Bug. Die aktuelle OpenJDK 7u91 hat ihn auch nicht mehr.

–ks

Kann ich auch bestätigen. Nach dem Upgrade vor einigen Tagen ist das Problem weg.

Gruss
walter

Aus der Reihe der GUI-Probleme mit JOSM unter Ubuntu/Debian habe ich noch so ein Schätzchen. (Damit macht das Mappen keinen Spaß) Entdeckt habe ich es, weil ich mir einen neuen Laptop gekauft und erstmal Kubuntu/Xubuntu 15.10 installiert habe (sonst nutze ich Arch Linux). Aber seht selbst:

Es gibt sogar ein Video davon: https://josm.openstreetmap.de/raw-attachment/ticket/12022/out.ogv

Die Lösung:

assistive_technologies=org.GNOME.Accessibility.AtkWrapper

aus /etc/java-8-openjdk/accessibility.properties entfernen (liegt bei OpenJDK 7 in einem anderen Verzeichnis)

Quellen:
https://www.openstreetmap.org/user/Nakaner/diary/37922
https://josm.openstreetmap.de/ticket/12022#comment:40
https://bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1510009

Danke für den Hinweis und die Lösung! Hm, ich habe dieses Problem noch nie gesehen, obwohl ich mit Linux Mint 17.3 ebenfalls auf einem Debian-Derivat mit Ubuntu-Einflüssen arbeite und gelegentlich auch einen Lubuntu-Rechner mit JOSM nutze. Ob dieses Problem wohl auf bestimmte Desktops beschränkt ist? Es sieht so aus: Im zu ändernden String erscheint “Gnome”, also geht es diesmal wohl nicht um KDE. Allerdings könnte dann auch Cinnamon betroffen sein, das ich ja auf Mint nutze. Vielleicht sehe ich das Problem nur deshalb nicht, weil ich im Moment noch Java 7 als Default habe; dann wäre dieses Problem auf JOSM mit Java 8 beschränkt. Aber auch dann wäre ich froh, darum zu wissen, da ich ja demnächst auf Java 8 wechseln werde/muss (da JOSM dieses bald erfordern wird). Also jedenfalls vielen Dank für den Tip!

Edit: aus den zitierten beiden Tickes geht hervor, dass das Problem auf Openjdk 8 (und Gnome?!) beschränkt ist.

Ubuntu 15.10 hat als Default nur OpenJDK 7 installiert. Dort trat das Problem auch auf. Auch KDE ist betroffen.

Hier läuft Linux Mint 17.3 mit OpenJDK 8.0_72 und JOSM 9329. Keine Probleme.

Java 8 bekommst du problemlos aus einem PPA (openjdk-r), einfach googeln.

–ks

at ks: Danke für den Hinweis auf Java 8/PPA!

Aber jetzt frage ich mich doch, unter welcher Konfiguration das Problem nun auftritt. An Java 7 vs. 8 liegt es lt. Nakaner nicht. Liegt es doch am Desktop? Der oben zitierte Pfad scheint ja auf Gnome (und Abkömmlinge, also auch Unity?!) hinzudeuten, und Kreuzschnabel, der das Problem nicht hat, benutzt KDE, richtig? Aber Nakaner schreibt, auch KDE sei betroffen, und unter Linux Mint mit Cinnamon habe ich das Problem bisher noch nie gesehen, obwohl auch Cinnamon ja von Gnome (3) abstammt … also auch keine klare Zuordnung zwischen Desktop und Problem. Vielleicht hat es damit zu tun, ob irgendwelche accessibility-Dinge angeschaltet sind. Naja, ist ja auch egal, solange der Workaround funktioniert. :wink:

Ja, ich nutze KDE.

Zement mal – ich dachte gerade an das alte Problem, wo es darum ging, daß KDE-Anwendungen nicht mehr zu gebrauchen waren, wenn JOSM eine Zeitlang lief. Aus dem Ticket, das ich seinerzeit erstellt hatte, ergab sich, daß es ein Speicherleck in Java war, das kurz darauf gefixt wurde. Demnach sollte das in aktuellen Versionen (auch Java 7) nicht mehr auftreten.

Das jetzt von Nakaner vorgestellte Problem mit den Werten im Dialogfenster tritt bei mir aber auch nicht auf. Allerdings habe ich das „Verhalten und Aussehen“ von JOSM auf GTK+ umgestellt. Moment, ich stell mal zurück … nein, auch mit der standardmäßigen Metal-Oberfläche (die ich ganz furchtbar 90er finde) tritt das Problem bei mir nicht auf.

–ks

Mit einem frisch installierten Kubuntu 15.10 (mit alle Aktualisierungen) habe ich das Problem nicht, weder mit Java 7 noch 8.
Habe alle Standardeinstellungen belassen.

Viele Grüße,
whb

Vielleicht der Grafiktreiber? Merkwürdige Verhaltensweisen von unity/… habe ich eigentlich nur mit komischen Grafiktreibern gesehen (ist aber schon ein paar Jahre her)

Bei mir sind es zwei Geräte (ein Notebook, ein Desktop-Rechner) mit Intel-Skylake-Prozessoren und integrierter Grafik (also keine dezidierte Grafikkarte). Mein altes Notebook mit Intel Core i5 der 1. Generation hat das Problem nicht gehabt, aber dort ist Arch Linux installiert, das weniger den Upstream-Code patcht als es die Ubuntu-/Debian-Leute tun. (Ubuntu will ich auf dem Gerät nicht installieren)

Aber sind es die gleichen Grafikchips? Vermutlich nicht, d.h. meine Vermuting dürfte nicht stimmen…mist.

Desktop-Rechner: Intel HD Graphics 530
Notebook: Intel HD Graphics 5500