<html><body>Ahoj,<br>nebudu předstírat, že tomu rozumím. Jen podotknu, že používám KDE, tedy swing by měl používat Qt widgety. To bude asi důvod, proč jsem na tento problém ještě nenarazil. A nebo se pletu?<br><br>Marián<br><br><p>---------- Původní zpráva ----------<br>Od: Martin Švec - OSM <osm@maatts.cz><br>Komu: Jiri Klement <jiri.klement@gmail.com><br>Datum: 9. 9. 2014 1:00:19<br>Předmět: Re: [Talk-cz] Odstávka LPIS</p><br><blockquote>Ahoj,<br>>> (2) Občas JOSM po kliknutí naráz vyžere celý heap Javy a současně pár giga paměti X server procesu. Zabitím JOSM procesu se vše zas uvolní. Zkouším ještě předchozí verzi JOSM, jestli není bug spíš někde mezi nejnovějším >JOSM, Xserverem a nvidia driverem.<br>> Pust josm s paremetry -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError<br>> (pripadne mensi heap, jde o to, aby pri te chybe pretekl). JOSM spadne<br>> a udela java<pid>.hprof soubor s heapdumpem, do kteryho pak muzem<br>> kouknout, co sezralo veskerou pamet. V heapdumpu bude citelna veskera<br>> pamet JOSM, takze jestli jeste nepouzivas OsmAuth, tak na nej prejdi,<br>> jinak by slo (snadno) vycist tvoje heslo.<br><br>Heapdump je k dispozici zde: http://uloz.to/xKexoVkr/java-pid9395-hprof-bz2<br><br>JOSM verze 7480 s -Xmx1500m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -jar josm-tested.jar<br><br>java version "1.8.0_11"<br>Java(TM) SE Runtime Environment (build 1.8.0_11-b12)<br>Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)<br><br>Koukal jsem do dumpu přes JVisualVM ale žádný jasný leak nevidím. Total bytes: 89 251 549 taky rozhodně neodpovídá tomu, co reálně sežral josm proces. Pořád ve mě roste podezření, že to žere něco mimo VM Javy, například GTK. Mám 6 GB RAM + 4 GB swapu a byl problém vůbec ten dump vyrobit. Při -Xmx2000m a vyšších si vzal josm proces přes 8 GB RAM a sejmul ho OOM killer, než stihl něco uložit. Stack při OutOfMemoryErroru je pokaždé stejný:<br><br>-----------------------------------------<br>java.lang.OutOfMemoryError: Java heap space<br>Dumping heap to /tmp/java_pid9395.hprof ...<br>Heap dump file created [103911020 bytes in 1,262 secs]<br>CHYBA: java.lang.OutOfMemoryError: Java heap space<br>java.lang.OutOfMemoryError: Java heap space<br>         at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75)<br>         at com.sun.java.swing.plaf.gtk.GTKEngine.finishPainting(GTKEngine.java:589)<br>         at com.sun.java.swing.plaf.gtk.GTKEngine.finishPainting(GTKEngine.java:580)<br>         at com.sun.java.swing.plaf.gtk.GTKPainter.paintTreeCellBackground(GTKPainter.java:1181)<br>         at javax.swing.plaf.synth.SynthTreeUI.paintRow(SynthTreeUI.java:554)<br>         at javax.swing.plaf.synth.SynthTreeUI.paint(SynthTreeUI.java:359)<br>         at javax.swing.plaf.synth.SynthTreeUI.update(SynthTreeUI.java:271)<br>         at javax.swing.JComponent.paintComponent(JComponent.java:777)<br>         at javax.swing.JComponent.paint(JComponent.java:1053)<br>         at javax.swing.JComponent.paintChildren(JComponent.java:886)<br>         at javax.swing.JComponent.paint(JComponent.java:1062)<br>         at javax.swing.JComponent.paintChildren(JComponent.java:886)<br>         at javax.swing.JComponent.paint(JComponent.java:1062)<br>         at javax.swing.JViewport.paint(JViewport.java:744)<br>         at javax.swing.JComponent.paintChildren(JComponent.java:886)<br>         at javax.swing.JComponent.paint(JComponent.java:1062)<br>         at javax.swing.JComponent.paintToOffscreen(JComponent.java:5217)<br>         at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)<br>         at javax.swing.RepaintManager.paint(RepaintManager.java:1252)<br>         at javax.swing.JComponent._paintImmediately(JComponent.java:5165)<br>         at javax.swing.JComponent.paintImmediately(JComponent.java:4976)<br>         at javax.swing.RepaintManager$3.run(RepaintManager.java:811)<br>         at javax.swing.RepaintManager$3.run(RepaintManager.java:794)<br>         at java.security.AccessController.doPrivileged(Native Method)<br>         at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)<br>         at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:794)<br>         at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)<br>         at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)<br>         at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)<br>         at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1680)<br>         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)<br>         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)<br><br>Martin<br><br><br>_______________________________________________<br>Talk-cz mailing list<br>Talk-cz@openstreetmap.org<br>https://lists.openstreetmap.org/listinfo/talk-cz</blockquote></body></html>