Modify

Opened 4 days ago

Closed 4 days ago

Last modified 4 days ago

#24857 closed defect (fixed)

ArrayIndexOutOfBoundsException: Coordinate out of bounds!

Reported by: GerdP Owned by: team
Priority: normal Milestone: 26.09
Component: Core Version: latest
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. load attached (old) osm file
  2. search for "Korte Haaksbergerstraat"

What is the expected result?

Some objects are hilighted

What happens instead?

Several error popup

Please provide any additional information below. Attach a screenshot if possible.

Revision:19617
Is-Local-Build:true
Build-Date:2026-08-19 07:31:24

Identification: JOSM/1.5 (19617 SVN en) Windows 11 64-Bit
OS Build number: Windows 10 Pro 25H2 (26200)
Memory Usage: 296 MB / 6144 MB (134 MB allocated, but free)
Java version: 21.0.2+13-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920x1080x32bpp@60Hz (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: UTF-8
System property sun.jnu.encoding: Cp1252
Locale info: en_DE
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.19039, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --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, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=%UserProfile%\AppData\Local\JOSM\JOSM HWConsole.exe]
Dataset consistency test: No problems found

Plugins:
+ OpeningHoursEditor (36493)
+ apache-commons (36483)
+ buildings_tools (36503)
+ comfort0 (36483)
+ ejml (36483)
+ geotools (36483)
+ jackson (36502)
+ jaxb (36483)
+ jts (36483)
+ o5m (36493)
+ opendata (36503)
+ pbf (36493)
+ photo_geotagging (36503)
+ poly (36483)
+ reverter (36503)
+ terracer (36503)
+ undelete (36503)
+ utilsplugin2 (36503)

Tagging presets:
+ c:\josm\core\resources\data\defaultpresets.xml

Map paint styles:
- c:\josm\core\resources\styles\standard\elemstyles.mapcss

Validator rules:
+ d:\java_tools\JOSM\mygeometry.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/GermanySpecific&zip=1
+ c:\josm\core\resources\data\validator\combinations.mapcss
+ c:\josm\core\resources\data\validator\geometry.mapcss

Last errors/warnings:
- 00000.736 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF'
- 00000.738 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00000.739 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 00001.432 E: java.security.KeyStoreException: Windows-ROOT not found. Cause: java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available
- 00042.971 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
- 00043.054 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 (37) of main
java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
	at java.desktop/java.awt.image.SinglePixelPackedSampleModel.getPixel(Unknown Source)
	at java.desktop/java.awt.image.Raster.getPixel(Unknown Source)
	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(Unknown Source)
	at java.desktop/sun.awt.image.OffScreenImageSource.produce(Unknown Source)
	at java.desktop/sun.awt.image.OffScreenImageSource.addConsumer(Unknown Source)
	at java.desktop/sun.awt.image.OffScreenImageSource.startProduction(Unknown Source)
	at java.desktop/java.awt.image.FilteredImageSource.startProduction(Unknown Source)
	at java.desktop/sun.awt.image.ImageRepresentation.startProduction(Unknown Source)
	at java.desktop/sun.awt.image.ToolkitImage.addWatcher(Unknown Source)
	at java.desktop/sun.awt.image.ToolkitImage.getWidth(Unknown Source)
	at java.desktop/sun.java2d.SunGraphics2D.drawImage(Unknown Source)
	at java.desktop/sun.java2d.SunGraphics2D.drawImage(Unknown Source)
	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.renderer.impl.NodeRenderer.renderNode(NodeRenderer.java:65)
	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.tools.ImageProvider.getPadded(ImageProvider.java:1458)
	at org.openstreetmap.josm.gui.PrimitiveRenderer.renderer(PrimitiveRenderer.java:82)
	at org.openstreetmap.josm.gui.PrimitiveRenderer.getListCellRendererComponent(PrimitiveRenderer.java:52)
	at org.openstreetmap.josm.gui.PrimitiveRenderer.getListCellRendererComponent(PrimitiveRenderer.java:31)
	at java.desktop/javax.swing.plaf.basic.BasicListUI.updateLayoutState(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicListUI.getPreferredSize(Unknown Source)
	at java.desktop/javax.swing.JComponent.getPreferredSize(Unknown Source)
	at java.desktop/javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
	at java.desktop/java.awt.Container.layout(Unknown Source)
	at java.desktop/java.awt.Container.doLayout(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validate(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$3.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$3.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.desktop/java.awt.Dialog.show(Unknown Source)
	at java.desktop/java.awt.Component.show(Unknown Source)
	at java.desktop/java.awt.Component.setVisible(Unknown Source)
	at java.desktop/java.awt.Window.setVisible(Unknown Source)
	at java.desktop/java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:255)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:113)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Attachments (1)

associatedStreet.osm (1.5 MB ) - added by GerdP 4 days ago.

Download all attachments as: .zip

Change History (8)

by GerdP, 4 days ago

Attachment: associatedStreet.osm added

comment:1 by GerdP, 4 days ago

Version: latest

comment:2 by GerdP, 4 days ago

Seems the icon for shop=lighting is the cause, try https://www.openstreetmap.org/node/2775255719

Last edited 4 days ago by GerdP (previous) (diff)

comment:3 by stoecker, 4 days ago

Resolution: fixed
Status: newclosed

In 19618/josm:

simplify shop=lighting icon, fix #24857

comment:4 by stoecker, 4 days ago

Milestone: 26.09

Icon didn't look good before, so I have no trouble stripping all the complexity :-)

comment:5 by GerdP, 4 days ago

Still I wonder why I saw several crash popups. Is that because the rendering happens in multiple threads?

comment:6 by stoecker, 4 days ago

JOSM does not expect to have render failures for non-optional images. That's why there is also no proper handling for such cases. We probably could add a "fail and render a rectangle instead", but I'd rather fail big and fix the images when we get a ticket :-)

Several popups is probably because each redraw causes the same error.

comment:7 by GerdP, 4 days ago

Maybe you can add an automated test that renders all images in the state that is produced with the search?

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.