Modify ↓
      
Opened 3 years ago
Closed 3 years ago
#22794 closed defect (fixed)
When Maproulette servers are unavailable, the plugin crashes with an error
| Reported by: | TrickyFoxy | Owned by: | taylor.smock | 
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Plugin MapRoulette | Version: | |
| Keywords: | template_report | Cc: | 
Description
What steps will reproduce the problem?
- Press Start task.
- Wait until the connection has timed out.
- An exception is displayed.
What is the expected result?
What happens instead?
Please provide any additional information below. Attach a screenshot if possible.
Revision:18676
Is-Local-Build:true
Build-Date:2023-02-23 19:57:40
Identification: JOSM/1.5 (18676 SVN ru) Mac OS X 11.7.4
OS Build number: macOS 11.7.4 (20G1120)
Memory Usage: 2046 MB / 2048 MB (1132 MB allocated, but free)
Java version: 19-ea+34, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.formdev.flatlaf.FlatIntelliJLaf
Screen: Display 69732352 1440×900 (scaling 2.00×2.00)
Maximum Screen Size: 1440×900
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: ru_RU
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=18676, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=/Applications/JOSM.app/Contents/MacOS/JOSM]
Dataset consistency test: No problems found
Plugins:
+ BuildingGeneralization (36)
+ Create_grid_of_ways (35976)
+ DirectDownload (36011)
+ EasyPresets (1623509627)
+ FastDraw (36057)
+ FixAddresses (36011)
+ HouseNumberTaggingTool (35951)
+ ImproveOsm (235)
+ ImproveWay (32)
+ MakeParallel (v1.1.0)
+ MapRoulette (17)
+ Mapillary (2.1.1)
+ OpeningHoursEditor (35924)
+ PicLayer (1.0.2)
+ PolygonCutOut (v0.7.1)
+ Relation.Validation.Plugin (1.0.1)
+ RelationDissolve (0.2.0)
+ Review.Changes (1.0.5)
+ ShapeTools (1250)
+ SimplifyArea (35978)
+ alignways (36011)
+ apache-commons (36034)
+ apache-http (35924)
+ buildings_tools (36011)
+ centernode (v1.0.4)
+ changeset-viewer (0.0.6)
+ comfort0 (35976)
+ conflation (0.6.9)
+ continuosDownload (105)
+ contourmerge (v0.1.9)
+ editgpx (36054)
+ ejml (35924)
+ ext_tools (35893)
+ fieldpapers (v0.5.0)
+ flatlaf (36036)
+ graphview (36011)
+ gridify (1606242219)
+ highwayNameModification (0.0.9)
+ importvec (35976)
+ jaxb (35952)
+ jna (36005)
+ jogl (1.2.3)
+ jts (36004)
+ junctionchecking (35893)
+ log4j (36034)
+ mapathoner (1.4.2)
+ markseen (14)
+ measurement (35978)
+ merge-overlap (35893)
+ photoadjust (36011)
+ rasterfilters (1.0.3)
+ reltoolbox (35976)
+ reverter (36043)
+ russia-address-helper (0.8.5.1)
+ splinex (35936)
+ tageditor (36011)
+ tagging-preset-tester (36011)
+ turnlanes (36011)
+ turnlanes-tagging (v0.0.5)
+ turnrestrictions (36011)
+ undelete (36011)
+ utilsplugin2 (36011)
+ waydownloader (36011)
+ wikipedia (605)
Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Quick-highways&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Quick-stops&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/RU.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1
+ <josm.userdata>/EasyPresets.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/WifiHotspots&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Manholes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/MappingAccessibility&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Maxspeed-zones&zip=1
+ https://github.com/ruosm-presets/literan-moscow/archive/refs/heads/master.zip
+ ${HOME}/JOSM/presets/forest-josm-tagging-presets/forest-presets.xml
Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
+ ${HOME}/JOSM/presets/style-power-voltage-color.mapcss
- ${HOME}/JOSM/presets/style-power-tower-solid/power-tower-solid.mapcss
+ https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Direction&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lit&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/NewParkingFeatures&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Power&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PowerMapping&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Noname&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/NewHighwayColors&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/AddressValidator&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_buildings&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/iD&zip=1
- https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip
- https://raw.githubusercontent.com/yopaseopor/indoormap/master/indoormap-style.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/NewParkingFeatures&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1
- ${HOME}/JOSM/presets/forest-josm-style/forest.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/NewParkingFeatures&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Bench&zip=1
Validator rules:
+ https://josm.openstreetmap.de/josmfile?page=Rules/KeepRight&zip=1
+ https://raw.githubusercontent.com/zetx16/Josm-HnumbValidator/master/ru-housenumber.validator.mapcss
Last errors/warnings:
- 17808.776 E: Неверный запрос - <html>Сервер OSM 'api.openstreetmap.org' сообщил о неудачном запросе.<br><br>Область, которую вы хотите скачать, слишком велика или запрошено слишком много данных.<br>Выделите меньшую область или воспользуйтесь средствами экспорта файлов OSM.</html>
- 17808.825 E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<The maximum bbox size is 0.250000, and your request was too large. Either request a smaller area, or use planet.osm>
- 17808.832 E: Неверный запрос - <html>Сервер OSM 'api.openstreetmap.org' сообщил о неудачном запросе.<br><br>Область, которую вы хотите скачать, слишком велика или запрошено слишком много данных.<br>Выделите меньшую область или воспользуйтесь средствами экспорта файлов OSM.</html>
- 19881.498 E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<The maximum bbox size is 0.250000, and your request was too large. Either request a smaller area, or use planet.osm>
- 19881.512 E: Неверный запрос - <html>Сервер OSM 'api.openstreetmap.org' сообщил о неудачном запросе.<br><br>Область, которую вы хотите скачать, слишком велика или запрошено слишком много данных.<br>Выделите меньшую область или воспользуйтесь средствами экспорта файлов OSM.</html>
- 92278.325 W: java.net.SocketTimeoutException: Read timed out. Причина: java.net.SocketTimeoutException: Read timed out
- 92301.008 W: java.net.SocketTimeoutException: Read timed out. Причина: java.net.SocketTimeoutException: Read timed out
- 92301.242 E: Handled by bug report queue: java.io.UncheckedIOException: java.net.SocketTimeoutException: Read timed out. Причина: java.net.SocketTimeoutException: Read timed out. Причина: java.net.SocketTimeoutException: Read timed out
- 92301.452 E: org.openstreetmap.josm.io.OsmTransferException: java.net.SocketTimeoutException: Read timed out. Причина: java.net.SocketTimeoutException: Read timed out. Причина: java.net.SocketTimeoutException: Read timed out
- 92301.458 E: Ошибка Ввода-вывода - <html>Не удалось скачать данные с <br>«https://maproulette.org/api/v2» или отправить их туда<br>из-за проблемы при передаче данных.<br>Подробности (без перевода): Read timed out</html>
=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.
Warning issued by: BugReportExceptionHandler#handleException
=== STACK TRACE ===
Thread: AWT-EventQueue-0 (32) of main
java.io.UncheckedIOException: java.net.SocketTimeoutException: Read timed out
	at org.openstreetmap.josm.plugins.maproulette.api.TaskAPI.start(TaskAPI.java:128)
	at org.openstreetmap.josm.plugins.maproulette.gui.task.list.LockUnlockTaskAction.lockTasks(LockUnlockTaskAction.java:83)
	at org.openstreetmap.josm.plugins.maproulette.gui.task.list.LockUnlockTaskAction.actionPerformed(LockUnlockTaskAction.java:65)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.base/java.net.HttpURLConnection.getResponseCode(Unknown Source)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
	at org.openstreetmap.josm.tools.Http1Client$1.getResponseCode(Http1Client.java:94)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:152)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:124)
	at org.openstreetmap.josm.plugins.maproulette.api.TaskAPI.start(TaskAPI.java:125)
	... 38 more
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.base/sun.nio.ch.NioSocketImpl.timedRead(Unknown Source)
	at java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)
	at java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)
	at java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)
	at java.base/java.net.Socket$SocketInputStream.read(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown Source)
	at java.base/java.io.BufferedInputStream.fill(Unknown Source)
	at java.base/java.io.BufferedInputStream.read1(Unknown Source)
	at java.base/java.io.BufferedInputStream.implRead(Unknown Source)
	at java.base/java.io.BufferedInputStream.read(Unknown Source)
	at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
	at java.base/sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getHeaderField(Unknown Source)
	at org.openstreetmap.josm.tools.Http1Client$1.getResponseVersion(Http1Client.java:85)
	... 41 more
      Attachments (0)
Change History (2)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
| Resolution: | → fixed | 
|---|---|
| Status: | new → closed | 
I've got a PR with a fix. It isn't perfect, but it should at least give a better error dialog when MapRoulette's backend isn't responding.
Assuming all the tests pass, it should be available in the next hour or two.
  Note:
 See   TracTickets
 for help on using tickets.
    



Thank you for this bug report. I thought that the MapRoulette backend service was more reliable than it (apparently) is, so I'm having to go through and handle that in different places.