Modify

Opened 7 weeks ago

Last modified 2 weeks ago

#24772 reopened defect

MapRoulette plug-in failed when I tried to download MR data for a particular area.

Reported by: b-jazz Owned by: taylor.smock
Priority: normal Milestone:
Component: Plugin MapRoulette Version:
Keywords: template_report Cc: tsmock@…

Description

What steps will reproduce the problem?

  1. Latest version of MapRoulette (v84)
  2. Go to the area near https://www.openstreetmap.org/way/992466109
  3. Zoom out enough to see the two golf courses
  4. Download OSM data using File -> Download data... -> Download from OSM
  5. Check both (only) OpenStreetMap data and MapRoulette Tasks
  6. Be presented with a plug-in failure error panel

What is the expected result?

  1. Actually get the several dozen tasks that are in that area.

What happens instead?

  1. Asked to upload (already did once)

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

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-05-07 21:57:49 +0200 (Thu, 07 May 2026)
Revision:19573
Build-Date:2026-05-08 01:31:15
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19573 en) Linux Manjaro Linux
Memory Usage: 464 MB / 16024 MB (114 MB allocated, but free)
Java version: 21.0.11+10, Arch Linux, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 2560x1440x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 2560×1440
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, -Djosm.restart=true]
Dataset consistency test: No problems found

Plugins:
+ MapRoulette (84)
+ comfort0 (36438)
+ reltoolbox (36438)
+ reverter (36447)
+ todo (155)
+ turnrestrictions (36438)
+ utilsplugin2 (36438)

Last errors/warnings:
- 00018.569 W: java.io.IOException: Attribution is not loaded yet
- 00018.570 W: java.io.IOException: Attribution is not loaded yet
- 00018.570 W: java.io.IOException: Attribution is not loaded yet
- 00018.570 W: java.io.IOException: Attribution is not loaded yet
- 00018.570 W: java.io.IOException: Attribution is not loaded yet
- 00018.571 W: java.io.IOException: Attribution is not loaded yet
- 00018.571 W: java.io.IOException: Attribution is not loaded yet
- 00018.571 W: java.io.IOException: Attribution is not loaded yet
- 00018.572 W: java.io.IOException: Attribution is not loaded yet
- 00033.856 E: Handled by bug report queue: org.openstreetmap.josm.tools.JosmRuntimeException: {}. Cause: org.openstreetmap.josm.io.IllegalDataException: {}



=== REPORTED CRASH DATA ===
TaskAPI#box:
 - uri: https://maproulette.org/api/v2/tasks/box/-84.1247177/43.3984217/-84.0801072/43.4188581

Warning issued by: TaskAPI#box

=== STACK TRACE ===
Thread: main-worker-0 (54) of main
org.openstreetmap.josm.tools.JosmRuntimeException: {}
	at org.openstreetmap.josm.plugins.maproulette.api.parsers.ClusteredPointParser.parseBounding(ClusteredPointParser.java:96)
	at org.openstreetmap.josm.plugins.maproulette.api.parsers.ClusteredPointParser.parse(ClusteredPointParser.java:72)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at org.eclipse.parsson.JsonParserImpl$1.tryAdvance(JsonParserImpl.java:203)
	at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:332)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
	at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
	at org.openstreetmap.josm.plugins.maproulette.api.parsers.ClusteredPointParser.parse(ClusteredPointParser.java:48)
	at org.openstreetmap.josm.plugins.maproulette.api.TaskAPI.box(TaskAPI.java:95)
	at org.openstreetmap.josm.plugins.maproulette.actions.downloadtasks.MapRouletteDownloadTaskBox$DownloadTask.realRun(MapRouletteDownloadTaskBox.java:87)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.openstreetmap.josm.io.IllegalDataException: {}
	at org.openstreetmap.josm.plugins.maproulette.api.parsers.GeometryParser.parseObject(GeometryParser.java:106)
	at org.openstreetmap.josm.plugins.maproulette.api.parsers.GeometryParser.parseValue(GeometryParser.java:55)
	at org.openstreetmap.josm.plugins.maproulette.api.parsers.ClusteredPointParser.parseBounding(ClusteredPointParser.java:94)
	... 19 more

Attachments (0)

Change History (7)

comment:1 by stoecker, 3 weeks ago

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

comment:2 by gaben, 2 weeks ago

Component: CorePlugin MapRoulette
Owner: changed from team to taylor.smock

comment:3 by taylor.smock, 2 weeks ago

Resolution: fixed
Status: newclosed

Should be fixed in v85.

comment:4 by taylor.smock, 2 weeks ago

@b-jazz: As a heads up, the tsmock@… is _probably_ dead -- I got laid off last year in February. Along with Bryan (RapiD).

comment:5 by b-jazz, 2 weeks ago

@taylor.smock: good to know! Thanks for that info, and thanks for the fix. The project's github page (https://github.com/JOSM/MapRoulette#author) still has the meta address. As soon as I figure out how to download the version after the current "latest" (v84), I'll test it out.

comment:6 by taylor.smock, 2 weeks ago

Thanks; I fixed the author field.

As far as the current latest, it should show up <10 minutes after the pipeline finishes.

comment:7 by b-jazz, 2 weeks ago

Resolution: fixed
Status: closedreopened

Sorry to report, but it is still broken (or maybe broken in a new way):

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-05-07 21:57:49 +0200 (Thu, 07 May 2026)
Revision:19573
Build-Date:2026-05-08 01:31:15
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19573 en) Linux Manjaro Linux
Memory Usage: 824 MB / 16024 MB (297 MB allocated, but free)
Java version: 21.0.11+10, Arch Linux, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 2560x1440x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 2560×1440
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, -Djosm.restart=true]
Dataset consistency test: No problems found

Plugins:
+ MapRoulette (86)
+ comfort0 (36474)
+ reltoolbox (36474)
+ reverter (36474)
+ todo (159)
+ turnrestrictions (36474)
+ utilsplugin2 (36497)

Last errors/warnings:
- 00150.046 W: java.io.IOException: Attribution is not loaded yet
- 00181.197 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
- 00181.535 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
- 00181.537 E: Handled by bug report queue: java.lang.reflect.InvocationTargetException. Cause: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
- 00181.939 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
- 00182.373 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
- 00193.553 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
- 00193.865 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
- 00194.352 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
- 00194.657 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (55) of main
java.lang.NullPointerException: Cannot invoke "jakarta.json.JsonValue.toString()" because the return value of "jakarta.json.JsonObject.get(Object)" is null
	at org.openstreetmap.josm.plugins.maproulette.api.ChallengeAPI.parseChallengePriority(ChallengeAPI.java:321)
	at org.openstreetmap.josm.plugins.maproulette.api.ChallengeAPI.parseChallenge(ChallengeAPI.java:279)
	at org.openstreetmap.josm.plugins.maproulette.api.ChallengeAPI.challenge(ChallengeAPI.java:233)
	at org.openstreetmap.josm.plugins.maproulette.api_caching.ChallengeCache.challenge(ChallengeCache.java:57)
	at org.openstreetmap.josm.plugins.maproulette.api_caching.ChallengeCache.isHidden(ChallengeCache.java:36)
	at org.openstreetmap.josm.plugins.maproulette.api_caching.TaskCache.isHidden(TaskCache.java:50)
	at org.openstreetmap.josm.plugins.maproulette.gui.layer.MapRouletteClusteredPointLayer.paint(MapRouletteClusteredPointLayer.java:221)
	at org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable$CompatibilityModeLayerPainter.paint(AbstractMapViewPaintable.java:27)
	at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:487)
	at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:603)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:509)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:961)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1137)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5318)
	at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:255)
	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336)
	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5266)
	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5076)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:878)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:861)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:861)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:834)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1897)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
	at java.desktop/java.awt.Component.show(Component.java:1728)
	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:255)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:113)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Modify Ticket

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

Add Comment


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