Modify

#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?

  1. Press Start task.
  2. Wait until the connection has timed out.
  3. 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 taylor.smock, 14 months ago

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.

comment:2 by taylor.smock, 14 months ago

Resolution: fixed
Status: newclosed

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.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain taylor.smock.
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.