Modify

Opened 113 minutes ago

Last modified 103 minutes ago

#24630 new defect

Toggling visibility of the UK Cadastral Parcels layer with Urban Eye 3D open crashed JOSM

Reported by: josm@… Owned by: zkir
Priority: normal Milestone:
Component: Plugin UrbanEye3D Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. Have the OSMUK Cadastral Parcels layer open and visible, and Bing Sat open and visible, but with a lower priroity
  2. Open Urban Eye 3D in a detached window
  3. Hide visibility of the OSMUK Cadastral Parcels layer

What is the expected result?

I can continue editing. Maybe the ground now appears from Bing Sat in Urban Eye 3D

What happens instead?

JOSM crashes with a null pointer exception (details below)

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-01-31 13:00:34 +0100 (Sat, 31 Jan 2026)
Revision:19481
Build-Date:2026-02-01 02:30:45
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19481 en_GB) Linux Debian GNU/Linux 13 (trixie)
Memory Usage: 1056 MB / 11960 MB (49 MB allocated, but free)
Java version: 21.0.10+7-Debian-1deb13u1, Debian, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920x1080x[Multi depth]@60Hz (scaling 1.00×1.00) :0.1 1920x1080x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_GB.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_GB
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: XFCE
Java package: openjdk-21-jre:amd64-21.0.10+7-1~deb13u1
Java ATK Wrapper package: libatk-wrapper-java:all-0.40.0-3
libcommons-logging-java: libcommons-logging-java:all-1.3.0-2
fonts-noto: fonts-noto:all-20201225-2
VM arguments: [--module-path=/usr/share/openjfx/lib, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, -Djosm.restart=true, -Djava.net.useSystemProxies=true, -XX:MaxRAMPercentage=75.0, --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]
Dataset consistency test: No problems found

Plugins:
+ Mapillary (1816)
+ apache-commons (36474)
+ buildings_tools (36474)
+ jaxb (36474)
+ jogl (1.2.3)
+ log4j (36474)
+ measurement (36474)
+ terracer (36474)
+ todo (157)
+ urbaneye3d (1.8.0)
+ utilsplugin2 (36474)

Tagging presets:
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/GB.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Potlatch2&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SimpleBuildingTags&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface-DataEntry&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SimpleRoofTags&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksPlus&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/Building_Levels_Labels&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_buildings_en&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksAndFootways&zip=1

Last errors/warnings:
- 00153.751 W: java.io.IOException: Attribution is not loaded yet
- 00153.752 W: java.io.IOException: Attribution is not loaded yet
- 00153.752 W: java.io.IOException: Attribution is not loaded yet
- 00153.752 W: java.io.IOException: Attribution is not loaded yet
- 00153.753 W: java.io.IOException: Attribution is not loaded yet
- 00153.753 W: java.io.IOException: Attribution is not loaded yet
- 00153.753 W: java.io.IOException: Attribution is not loaded yet
- 00153.753 W: java.io.IOException: Attribution is not loaded yet
- 00153.754 W: java.io.IOException: Attribution is not loaded yet
- 00190.567 E: Handled by bug report queue: java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because the return value of "org.openstreetmap.josm.data.imagery.ImageryInfo.getId()" is null



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (35) of main
java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because the return value of "org.openstreetmap.josm.data.imagery.ImageryInfo.getId()" is null
	at ru.zkir.customtms.TileCache.validateImageryInfo(TileCache.java:111)
	at ru.zkir.customtms.MapRenderer.setCurrentImagery(MapRenderer.java:182)
	at ru.zkir.urbaneye3d.GroundPlane.update(GroundPlane.java:68)
	at ru.zkir.urbaneye3d.DialogWindow3D.propertyChange(DialogWindow3D.java:253)
	at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:310)
	at org.openstreetmap.josm.gui.layer.Layer.fireVisibleChanged(Layer.java:472)
	at org.openstreetmap.josm.gui.layer.Layer.setVisible(Layer.java:394)
	at org.openstreetmap.josm.gui.dialogs.LayerListDialog$LayerListModel.setValueAt(LayerListDialog.java:1153)
	at java.desktop/javax.swing.JTable.setValueAt(JTable.java:2793)
	at java.desktop/javax.swing.JTable.editingStopped(JTable.java:4791)
	at java.desktop/javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:152)
	at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:375)
	at java.desktop/javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:234)
	at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.actionPerformed(DefaultCellEditor.java:392)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
	at java.desktop/javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:411)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:299)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
	at java.desktop/java.awt.Component.processEvent(Component.java:6386)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent(BasicTableUI.java:978)
	at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1194)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:300)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:299)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
	at java.desktop/java.awt.Component.processEvent(Component.java:6386)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	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.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	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:744)
	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 (2)

Screenshot_2026-02-09_21-12-11.png (23.7 KB ) - added by josm@… 112 minutes ago.
Visible layers before crash
Screenshot_2026-02-09_21-22-47.png (21.5 KB ) - added by josm@… 104 minutes ago.
Bing Sat layer information

Download all attachments as: .zip

Change History (3)

by josm@…, 112 minutes ago

Visible layers before crash

by josm@…, 104 minutes ago

Bing Sat layer information

comment:1 by josm@…, 103 minutes ago

Looking further at this, it seems that it is not an issue with the OSMUK Cadastral Parcels layer - I can turn that on and off with the Bing Sat layer inactive, and Esri active.

It seems to be when the Bing Sat layer becomes active, probably because the layer info appears to suggest that it has no ID.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain zkir.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from zkir to the specified user.
Next status will be 'needinfo'. The owner will be changed from zkir to josm@….
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from zkir to anonymous. Next status will be 'assigned'.

Add Comment


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