Modify

Opened 8 years ago

Closed 5 years ago

Last modified 5 years ago

#13195 closed defect (fixed)

[PATCH] plugin "continuousDownload" runs away and begins downloading nonstop

Reported by: Sunfishtommy Owned by: team
Priority: major Milestone: 19.02
Component: Core Version: tested
Keywords: template_report continuosDownload Cc:

Description

What steps will reproduce the problem?

  1. Download initial layer with GPS and Open Street map enabled.
  2. move to area that is not downloaded.
  3. turn on "continuousDownload"

What is the expected result?

OSM will download the area within the view screen and add it to the layer.

What happens instead?

OSM will download first area and then automatically slew to areas not originally intended to be downloaded and begin downloading them as well. This will continue indefinitely.

Please provide any additional information below. Attach a screenshot if possible.

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-07-11 23:04:49 +0200 (Mon, 11 Jul 2016)
Build-Date:2016-07-12 01:31:48
Revision:10526
Relative:URL: ^/trunk

Identification: JOSM/1.5 (10526 en) Mac OS X 10.10.5
Memory Usage: 1301 MB / 3641 MB (928 MB allocated, but free)
Java version: 1.8.0_101-b13, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
VM arguments: [-Djava.security.policy=file:<java.home>/lib/security/javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>/bin, -Djava.security.manager, -Djnlpx.origFilenameArg=${HOME}/Desktop/josm.jnlp, -Djnlpx.remove=true, -Dsun.awt.warmup=true, -Djava.util.Arrays.useLegacyMergeSort=true, -Dmacosx.jnlpx.dock.name=JOSM, -Dmacosx.jnlpx.dock.icon=${HOME}/Library/Application Support/Oracle/Java/Deployment/cache/6.0/16/47ee53d0-5ee98c81.icns, -Djnlpx.jvm="<java.home>/bin/java", -Djnlpx.vmargs=LURqYXZhLnV0aWwuQXJyYXlzLnVzZUxlZ2FjeU1lcmdlU29ydD10cnVlAA==]
Dataset consistency test: No problems found

Plugins:
- OpeningHoursEditor (32583)
- SeaMapEditor (32311)
- apache-commons (32584)
- buildings_tools (32639)
- continuosDownload (53)
- ejml (32639)
- geotools (32584)
- imagery_offset_db (32528)
- jts (32539)
- opendata (32584)
- reverter (32584)
- terracer (32426)
- utilsplugin2 (32584)

Tagging presets:
- http://www.freietonne.de/ft_icons/josm/FreieTonne_rules_presets_zip.php
- https://josm.openstreetmap.de/josmfile?page=Presets/Diving&zip=1
- https://josm.openstreetmap.de/josmfile?page=Presets/OpenSeaMap-PresetForSeamarks&zip=1
- https://raw.githubusercontent.com/OpenSeaMap/josm/master/INT-1-preset.xml
- https://raw.githubusercontent.com/OpenSeaMap/josm/master/Presets_Sport.xml

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/LessObtrusiveNodes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lit&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SlovakiaBicycleRoutes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface-DataEntry&zip=1
- https://raw.githubusercontent.com/OpenSeaMap/josm/master/INT1_Seamark.mapcss

Last errors/warnings:
- W: java.net.SocketException: Socket closed
- E: java.net.SocketException: Socket closed
- W: java.net.SocketException: Socket closed
- E: java.net.SocketException: Socket closed
- E: java.io.IOException: Stream closed
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm>, Error Body=<Reading error text failed.>
- E: Bad Request - <html>The OSM server 'api.openstreetmap.org' reported a bad request.<br><br>The area you tried to download is too big or your request was too large.<br>Either request a smaller area or use an export file provided by the OSM community.</html>
- E: java.io.IOException: Stream closed
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm>, Error Body=<Reading error text failed.>
- E: Bad Request - <html>The OSM server 'api.openstreetmap.org' reported a bad request.<br><br>The area you tried to download is too big or your request was too large.<br>Either request a smaller area or use an export file provided by the OSM community.</html>

Attachments (2)

13195.patch (1.3 KB ) - added by GerdP 5 years ago.
improve-gpx-downloads.patch (3.9 KB ) - added by GerdP 5 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 by tomasmarklund, 8 years ago

I have the same problem.

I have also noticed that if the "download raw gps data" in the initial download is NOT checked, the "continuos download" does exactly what it is supposed to. But if the "raw gps data" is checked, the "continous download" goes bananas! It seems that the "continuous download" follows the gpx-tracks in some way...

Identification: JOSM/1.5 (10966 sv) Windows 7 64-Bit
Memory Usage: 122 MB / 989 MB (26 MB allocated, but free)
Java version: 1.8.0_101-b13, Oracle Corporation, Java HotSpot(TM) Client VM
Screen: \Display0 1920x1200, \Display1 2560x1600
Maximum Screen Size: 2560x1600
VM arguments: [-Djava.security.manager, -Djava.security.policy=file:<java.home>\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>\bin, -Djnlpx.origFilenameArg=%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\56\1ee8cfb8-1c3da5b0, -Djnlpx.remove=false, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.splashport=64789, -Djnlp.application.href=https://josm.openstreetmap.de/download/josm.jnlp, -Djnlpx.jvm=<java.home>\bin\javaw.exe, -Djnlpx.vmargs=LURqYXZhLnV0aWwuQXJyYXlzLnVzZUxlZ2FjeU1lcmdlU29ydD10cnVlAC1YbXgxMDI0TQAtRGpubHAuYXBwbGljYXRpb24uaHJlZj1odHRwczovL2pvc20ub3BlbnN0cmVldG1hcC5kZS9kb3dubG9hZC9qb3NtLmpubHAA]

/Tomas

Last edited 8 years ago by tomasmarklund (previous) (diff)

comment:2 by Don-vip, 6 years ago

Ticket #16791 has been marked as a duplicate of this ticket.

comment:3 by GerdP, 5 years ago

Ticket #17257 has been marked as a duplicate of this ticket.

by GerdP, 5 years ago

Attachment: 13195.patch added

comment:5 by GerdP, 5 years ago

Milestone: 19.01
Summary: plugin "continuousDownload" runs away and begins downloading nonstop[PATCH] plugin "continuousDownload" runs away and begins downloading nonstop

Please review: The attached patch for core fixes this endless loop. The "zoom to" triggered in these lines is obviously also done somewhere else, because I did not find a difference when the plugin is not active.
I think there is another problem in the plugin. It sometimes downloads areas again, but only for the GPX data. I did not yet find out where this is caused.

by GerdP, 5 years ago

Attachment: improve-gpx-downloads.patch added

comment:6 by GerdP, 5 years ago

Milestone: 19.0119.02

The patch improve-gpx-downloads.patch includes 13195.patch and adds two further improvements:
1) BoundingBoxDownloader: Reduce number of gpx api calls: If a call returned less than 5000 points there is no need to request another page. This improves all routines which download raw GPX data from the server.
2) GpxImporter: Create a new GpxLayer even if the area contains no GPX data. This allows to keep track of the already downloaded boundaries. Without this change the continuosDownload will try agaian and again to download data from this area because the GpxLayer will not contain the information that the corresponding bbox was already downloaded.

With this patch I see no more problems in the continuosDownload plugin. If I hear no complains I'll commit it after release of 19.1

comment:7 by GerdP, 5 years ago

Component: Plugin continuosDownloadCore
Keywords: continuosDownload added

comment:8 by anonymous, 5 years ago

I'm waiting for the fix. It's the only thing which blocks me of using GPX tracks.

comment:9 by GerdP, 5 years ago

Resolution: fixed
Status: newclosed

In 14761/josm:

fix #13195
1) BoundingBoxDownloader: Reduce number of gpx api calls: If a call returned less than 5000 points there is no need to request another page. This improves all routines which download raw GPX data from the server.
2) GpxImporter: Create a new GpxLayer even if the area contains no GPX data. This allows to keep track of the already downloaded boundaries. Without this change the continuosDownload will try agaian and again to download data from this area because the GpxLayer will not contain the information that the corresponding bbox was already downloaded.

comment:10 by GerdP, 5 years ago

Please try r14761 or later and check if an empty GPX layer causes trouble. Maybe we have to disable some options which make no sense when there is no GPX data.

comment:11 by GerdP, 5 years ago

In 14762/josm:

see #13195: Further reduce number of GPX download calls.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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