Modify

Opened 33 hours ago

Closed 18 hours ago

Last modified 18 hours ago

#24910 closed defect (duplicate)

Relation dialog unexpectedly crashes with nodes tagged as shop=lighting

Reported by: bxl-forever Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: Cc:

Description

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)

Attachments (0)

Change History (1)

comment:1 by skyper, 18 hours ago

Resolution: duplicate
Status: newclosed

Closed as duplicate of #24857.
already fixed with r19618

Last edited 18 hours ago by skyper (previous) (diff)

Modify Ticket

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