Ahoj,
(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.
Pust josm s paremetry -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError
(pripadne mensi heap, jde o to, aby pri te chybe pretekl). JOSM spadne
a udela java<pid>.hprof soubor s heapdumpem, do kteryho pak muzem
kouknout, co sezralo veskerou pamet. V heapdumpu bude citelna veskera
pamet JOSM, takze jestli jeste nepouzivas OsmAuth, tak na nej prejdi,
jinak by slo (snadno) vycist tvoje heslo.

Heapdump je k dispozici zde: http://uloz.to/xKexoVkr/java-pid9395-hprof-bz2

JOSM verze 7480 s -Xmx1500m -XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=/tmp -jar josm-tested.jar

java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

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ý:

-----------------------------------------
java.lang.OutOfMemoryError: Java heap space
Dumping heap to /tmp/java_pid9395.hprof ...
Heap dump file created [103911020 bytes in 1,262 secs]
CHYBA: java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
        at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75)
        at 
com.sun.java.swing.plaf.gtk.GTKEngine.finishPainting(GTKEngine.java:589)
        at 
com.sun.java.swing.plaf.gtk.GTKEngine.finishPainting(GTKEngine.java:580)
        at 
com.sun.java.swing.plaf.gtk.GTKPainter.paintTreeCellBackground(GTKPainter.java:1181)
        at javax.swing.plaf.synth.SynthTreeUI.paintRow(SynthTreeUI.java:554)
        at javax.swing.plaf.synth.SynthTreeUI.paint(SynthTreeUI.java:359)
        at javax.swing.plaf.synth.SynthTreeUI.update(SynthTreeUI.java:271)
        at javax.swing.JComponent.paintComponent(JComponent.java:777)
        at javax.swing.JComponent.paint(JComponent.java:1053)
        at javax.swing.JComponent.paintChildren(JComponent.java:886)
        at javax.swing.JComponent.paint(JComponent.java:1062)
        at javax.swing.JComponent.paintChildren(JComponent.java:886)
        at javax.swing.JComponent.paint(JComponent.java:1062)
        at javax.swing.JViewport.paint(JViewport.java:744)
        at javax.swing.JComponent.paintChildren(JComponent.java:886)
        at javax.swing.JComponent.paint(JComponent.java:1062)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5217)
        at 
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1252)
        at javax.swing.JComponent._paintImmediately(JComponent.java:5165)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4976)
        at javax.swing.RepaintManager$3.run(RepaintManager.java:811)
        at javax.swing.RepaintManager$3.run(RepaintManager.java:794)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:794)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
        at 
javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
        at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
        at 
javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1680)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)

Martin


_______________________________________________
Talk-cz mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-cz

Odpovedet emailem