Modify

Opened 6 years ago

Last modified 6 years ago

#16745 new defect

Poor performance when Command Stack pane is visible

Reported by: anonymous Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: performance Cc:

Description (last modified by Don-vip)

If I switch the Command Stack pane on and start editing, JOSM keeps leaking more memory. Usually after creating about 200 objects it freezes up and, if I don't kill it soon enough, my laptop freezes as well. Since I have hidden the Command Stack pane I can now edit thousands of objects.

I've observed this issue a couple months ago in a version that was, at the time, the most recent in https://josm.openstreetmap.de/apt artful universe.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-08-22 23:02:00 +0200 (Wed, 22 Aug 2018)
Revision:14180
Build-Date:2018-08-23 01:32:18
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (14180 en_GB) Linux Ubuntu 18.04.1 LTS
Memory Usage: 335 MB / 2048 MB (89 MB allocated, but free)
Java version: 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1366x768
Maximum Screen Size: 1366x768
Java package: openjdk-11-jre:amd64-10.0.2+13-1ubuntu0.18.04.2
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-20ubuntu0.1
VM arguments: [-Djosm.restart=true, -Djosm.dir.name=JOSM-latest, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ HouseNumberTaggingTool (34517)
+ PicLayer (34544)
+ alignways (34489)
+ buildings_tools (34572)
+ editgpx (34506)
+ imagery_offset_db (34596)
+ reverter (34552)
+ terracer (34584)
+ utilsplugin2 (34506)

Map paint styles:
- https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- W: Region [WMTS_BLOCK_v2] Resetting cache

Attachments (1)

dpkg_openjdk.log (43.9 KB ) - added by anonymous 6 years ago.
zgrep openjdk /var/log/dpkg.log.12.* /var/log/dpkg.log.11.* /var/log/dpkg.log.10.* /var/log/dpkg.log.9.* /var/log/dpkg.log.8.* /var/log/dpkg.log.7.* /var/log/dpkg.log.6.* /var/log/dpkg.log.5.* /var/log/dpkg.log.4.* /var/log/dpkg.log.3.* /var/log/dpkg.log.2.* /var/log/dpkg.log.1 /var/log/dpkg.log > dpkg_openjdk.log

Download all attachments as: .zip

Change History (27)

comment:1 by Don-vip, 6 years ago

Owner: changed from team to anonymous
Status: newneedinfo

Status report please.

comment:2 by anonymous, 6 years ago

Sorry, can you elaborate? What is status report and where to get it from?

comment:3 by wiktorn, 6 years ago

Looks similar to #12114

comment:4 by Don-vip, 6 years ago

It's explained in the yellow box when you create a new ticket. If it's there it's meant to be read. It allows us to not have to ask every time what version you're using, your version of Java, your OS, how much memory you have etc.

comment:5 by Don-vip, 6 years ago

Keywords: performance added

in reply to:  3 comment:6 by Don-vip, 6 years ago

Replying to wiktorn:

Looks similar to #12114

Actually this sounds like #16260

comment:7 by anonymous, 6 years ago

This really looks like #12114 to me. Unfortunately, despite trying for about an hour with various settings and scenarios, I could no longer reproduce this issue. Before it was very consistent, to the point I was uploading changes when my Undo counter reached 200. 10 more and the machine would freeze. The affected version was from the same repository several months ago.

Partial status report of my current version (working):

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-08-22 23:02:00 +0200 (Wed, 22 Aug 2018)
Revision:14180
Build-Date:2018-08-23 01:32:18
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (14180 en_GB) Linux Ubuntu 18.04.1 LTS
Memory Usage: 335 MB / 2048 MB (89 MB allocated, but free)
Java version: 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1366x768
Maximum Screen Size: 1366x768
Java package: openjdk-11-jre:amd64-10.0.2+13-1ubuntu0.18.04.2
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-20ubuntu0.1
VM arguments: [-Djosm.restart=true, -Djosm.dir.name=JOSM-latest, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ HouseNumberTaggingTool (34517)
+ PicLayer (34544)
+ alignways (34489)
+ buildings_tools (34572)
+ editgpx (34506)
+ imagery_offset_db (34596)
+ reverter (34552)
+ terracer (34584)
+ utilsplugin2 (34506)

Map paint styles:
- https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- W: Region [WMTS_BLOCK_v2] Resetting cache

in reply to:  7 comment:8 by wiktorn, 6 years ago

Replying to anonymous:

This really looks like #12114 to me. Unfortunately, despite trying for about an hour with various settings and scenarios, I could no longer reproduce this issue.

Maybe you've updated your openjdk installation? I've pinpointed this bug to some builds of openjdk, but those (as far as #12114 story goes) were in Debian.

comment:9 by Don-vip, 6 years ago

It can depend of what exactly you're doing, as not every command will have the same impact on the stack dialog. Can you please tell us if you're mapping POI, highways, landuses, power lines, etc? Adding new stuff, moving nodes, merging ways, deleting stuff, and so on?

comment:10 by anonymous, 6 years ago

At the time I was experiencing the problem I was mapping mostly buildings (buildings plugin, extrude tool) but it was mostly the number of operations in the stack than anything else that was causing the leak.

I cannot say what openjdk installation I was using 2-3 months ago. I occasionally update Ubuntu packages but I haven't upgraded the distribution itself.

comment:11 by Don-vip, 6 years ago

Description: modified (diff)
Owner: changed from anonymous to team
Status: needinfonew

in reply to:  10 comment:12 by wiktorn, 6 years ago

Replying to anonymous:

I cannot say what openjdk installation I was using 2-3 months ago. I occasionally update Ubuntu packages but I haven't upgraded the distribution itself.

You may try checking /var/log/dpkg.log* files for history of updates. Just (z)grep it for openjdk. Run from terminal:

$ zgrep openjdk /var/log/dpkg.log*

It should show you, when, and to which version have you updated openjdk related packages.

comment:13 by anonymous, 6 years ago

I've attached a log. One of the problematic changesets was #59722149 (2018/6/10, JOSM/1.5 (13825 en_GB)).

by anonymous, 6 years ago

Attachment: dpkg_openjdk.log added

zgrep openjdk /var/log/dpkg.log.12.* /var/log/dpkg.log.11.* /var/log/dpkg.log.10.* /var/log/dpkg.log.9.* /var/log/dpkg.log.8.* /var/log/dpkg.log.7.* /var/log/dpkg.log.6.* /var/log/dpkg.log.5.* /var/log/dpkg.log.4.* /var/log/dpkg.log.3.* /var/log/dpkg.log.2.* /var/log/dpkg.log.1 /var/log/dpkg.log > dpkg_openjdk.log

comment:14 by wiktorn, 6 years ago

From the log, looks like you had 3 JDK/JRE installed:
JDK 8:
From 2018-01-20 8u151-b12-0ubuntu0.17.10.2
From 2018-01-23 8u151-b12-1
From 2018-04-03 8u162-b12-1
From 2018-05-24 8u171-b11-0ubuntu0.17.10.1

JDK 9:
From 2018-04-21 9.0.4+12-4ubuntu2
From

JDK 10:
From 2018-08-22 10.0.2+13-1ubuntu0.18.04.1
From 2018-09-16 10.0.2+13-1ubuntu0.18.04.2

I don't know, which JVM do you use, nor if any of these dates correlates with change of the behaviour you've noticed.

comment:15 by Don-vip, 6 years ago

Milestone: 18.09

comment:16 by Don-vip, 6 years ago

Milestone: 18.0918.10

comment:17 by pangoSE, 6 years ago

To see which version of java you are using type

java -version

I recommend you to uninstall old java versions to avoid confusion and avoid wasting bandwith keeping them updated.

comment:18 by Don-vip, 6 years ago

Milestone: 18.1018.11

comment:19 by anonymous, 6 years ago

I haven't seen this issue for a while until now. I've restarted Josm (yesterday it was updated it to a new version) and after about 170 edits shown in the Command Stack I started seeing a slow down similar to described above. I've been mostly adding new tags to buildings (postcodes) but have also redrawn or added several buildings.

Attached a log. I had to remove URL to bypass the the spam checker.

   PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
   20   0 5915M 1630M  5636 S  0.0 21.3  0:05.72 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Djosm.restart=true -Djosm.dir.name=JOSM-latest -Djava.net.useSystemProxie
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-11-02 21:45:21 +0100 (Fri, 02 Nov 2018)
Revision:14404
Build-Date:2018-11-02 21:02:52
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (14404 en_GB) Linux Ubuntu 18.04.1 LTS
Memory Usage: 1241 MB / 2048 MB (261 MB allocated, but free)
Java version: 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1366x768, :0.1 1920x1080
Maximum Screen Size: 1920x1080
Java package: openjdk-11-jre:amd64-10.0.2+13-1ubuntu0.18.04.3
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-20ubuntu0.1
VM arguments: [-Djosm.restart=true, -Djosm.dir.name=JOSM-latest, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ HouseNumberTaggingTool (34517)
+ PicLayer (34544)
+ alignways (34489)
+ buildings_tools (34572)
+ editgpx (34506)
+ imagery_offset_db (34641)
+ reverter (34552)
+ terracer (34584)
+ utilsplugin2 (34506)

Map paint styles:

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<The maximum bbox size is 0.25, and your request was too large. Either request a smaller area, or use planet.osm.>
- E: Bad Request - org.openstreetmap.josm.gui.widgets.HtmlPanel[,0,0,0x0,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]

buildings_tool.shape=RECTANGLE
cache.bing.attribution.xml=1541193260
cache.capabilities1637351842=1541188864
cache.motd.html=1541410873
cache.motd.html.java=10.0.2
cache.motd.html.lang=En_GB:
cache.motd.html.version=14404
commandstack.visible=true
conflict.minimized=true
conflict.visible=true
coordinates=DECIMAL_DEGREES
download.location.newlayer=true
download.osm.notes=true
download.zoomtodata=false
downloadprimitive.full=false
downloadprimitive.lasttype=1
downloadprimitive.referrers=false
draw.dialogspanel=true
draw.rawgps.hdopcircle.layer 2018-04-23_13-08_Mon.gpx=false
draw.rawgps.hdopcircle.layer track3.gpx=false
draw.rawgps.large.layer 2018-04-23_13-08_Mon.gpx=true
draw.rawgps.large.layer track3.gpx=true
draw.rawgps.lines.alpha-blend.layer 2018-04-23_13-08_Mon.gpx=false
draw.rawgps.lines.alpha-blend.layer track3.gpx=false
draw.rawgps.linewidth.layer 2018-04-23_13-08_Mon.gpx=0
draw.rawgps.linewidth.layer track3.gpx=0
expert=true
file-open.history=[${HOME}/josm-session.joz, ${HOME}/2018-08-15_12-48_Wed.gpx, ${HOME}/2018-07-29_11-30_Sun.gpx, ${HOME}/track6.gpx, ${HOME}/2018-07-25_19-51_Wed.gpx, ${HOME}/track.gpx, ${HOME}/2018-05-19_19-19_Sat.gpx, ${HOME}/2018-05-20_11-59_Sun.gpx, ${HOME}/2018-06-12_12-52_Tue.gpx, ${HOME}/2018-06-20_12-32_Wed.gpx, ${HOME}/2018-06-21_12-35_Thu.gpx, ${HOME}/2018-06-23_20-47_Sat.gpx, ${HOME}/2018-06-24_11-19_Sun.gpx, ${HOME}/2018-06-26_18-32_Tue.gpx, ${HOME}/2018-06-28_08-07_Thu.gpx]
geochat.lastuid=74592308
geochat.minimized=true
geochat.visible=false
gui.geometry=x=1362,y=0,width=1928,height=1084
gui.maximized=true
imagery.cache.max_disk_size=4096
imagery.generic.default_autozoom=true
imagery.generic.max_zoom_lvl=22
imagery.layers.addedIds=[EsriWorldImageryClarity]
imagery.layers.default=[Bing, DigitalGlobe-Premium, DigitalGlobe-Standard, EsriWorldImagery, EsriWorldImageryClarity, Mapbox, osm-mapnik-black_and_white, standard]
imagery.offsetbookmarks=[]
imagery.tms.tmsloader.maxjobsperhost=4
iodb.modify.toolbar=false
iodb.offset.message=true
iodb.stored.offsets=[bing:52.232097093128345:0.14222142934799195:0.9684795699013193:1.3628066526725888, clarity.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile:52.277162125491145:-0.1126527813076973:0.0:0.0, arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile:52.313778662738464:0.028753108978271488:-2.23:3.14]
josm.version=14404
lastAddAuthor=false
lastDirectory=${HOME}/Desktop
mapillary-main.minimized=true
mapillary-main.visible=false
mappaint.renderer-class-name=org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer
mappaint.style.known-defaults=[resource://styles/standard/elemstyles.mapcss, resource://styles/standard/potlatch2.mapcss]
marker.makeautomarkers.layer 2018-04-23_13-08_Mon.gpx=true
marker.makeautomarkers.layer track3.gpx=true
message.movedManyElements=false
message.movedManyElements.value=1
opensteetcam.preferences.autoplay.started=false
openstreetcam.dataType=PHOTO
openstreetcam.filter.onlyDetection.changed=false
openstreetcam.localVersion=148
openstreetcam.panelOpened=false
openstreetcam.preferences.autoplay.delay=1500
openstreetcam.preferences.cache.disk=1000
openstreetcam.preferences.cache.memory=50
openstreetcam.preferences.cache.nearby=2
openstreetcam.preferences.cache.prevNext=2
openstreetcam.preferences.mapView.photoZoom=16
openstreetcam.preferences.mouseHover.delay=100
openstreetcam.preferences.trackLoading=true
openstreetcam_detection.png.visible=false
openstreetcam_logo_25x25.png.minimized=true
openstreetcam_logo_25x25.png.visible=false
org.openstreetmap.josm.actions.HistoryInfoAction$HistoryObjectIDDialog.primitivesHistory=[54638165]
org.openstreetmap.josm.actions.ImageryAdjustAction$ImageryOffsetDialog.geometry=x=802,y=545,width=558,height=217
org.openstreetmap.josm.actions.OpenLocationAction.geometry=x=724,y=440,width=390,height=200
org.openstreetmap.josm.actions.SessionSaveAsAction$SessionSaveAsDialog.geometry=x=2151,y=317,width=350,height=450
org.openstreetmap.josm.gui.conflict.tags.CombinePrimitiveResolverDialog.geometry=x=336,y=74,width=800,height=600
org.openstreetmap.josm.gui.dialogs.DeleteFromRelationConfirmationDialog.geometry=x=799,y=442,width=400,height=200
org.openstreetmap.josm.gui.dialogs.LatLonDialog.geometry=x=570,y=281,width=698,height=518
org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AddTagsDialog.geometry=x=809,y=152,width=395,height=424
org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$EditTagDialog.geometry=x=302,y=313,width=672,height=184
org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.geometry=x=666,y=91,width=700,height=650
org.openstreetmap.josm.gui.download.DownloadDialog.geometry=x=79,y=0,width=1287,height=768
org.openstreetmap.josm.gui.download.DownloadObjectDialog.primitivesHistory=[559578618 w559578425-559578603]
org.openstreetmap.josm.gui.history.HistoryBrowserDialogManager.geometry=x=258,y=134,width=850,height=500
org.openstreetmap.josm.gui.io.UploadDialog.geometry=x=368,y=67,width=600,height=600
org.openstreetmap.josm.gui.oauth.OAuthAuthorizationWizard.geometry=x=418,y=116,width=600,height=540
org.openstreetmap.josm.gui.preferences.PreferenceDialog.geometry=x=506,y=23,width=860,height=745
org.openstreetmap.josm.gui.preferences.imagery.AddTMSLayerPanel.geometry=x=359,y=73,width=749,height=401
org.openstreetmap.josm.gui.preferences.imagery.AddWMSLayerPanel.geometry=x=522,y=86,width=400,height=600
org.openstreetmap.josm.gui.preferences.imagery.AddWMTSLayerPanel.geometry=x=522,y=86,width=400,height=600
org.openstreetmap.josm.plugins.terracer.HouseNumberInputDialog.geometry=x=2187,y=388,width=286,height=311
osm-download.bounds=52.3104203;-0.0904763;52.3168021;-0.0745869
osm-server.upload-strategy=singlerequest
piclayer.autoloadcal=yes
piclayer.lastdir=${HOME}/Desktop
pluginmanager.lastupdate=1541410870652
pluginmanager.version=14404
pluginmanager.version-based-update.policy=always
plugins=[HouseNumberTaggingTool, PicLayer, alignways, buildings_tools, editgpx, imagery_offset_db, reverter, terracer, utilsplugin2]
plugins.importimage.importpath=${HOME}/Desktop
plugins.terracer.handle_relation=false
projection.sub.core:mercator=[]
properties.recent-tags=[addr:postcode, CB25 9BU, addr:postcode, CB25 9HA, addr:postcode, CB25 9GH, addr:postcode, CB25 9BD, addr:postcode, CB25 9AR, addr:postcode, CB25 9AH, addr:postcode, CB25 9AW, addr:postcode, CB25 9AS, addr:postcode, CB25 9AB, addr:postcode, CB25 9AN, addr:postcode, CB25 9SR, addr:postcode, CB25 9AL, addr:postcode, CB25 9AA, addr:postcode, CB25 9AD, addr:postcode, CB25 9AE, addr:postcode, CB25 9AF, addr:postcode, CB25 9AQ, addr:postcode, CB25 9AG, addr:postcode, CB25 9AU, addr:postcode, CB25 9AJ, addr:postcode, CB25 9AT, addr:postcode, CB25 0LG, addr:postcode, CB25 0NH, addr:postcode, CB25 0LQ, addr:postcode, CB25 0AW, addr:postcode, CB25 0FN, building, yes, addr:postcode, CB25 0AJ, addr:postcode, CB25 0BD, addr:postcode, CB25 0DB]
proxy.policy=no-proxy
reverter.ChangesetIdQuery.changesetsHistory=[62618799, 58067341, 56197841, 56164659, 54638165, 54651523]
sidetoolbar.hidden.dialogs/openstreetcam_logo_25x25.png=false
sidetoolbar.hidden.mapmode/building=false
sidetoolbar.hidden.mapmode/extrude/extrude=false
sidetoolbar.hidden.mapmode/move/move=false
sidetoolbar.hidden.org.openstreetmap.josm.plugins.editgpx.EditGpxMode=true
sidetoolbar.hidden.org.openstreetmap.josm.plugins.piclayer.actions.transform.affine.MovePointAction=false
sidetoolbar.hidden.org.openstreetmap.josm.plugins.piclayer.actions.transform.affine.TransformPointAction=false
socket.timeout.read=120
sourcetag.value=OS_Vectormap
terracer.HouseNumberInputDialog.geometry=x=2483,y=371,width=286,height=311
toggleDialogs.width=400
toolbar=[open, save, download, upload, |, undo, redo, |, dialogs/search(searchExpression=), preference, |, splitway, combineway, wayflip, |, imagery-offset, |, tagginggroup_Highways/Streets, tagginggroup_Highways/Ways, tagginggroup_Highways/Waypoints, tagginggroup_Highways/Barriers, |, tagginggroup_Transport/Car, tagginggroup_Transport/Public Transport, |, tagginggroup_Facilities/Tourism, tagginggroup_Facilities/Food+Drinks, |, tagginggroup_Man Made/Historic Places, |, tagginggroup_Man Made/Man Made, getoffset]
upload.comment.history=[Buildings and Postcodes, Postcodes, Buildings, Corrected road types, Changed road types to residential, Saffron Walden, Buildings and Postcodes, Postcodes from Codepoint Open, POIs in Royston, Added buildings in Saffron Walden, Aligned roads in Saffron Walden, Added buildings in Foxton, Added buildings in Orwell, Added buildings in Royston, Added buildings in St Neots, Reverted changeset #62618799. New addresses conflicted with existing data from survey and were inconsistent with other buildings.]
upload.comment.last-used=1541251659
upload.source.history=[Code-Point Open; Esri World Imagery; Esri World Imagery (Clarity) Beta, Code-Point Open, Bing, Codepoint; Esri World Imagery; Esri World Imagery (Clarity) Beta, Esri World Imagery, Code-Point Open; Esri World Imagery (Clarity) Beta, Esri World Imagery (Clarity) Beta, Codepoint; Esri World Imagery (Clarity) Beta, Codepoint; Esri World Imagery (Clarity) Beta; survey, Esri World Imagery; survey, Esri World Imagery; Esri World Imagery (Clarity) Beta, Esri World Imagery; Esri World Imagery (Clarity) Beta; survey, ; surve, , local knowledge]
validator.skip=[]
validator.skipBeforeUpload=[]
validator.visible=true

comment:20 by Don-vip, 6 years ago

Milestone: 18.1118.12

comment:21 by Don-vip, 6 years ago

Milestone: 18.1219.01

comment:22 by Don-vip, 6 years ago

Milestone: 19.0119.02

comment:23 by Don-vip, 6 years ago

Milestone: 19.0219.03

comment:24 by Don-vip, 6 years ago

Milestone: 19.0319.04

comment:25 by Don-vip, 6 years ago

Milestone: 19.0419.05

comment:26 by Don-vip, 6 years ago

Milestone: 19.05

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to anonymous.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.