#22519 closed defect (fixed)
Selecting a geotagged image from a second layer causes an Exception
| Reported by: | Owned by: | team | |
|---|---|---|---|
| Priority: | normal | Milestone: | 22.12 |
| Component: | Core image mapping | Version: | latest |
| Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- Load two folders of geotagged images : this produces 2 image layers Important note: one layer contains 360° images, the other flat images.
- Select a picture on the map : it is displayed on the image viewer (so far so good)
- Select a picture from the other image layer on the map
What is the expected result?
View the image in the viewer and be able to carry on.
What happens instead?
The image is displayed in a new tab of the image layer and the error dialog pops up. After closing the dialog, selecting an image makes the dialog pop up again.
Selecting the option "Remove this error for this session" does not stop the error dialog to pop-up again.
Selecting the option "Hide the next error windows for this session" results in JOSM hanging.
Please provide any additional information below. Attach a screenshot if possible.
Note I have the option geoimage.one-layer-per-folder set to true.
Could this relate to https://josm.openstreetmap.de/ticket/21605 ?
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2022-11-22 14:37:25 +0100 (Tue, 22 Nov 2022)
Revision:18603
Build-Date:2022-11-23 02:30:57
URL:https://josm.openstreetmap.de/svn/trunk
Identification: JOSM/1.5 (18603 fr) Linux Ubuntu 18.04.6 LTS
Memory Usage: 1124 MB / 4000 MB (611 MB allocated, but free)
Java version: 18-ea+17-1015, Oracle Corporation, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920×1080 (scaling 1.00×1.00) :0.1 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: fr_FR.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: fr_FR
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: ubuntu:GNOME
libcommons-compress-java: libcommons-compress-java:all-1.18-1~18.04
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:all-20171026-2
VM arguments: [-Djosm.pref=<josm.pref>/]
Dataset consistency test: No problems found
Plugins:
+ Mapillary (2.0.1)
+ PicLayer (1.0.2)
+ apache-commons (36034)
+ apache-http (35924)
+ buildings_tools (36011)
+ changeset-viewer (v0.0.6)
+ ejml (35924)
+ geotools (36028)
+ jackson (36034)
+ jaxb (35952)
+ jna (36005)
+ jts (36004)
+ opendata (36025)
+ photo_geotagging (35933)
+ photoadjust (36011)
+ reverter (36011)
+ shrinkwrap (v1.0.4)
+ todo (30306)
+ undelete (36011)
+ utilsplugin2 (36011)
Tagging presets:
+ https://github.com/kendzi/Simple3dBuildingsPreset/releases/download/0.9_2018-05-08/s3db-preset.zip
+ ${HOME}/Bureau/Gares21/tools/JOSM/Gares21-preset.xml
Map paint styles:
+ ${HOME}/Bureau/Gares21/tools/JOSM/railway-station.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksPlus&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksAndFootways&zip=1
- ${HOME}/Bureau/Gares21/railway-station.mapcss
- ${HOME}/Carto'Cité/Projets/1-Cloud/EPA Marne/3D/zonage.mapcss
Validator rules:
+ ${HOME}/Bureau/Gares21/tools/JOSM/railway-station.validator.mapcss
Last errors/warnings:
- 00008.550 E: Skipping to the next rule, because of an error:
- 00008.554 E: org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException: Encountered " <IDENT> "des "" at line 201, column 21.
- 00008.583 W: Initializing map style ${HOME}/Bureau/Gares21/tools/JOSM/railway-station.mapcss terminé(e)s en 40 ms (1 errors, 0 warnings)
- 00008.599 W: Échec du chargement des styles de rendu de '${HOME}/Bureau/Gares21/railway-station.mapcss'. Lʼexception était : java.nio.file.NoSuchFileException: ${HOME}/Bureau/Gares21/railway-station.mapcss
- 00008.600 E: java.nio.file.NoSuchFileException: ${HOME}/Bureau/Gares21/railway-station.mapcss
- 00043.076 W: Unable to convert property fill-color to type class java.awt.Color: found of type class java.lang.String!
- 00052.079 W: Unable to convert property fill-color to type class java.awt.Color: found of type class java.lang.String!
- 00053.866 W: Unable to convert property fill-color to type class java.awt.Color: found of type class java.lang.String!
- 00080.851 W: Unable to convert property fill-color to type class java.awt.Color: found of type class java.lang.String!
- 00087.544 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "org.openstreetmap.josm.gui.util.imagery.CameraPlane.getRotation()" because "this.cameraPlane" is null
=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.
Warning issued by: BugReportExceptionHandler#handleException
=== STACK TRACE ===
Thread: AWT-EventQueue-0 (21) of main
java.lang.NullPointerException: Cannot invoke "org.openstreetmap.josm.gui.util.imagery.CameraPlane.getRotation()" because "this.cameraPlane" is null
at org.openstreetmap.josm.gui.layer.geoimage.viewers.projections.Equirectangular.getRotation(Equirectangular.java:59)
at org.openstreetmap.josm.gui.layer.geoimage.ImageDisplay.getRotation(ImageDisplay.java:1001)
at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.getRotation(ImageViewerDialog.java:887)
at org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer.paint(GeoImageLayer.java:460)
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:962)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1138)
at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5321)
at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246)
at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1336)
at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5269)
at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5079)
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:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
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:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
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)
Attachments (0)
Change History (6)
comment:1 by , 3 years ago
| Component: | Core → Core image mapping |
|---|
comment:2 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
comment:3 by , 3 years ago
| Milestone: | → 22.11 |
|---|
follow-up: 5 comment:4 by , 3 years ago
Thanks for such an efficient fix up !
May I ask whether there is an option to enable/disable the multiple tabs in the image viewer ? I couldn't find it and this could be useful: having multiple selected images on the map can be cnofusing when working with multiple image layers (up to 4 at times).
comment:5 by , 3 years ago
I'm reworking the tabs right now, but if you rename the layer before clicking on the image, it will help you keep track.
Otherwise, there isn't currently a way to enable/disable multiple tabs in the image viewer.



In 18604/josm: