﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
22010	OpenQA plugin : NullPointerException when pin refers to data not loaded	laurent-38 <trac-openstreetmap-de.uxtau@…>	taylor.smock	"Here is another nice bug report ;-)

==== What steps will reproduce the problem?
1. Open a new calc in JOSM
2. download this area: http://127.0.0.1:8111/load_and_zoom?left=-61.7385&top=16.044905565494783&right=-61.736&bottom=16.04369
3. Open QA layer. A purple pin should appear at the bottom of the downloaded area.
3. Click on the pin

==== What is the expected result?

Expected a nice popup with details about the osmose issue

==== What happens instead?

Got a JSOM window « unexpected exception ».

==== Please provide any additional information below. Attach a screenshot if possible.

The pin refers to this issue: https://osmose.openstreetmap.fr/fr/issue/72ce285a-5efa-ca11-1540-c4d187ec6668 ,
and this issue refers to this way https://www.openstreetmap.org/way/103427719 , which is not yet available in the JOSM downloaded area.

.


{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2022-04-04 22:26:00 +0200 (Mon, 04 Apr 2022)
Revision:18427
Build-Date:2022-04-05 01:30:55
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18427 fr) Windows 10 64-Bit
OS Build number: Windows 10 Pro 2004 (19041)
Memory Usage: 550 MB / 2008 MB (157 MB allocated, but free)
Java version: 17.0.1+12, Eclipse Adoptium, OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1366×768 (scaling 1.00×1.00) \Display1 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: fr_FR
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ CustomizePublicTransportStop (35951)
+ FastDraw (35893)
+ FixAddresses (35893)
+ OpeningHoursEditor (35924)
+ PicLayer (1.0.2)
+ RoadSigns (35935)
+ apache-commons (35924)
+ apache-http (35924)
+ buildings_tools (35951)
+ cadastre-fr (35893)
+ conflation (0.6.9)
+ ejml (35924)
+ geotools (35956)
+ gridify (1606242219)
+ jaxb (35952)
+ jna (35924)
+ jts (35924)
+ opendata (35910)
+ openqa (0.2.6)
+ pt_assistant (1ff2e15)
+ reverter (35893)
+ scripting (30798)
+ todo (30306)
+ utilsplugin2 (35951)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/Dispositifs_Publicitaires&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/FR.zip

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Power&zip=1
- https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1
- https://raw.githubusercontent.com/yopaseopor/traffic_signs_style_JOSM/master/Styles_Traffic_signs_EUR_OC.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransportV2&zip=1
- resource://mapcss/Mapillary.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/DestinationSignRelation&zip=1
+ N:\OSM\css\missing-buildings.mapcss

Validator rules:
+ https://raw.githubusercontent.com/nlehuby/transport_mapcss/master/transport.validator.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/FranceSpecificRules&zip=1

Last errors/warnings:
- 00005.814 W: Unable to request certificate of https://grca.nat.gov.tw
- 00025.566 W: Échec du chargement des styles de rendu de 'resource://mapcss/Mapillary.mapcss'. Lʼexception était : java.io.IOException: L’ouverture du flux d’entrée pour la ressource 'resource://mapcss/Mapillary.mapcss' a échoué
- 00025.571 E: java.io.IOException: L’ouverture du flux d’entrée pour la ressource 'resource://mapcss/Mapillary.mapcss' a échoué
- 00218.648 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.DataSet.allPrimitives()"" because ""mergeFrom"" is null
- 00270.199 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.DataSet.allPrimitives()"" because ""mergeFrom"" is null
- 00299.954 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.DataSet.allPrimitives()"" because ""mergeFrom"" is null
- 00340.296 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.DataSet.allPrimitives()"" because ""mergeFrom"" is null
- 00413.919 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.DataSet.allPrimitives()"" because ""mergeFrom"" is null
- 00526.179 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.DataSet.allPrimitives()"" because ""mergeFrom"" is null
- 01436.933 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.OsmPrimitive.isModified()"" because ""p"" is null



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (23) of main
java.lang.NullPointerException: Cannot invoke ""org.openstreetmap.josm.data.osm.OsmPrimitive.isModified()"" because ""p"" is null
	at com.kaart.openqa.profiles.osmose.OsmoseInformation.lambda$getLatestServerPrimitive$3(OsmoseInformation.java:462)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
	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.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:662)
	at java.base/java.util.stream.ReferencePipeline.max(ReferencePipeline.java:698)
	at com.kaart.openqa.profiles.osmose.OsmoseInformation.lambda$getLatestServerPrimitive$4(OsmoseInformation.java:462)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	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.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at com.kaart.openqa.profiles.osmose.OsmoseInformation.getLatestServerPrimitive(OsmoseInformation.java:463)
	at com.kaart.openqa.profiles.osmose.OsmoseInformation.getNodeToolTip(OsmoseInformation.java:413)
	at com.kaart.openqa.ErrorLayer$PaintWindow.paintSelectedNode(ErrorLayer.java:409)
	at com.kaart.openqa.ErrorLayer$PaintWindow.createNodeWindow(ErrorLayer.java:344)
	at com.kaart.openqa.ErrorLayer$PaintWindow.realrun(ErrorLayer.java:324)
	at com.kaart.openqa.ErrorLayer$PaintWindow.run(ErrorLayer.java:307)
	at com.kaart.openqa.ErrorLayer.paint(ErrorLayer.java:282)
	at org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable$CompatibilityModeLayerPainter.paint(AbstractMapViewPaintable.java:27)
	at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:469)
	at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:584)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:491)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:952)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1657)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1632)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1570)
	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337)
	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259)
	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
	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)
}}}
"	defect	closed	normal		Plugin openqa		fixed	template_report	
