Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#20622 closed defect (irreproducible)

NPE at mapillary.io.download.SequenceDownloadRunnable.lambda$run$1

Reported by: ReedtheRiver Owned by: ReedtheRiver
Priority: normal Milestone:
Component: Plugin mapillary Version:
Keywords: template_report Cc: Stereo

Description

What steps will reproduce the problem?

  1. Normal Mapillary track following in JOSM

What is the expected result?

Moving through track quickly

What happens instead?

Bug/error window for plugin keeps generating a report/problem

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

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-03-17 18:58:40 +0100 (Wed, 17 Mar 2021)
Build-Date:2021-03-17 17:59:56
Revision:17580
Relative:URL: ^/trunk

Identification: JOSM/1.5 (17580 en) Mac OS X 10.16
OS Build number: macOS 11.2.3 (20D91)
Memory Usage: 1672 MB / 1820 MB (927 MB allocated, but free)
Java version: 1.8.0_281-b09, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.formdev.flatlaf.FlatDarculaLaf
Screen: Display 69734272 1440×900 (scaling 1.00×1.00) Display 188945226 1920×1080 (scaling 1.00×1.00) Display 188945225 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
VM arguments: [-Djava.security.policy=file:<java.home>/lib/security/javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>/bin, -Djava.security.manager, -Djnlpx.origFilenameArg=/Applications/josm.jnlp, -Djnlpx.remove=false, -Dsun.awt.warmup=true, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.heapsize=NULL,2048m, -Dmacosx.jnlpx.dock.name=JOSM, -Dmacosx.jnlpx.dock.icon=${HOME}/Library/Application Support/Oracle/Java/Deployment/cache/6.0/25/4c122699-447a5efa.icns, -Djnlpx.jvm="<java.home>/bin/java"]
Dataset consistency test: No problems found

Plugins:
+ Mapillary (1.5.37.3)
+ apache-commons (35524)
+ apache-http (35589)
+ auto_tools (73)
+ buildings_tools (35669)
+ changeset-viewer (25)
+ flatlaf (35703)
+ graphview (35640)
+ highwayNameModification (0.0.9)
+ javafx-osx (35655)
+ jna (35662)
+ jts (35458)
+ markseen (14)
+ osm-obj-info (56)
+ reverter (35688)
+ rex (53)
+ scripting (30798)
+ tageditor (35640)
+ turnrestrictions (35640)
+ utilsplugin2 (35691)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://raw.githubusercontent.com/KaartGroup/Kaart-Styles/master/Kaart-Styles.mapcss
- https://raw.githubusercontent.com/KaartGroup/Kaart-Styles/master/Kaart-Styles.mapcss
- https://raw.githubusercontent.com/KaartGroup/Kaart-Styles/master/Kaart-Styles.mapcss
+ https://raw.githubusercontent.com/KaartGroup/Kaart-Styles/master/Kaart-Styles.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
+ https://raw.githubusercontent.com/KaartGroup/Kaart-Styles/master/Overlapping%20Ways.mapcss
- https://raw.githubusercontent.com/KaartGroup/Kaart-Styles/master/Kaart_QC_Quandary.mapcss

Validator rules:
+ https://raw.githubusercontent.com/KaartGroup/KaartValidator/master/kaart.validator.mapcss
+ /Applications/JOSM-Buddy/assets/validators/forbidden-tag-check.validator.mapcss

Last errors/warnings:
- 04085.533 E: Unknown detection "object--traffic-sign"
- 04085.534 E: Unknown detection "object--traffic-sign"
- 04085.741 E: Unknown detection "human--person--individual"
- 04085.741 E: Unknown detection "object--traffic-sign"
- 04085.742 E: Unknown detection "object--traffic-sign--direction"
- 04085.897 E: Unknown detection "object--traffic-sign--direction"
- 04085.898 E: Unknown detection "object--traffic-sign--direction"
- 04087.820 E: Unknown detection "object--traffic-sign--direction"
- 04087.820 E: Unknown detection "object--traffic-sign"
- 04087.821 E: Unknown detection "object--traffic-sign"



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: mapillary-MapillarySquareDownloadRunnable-0 (5190)
java.lang.NullPointerException
	at org.openstreetmap.josm.data.Bounds.contains(Bounds.java:449)
	at org.openstreetmap.josm.data.Bounds.contains(Bounds.java:437)
	at org.openstreetmap.josm.plugins.mapillary.io.download.SequenceDownloadRunnable.lambda$run$1(SequenceDownloadRunnable.java:85)
	at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
	at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1577)
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.noneMatch(ReferencePipeline.java:459)
	at org.openstreetmap.josm.plugins.mapillary.io.download.SequenceDownloadRunnable.run(SequenceDownloadRunnable.java:85)
	at org.openstreetmap.josm.plugins.mapillary.io.download.BoundsDownloadRunnable.realRun(BoundsDownloadRunnable.java:113)
	at org.openstreetmap.josm.plugins.mapillary.io.download.BoundsDownloadRunnable.realRun(BoundsDownloadRunnable.java:81)
	at org.openstreetmap.josm.plugins.mapillary.io.download.BoundsDownloadRunnable.lambda$run$0(BoundsDownloadRunnable.java:71)
	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)

Attachments (0)

Change History (15)

comment:1 by skyper, 4 years ago

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

comment:2 by Don-vip, 4 years ago

Summary: Bug occurredNPE at mapillary.io.download.SequenceDownloadRunnable.lambda$run$1

comment:3 by Don-vip, 4 years ago

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

comment:4 by taylor.smock, 4 years ago

Cc: Stereo added
Owner: changed from taylor.smock to ReedtheRiver
Status: newneedinfo

I'm taking a look at this -- if either one of you can give me a bbox of the area where you encountered it, it would be helpful.

It looks like some of the images are getting set to a null LatLon, which shouldn't be happening (all images should have a LatLon). I'd like to get the area(s) where you have encountered the problem, since I'm wondering if this might be due to the upcoming API change ( https://blog.mapillary.com/update/2021/03/03/preparing-for-the-new-mapillary-api.html ).

comment:5 by Stereo, 4 years ago

The bug happened in Luxembourg for me.

in reply to:  5 comment:6 by taylor.smock, 4 years ago

Replying to Stereo:

The bug happened in Luxembourg for me.

I was hoping for either a bbox or a link (e.g. https://www.openstreetmap.org/way/49914826 ), as I was unable to repro in my standard test area.

comment:7 by skyper, 4 years ago

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

comment:8 by skyper, 4 years ago

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

comment:9 by taylor.smock, 4 years ago

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

comment:10 by taylor.smock, 4 years ago

Resolution: irreproducible
Status: needinfoclosed

I've added a null check. This means that all images that don't have a lat lon will be removed. Since no one bothered giving me a specific area where I could reproduce, this means that it is highly likely that those who have encountered this bug will be missing images.

I was unable to find an area to reproduce in, so I have no clue why some images do not have a lat lon, and so I cannot fix the root cause (i.e., do images without a lat lon have it in a different field? I don't know).

So, this bug is "fixed", but I'm marking it as irreproducible since I was unable to find an area where images had a no lat lon.

comment:11 by Stereo, 4 years ago

I've just had it happen to me again, at https://www.openstreetmap.org/#map=21/49.6753386/6.0089855

I had previously loaded a Mapillary sequence further south at https://www.openstreetmap.org/#map=21/49.6753386/6.0089855

Revision:17702
Build-Date:2021-04-01 23:09:11

Identification: JOSM/1.5 (17702 en_GB) Mac OS X 10.16
OS Build number: macOS 11.2.3 (20D91)
Memory Usage: 6008 MB / 8192 MB (889 MB allocated, but free)
Java version: 16+36, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 69733632 1680×1050 (scaling 2.00×2.00) Display 458659266 3360×1890 (scaling 2.00×2.00)
Maximum Screen Size: 3360×1890
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
VM arguments: [-Djpackage.app-version=17702, --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:
+ AddrInterpolation (35640)
+ CommandLine (35705)
+ Create_grid_of_ways (35640)
+ ImportImagePlugin (35567)
+ ImproveWay (29)
+ Mapillary (1.5.37.4)
+ OpeningHoursEditor (35640)
+ PicLayer (2a9aa7a)
+ RelationDissolve (0.2.0)
+ alignways (35640)
+ apache-commons (35524)
+ apache-http (35589)
+ areaselector (368)
+ austriaaddresshelper (1597341117)
+ auto_tools (73)
+ buildings_tools (35669)
+ changeset-viewer (25)
+ conflation (0.6.6)
+ continuosDownload (91)
+ contourmerge (v0.1.6)
+ ejml (35458)
+ flatlaf (35703)
+ geotools (35458)
+ gridify (1606242219)
+ http2 (35427)
+ imagery-xml-bounds (35723)
+ jaxb (35543)
+ jna (35662)
+ jogl (1.2.3)
+ jts (35458)
+ log4j (35458)
+ opendata (35640)
+ openqa (0.2.1)
+ poly (35640)
+ public_transport (35640)
+ reltoolbox (35640)
+ reverter (35688)
+ shrinkwrap (v1.0.4)
+ splinex (35718)
+ terracer (35640)
+ todo (30306)
+ undelete (35640)
+ utilsplugin2 (35691)
+ wikipedia (1.1.4)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/BicycleJunction&preset&zip=1
+ http://osmtools.de/josm/steps.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historic_Stone&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&preset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Golf_Course&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/PublicTransportOneClick&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Bus_lanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historical_Objects&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/public_bookcase&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Stolpersteine&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/BuildingPreset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/PublicTransportGtfs&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Heritage&zip=1
+ https://gitlab.com/k127/josm-presets/raw/master/diplomatic.xml

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Potlatch2&zip=1
- https://github.com/simon04/coloured-addresses.mapcss/raw/master/dist/coloured-addresses.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/HiDPISupport&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/AddressValidator&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Potlach2_access&zip=1

Validator rules:
+ http://www.openrailwaymap.org/validator/openrailwaymap.validator.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/GermanySpecific&zip=1
+ http://www.openrailwaymap.org/validator/de-openrailwaymap.validator.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/MissingWeekdays&zip=1
+ https://raw.githubusercontent.com/nlehuby/transport_mapcss/master/transport.validator.mapcss

Last errors/warnings:
- 22507.694 E: Unknown detection "human--person--individual"
- 22508.760 E: Unknown detection "object--traffic-sign"
- 22508.761 E: Unknown detection "object--traffic-sign"
- 22509.375 E: Unknown detection "object--traffic-sign"
- 22509.381 E: Unknown detection "object--traffic-sign"
- 22931.269 E: Handled by bug report queue: java.lang.NullPointerException: Initial LatLon cannot be null
- 22931.839 W: java.io.IOException: java.lang.InterruptedException. Cause: java.lang.InterruptedException
- 22931.843 E: org.openstreetmap.josm.gui.progress.ProgressException: Expected states are [IN_TASK] but current state is INIT
- 22931.848 W: Could not read from URL https://a.mapillary.com/v3/image_detections?client_id=UTZhSnNFdGpxSEFFREUwb01GYzlXZzpjNGViMzQxMTIzMjY0MjZm&bbox=6.0076658%2C49.674847%2C6.0103051%2C49.6758302&layers=trafficsigns&sort_by=key!
- 22931.850 W: java.io.IOException: java.lang.InterruptedException. Cause: java.lang.InterruptedException



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: mapillary-MapillarySquareDownloadRunnable-1 (463)
java.lang.NullPointerException: Initial LatLon cannot be null
	at java.base/java.util.Objects.requireNonNull(Unknown Source)
	at org.openstreetmap.josm.plugins.mapillary.data.image.MapillaryAbstractImage.<init>(MapillaryAbstractImage.java:96)
	at org.openstreetmap.josm.plugins.mapillary.data.image.MapillaryImage.<init>(MapillaryImage.java:64)
	at org.openstreetmap.josm.plugins.mapillary.utils.api.JsonImageDetailsDecoder.decodeImageInfo(JsonImageDetailsDecoder.java:81)
	at org.openstreetmap.josm.plugins.mapillary.utils.api.JsonImageDetailsDecoder.lambda$decodeImageInfos$0(JsonImageDetailsDecoder.java:52)
	at org.openstreetmap.josm.plugins.mapillary.utils.api.JsonDecoder.decodeFeatureCollection(JsonDecoder.java:44)
	at org.openstreetmap.josm.plugins.mapillary.utils.api.JsonImageDetailsDecoder.decodeImageInfos(JsonImageDetailsDecoder.java:52)
	at org.openstreetmap.josm.plugins.mapillary.io.download.ImageDetailsDownloadRunnable.run(ImageDetailsDownloadRunnable.java:56)
	at org.openstreetmap.josm.plugins.mapillary.io.download.BoundsDownloadRunnable.realRun(BoundsDownloadRunnable.java:113)
	at org.openstreetmap.josm.plugins.mapillary.io.download.BoundsDownloadRunnable.realRun(BoundsDownloadRunnable.java:81)
	at org.openstreetmap.josm.plugins.mapillary.io.download.BoundsDownloadRunnable.lambda$run$0(BoundsDownloadRunnable.java:71)
	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

comment:12 by taylor.smock, 4 years ago

Thanks. Same issue -- I added the Objects.requireNonNull to check and see if we just weren't getting a latlon initially. I forgot to remove it (oops).

I think I'm just going to port stuff from #17177 into the plugin, since I wasn't able to reproduce at the locations given (thanks for those though).

comment:13 by taylor.smock, 4 years ago

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

comment:14 by skyper, 4 years ago

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

comment:15 by skyper, 4 years ago

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

Modify Ticket

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