﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
24910	Relation dialog unexpectedly crashes with nodes tagged as shop=lighting	bxl-forever	team	"Weird condition appearing here.

== Steps to reproduce ==

1. Create a new node
2. Add the following tag to it: shop=lighting.
3. Select the node.
4. Open the relation dialog.

== Expected behaviour ==

The node is ready to be used in the relation.

== What happens instead ==

Error dialog stating: ""An unexpected exception occurred"".

I also noticed the following unusual behaviour with JOSM:
* After the first error dialog has been closed, selecting the node and clicking the ""Add tag"" button will also get this error dialog popping up.  (Using ""Add tag"" on another object works normally.)
* The error dialog may also pop up from the ""Add tag"" dialog, as soon as autocomplete starts suggesting ""lighting"".

== Dump ==

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2026-08-11 15:36:21 +0200 (Tue, 11 Aug 2026)
Revision:19613
Build-Date:2026-08-12 01:30:51
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (19613 en) Linux Arch Linux
Memory Usage: 396 MB / 3880 MB (176 MB allocated, but free)
Java version: 17.0.20.1+1, Arch Linux, OpenJDK 64-Bit Server VM
Look and Feel: com.formdev.flatlaf.FlatDarkLaf
Screen: :0.0 1920x1200x[Multi depth]@60Hz (scaling 1.00×1.00)
Maximum Screen Size: 1920×1200
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
Desktop environment: XFCE
VM arguments: [-Djosm.restart=true, -Djava.net.useSystemProxies=true, --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:
+ auto_tools (90)
+ flatlaf (36483)
+ measurement (36503)
+ pt_assistant (684)
+ reverter (36503)
+ undelete (36503)
+ utilsplugin2 (36503)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1

Last errors/warnings:
- 00019.715 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (30) of main
java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
	at java.desktop/java.awt.image.SinglePixelPackedSampleModel.getPixel(SinglePixelPackedSampleModel.java:431)
	at java.desktop/java.awt.image.Raster.getPixel(Raster.java:1722)
	at com.github.weisj.jsvg.nodes.filter.ImageProducerChannel.pixelAt(ImageProducerChannel.java:74)
	at com.github.weisj.jsvg.nodes.filter.FeDisplacementMap$DisplacementOp.filter(FeDisplacementMap.java:185)
	at java.desktop/java.awt.image.BufferedImageFilter.imageComplete(BufferedImageFilter.java:375)
	at java.desktop/sun.awt.image.OffScreenImageSource.produce(OffScreenImageSource.java:188)
	at java.desktop/sun.awt.image.OffScreenImageSource.addConsumer(OffScreenImageSource.java:66)
	at java.desktop/sun.awt.image.OffScreenImageSource.startProduction(OffScreenImageSource.java:80)
	at java.desktop/java.awt.image.FilteredImageSource.startProduction(FilteredImageSource.java:184)
	at java.desktop/sun.awt.image.ImageRepresentation.startProduction(ImageRepresentation.java:728)
	at java.desktop/sun.awt.image.ToolkitImage.addWatcher(ToolkitImage.java:221)
	at java.desktop/sun.awt.image.ToolkitImage.getWidth(ToolkitImage.java:110)
	at java.desktop/sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3426)
	at java.desktop/sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3566)
	at com.github.weisj.jsvg.nodes.filter.AbstractCompositeFilterPrimitive.applyFilter(AbstractCompositeFilterPrimitive.java:74)
	at com.github.weisj.jsvg.nodes.filter.FeComposite.applyFilter(FeComposite.java:35)
	at com.github.weisj.jsvg.nodes.filter.Filter.applyFilter(Filter.java:184)
	at com.github.weisj.jsvg.renderer.impl.Info$InfoWithIsolation.close(Info.java:156)
	at com.github.weisj.jsvg.renderer.impl.NodeRenderer.renderNode(NodeRenderer.java:66)
	at com.github.weisj.jsvg.renderer.impl.NodeRenderer.renderNode(NodeRenderer.java:59)
	at com.github.weisj.jsvg.nodes.container.CommonRenderableContainerNode.render(CommonRenderableContainerNode.java:81)
	at com.github.weisj.jsvg.nodes.container.BaseInnerViewContainer.renderWithEstablishedViewBox(BaseInnerViewContainer.java:75)
	at com.github.weisj.jsvg.renderer.impl.NodeRenderer.renderRootSVG(NodeRenderer.java:54)
	at com.github.weisj.jsvg.SVGDocument.renderWithPlatform(SVGDocument.java:156)
	at com.github.weisj.jsvg.SVGDocument.renderWithPlatform(SVGDocument.java:123)
	at com.github.weisj.jsvg.SVGDocument.renderWithPlatform(SVGDocument.java:117)
	at com.github.weisj.jsvg.SVGDocument.render(SVGDocument.java:107)
	at com.github.weisj.jsvg.SVGDocument.render(SVGDocument.java:100)
	at org.openstreetmap.josm.tools.ImageProvider.lambda$createImageFromSvg$3(ImageProvider.java:1480)
	at org.openstreetmap.josm.tools.ImageResizeMode.createBufferedImage(ImageResizeMode.java:95)
	at org.openstreetmap.josm.tools.ImageProvider.createImageFromSvg(ImageProvider.java:1479)
	at org.openstreetmap.josm.tools.ImageResource.getImageIconAlreadyScaled(ImageResource.java:194)
	at org.openstreetmap.josm.tools.ImageResource.getImageIcon(ImageResource.java:165)
	at org.openstreetmap.josm.tools.ImageResource.getPaddedIcon(ImageResource.java:261)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AbstractTagsDialog.lambda$findIcon$1(TagEditHelper.java:820)
	at java.base/java.util.Optional.map(Optional.java:260)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AbstractTagsDialog.findIcon(TagEditHelper.java:820)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AbstractTagsDialog.updateOkButtonIcon(TagEditHelper.java:812)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AddTagsDialog.lambda$new$4(TagEditHelper.java:915)
	at java.desktop/javax.swing.JComboBox.fireActionEvent(JComboBox.java:1294)
	at java.desktop/javax.swing.JComboBox.setSelectedItem(JComboBox.java:619)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompComboBox.autocomplete(AutoCompComboBox.java:93)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompComboBox.autoCompPerformed(AutoCompComboBox.java:151)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompTextField.fireAutoCompEvent(AutoCompTextField.java:242)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompTextField.autocomplete(AutoCompTextField.java:169)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompTextField.lambda$keyTyped$0(AutoCompTextField.java:269)
	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.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:318)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
	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:1016)
	at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:468)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AbstractTagsDialog.setVisible(TagEditHelper.java:722)
	at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:260)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper.addTag(TagEditHelper.java:298)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$AddAction.actionPerformed(PropertiesDialog.java:1364)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	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:6626)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
	at java.desktop/java.awt.Component.processEvent(Component.java:6391)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	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:4833)
	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:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	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:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	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)
}}}

"	defect	closed	normal		Core		duplicate		
