Modify ↓

Opened 113 minutes ago

Last modified 108 minutes ago

#24981 new defect

Crash when uploading

Reported by: goliath_jr Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. Open the attached .osm file in JOSM
  2. Click the up arrow to upload
  3. Click ignore on any validation warnings
  4. Bug report screen reports crash detected

What is the expected result?

Upload review screen should appear

What happens instead?

Bug report screen shows instead

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

The attached .osm file has 25 xml lines with action='modify' or action='delete'. When I manually remove the following line, the error doesn't happen and I can successfully view the upload review screen. So I suspect that something about this node is triggering the crash.

<node id='2350548380' action='modify' timestamp='2026-06-10T22:08:53Z' uid='24161136' user='YesNutNovember' visible='true' version='5' changeset='183945409' lat='47.5847047' lon='-122.333942'>

<tag k='addr:city' v='Seattle' />
<tag k='addr:housenumber' v='1944' />
<tag k='addr:postcode' v='98134' />
<tag k='addr:state' v='WA' />
<tag k='addr:street' v='Occidental Avenue South' />
<tag k='check_date' v='2026-06-10' />
<tag k='check_date:opening_hours' v='2026-06-10' />
<tag k='name' v='Visual Comfort &amp; Co.' />
<tag k='opening_hours' v='&quot;By appointment only&quot;' />
<tag k='shop' v='lighting' />
<tag k='source' v='King County GIS;data.seattle.gov' />
<tag k='website' v='​https://www.visualcomfort.com/us/showrooms/seattle' />

</node>

Revision:19613
Build-Date:2026-08-12 01:46:33

Identification: JOSM/1.5 (19613 en) Mac OS X 15.8.1
OS Build number: macOS 15.8.1 (24H32)
Memory Usage: 432 MB / 24576 MB (230 MB allocated, but free)
Java version: 25.0.4+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 1 1512x982x32bpp@120Hz (scaling 2.00×2.00)
Maximum Screen Size: 1512×982
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=19613, -XX:MaxRAMPercentage=75.0, --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.apple.eawt=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=/Applications/JOSM.app/Contents/MacOS/JOSM]
Dataset consistency test: No problems found

Plugins:
+ WebsiteWizard (1.0.0)
+ undelete (36503)

Last errors/warnings:
- 00000.909 W: Missing plugin main version in plugin mapwithai
- 00001.124 W: Missing plugin main version in plugin mapwithai
- 00013.345 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
- 00013.349 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
- 00013.351 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
- 00013.356 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
- 00013.357 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 (41) of main
java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
	at java.desktop@25.0.4/java.awt.image.SinglePixelPackedSampleModel.getPixel(Unknown Source)
	at java.desktop@25.0.4/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@25.0.4/java.awt.image.BufferedImageFilter.imageComplete(Unknown Source)
	at java.desktop@25.0.4/sun.awt.image.OffScreenImageSource.produce(Unknown Source)
	at java.desktop@25.0.4/sun.awt.image.OffScreenImageSource.addConsumer(Unknown Source)
	at java.desktop@25.0.4/sun.awt.image.OffScreenImageSource.startProduction(Unknown Source)
	at java.desktop@25.0.4/java.awt.image.FilteredImageSource.startProduction(Unknown Source)
	at java.desktop@25.0.4/sun.awt.image.ImageRepresentation.startProduction(Unknown Source)
	at java.desktop@25.0.4/sun.awt.image.ToolkitImage.addWatcher(Unknown Source)
	at java.desktop@25.0.4/sun.awt.image.ToolkitImage.getWidth(Unknown Source)
	at java.desktop@25.0.4/sun.java2d.SunGraphics2D.drawImage(Unknown Source)
	at java.desktop@25.0.4/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.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$0(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@25.0.4/javax.swing.plaf.basic.BasicListUI.updateLayoutState(Unknown Source)
	at java.desktop@25.0.4/javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(Unknown Source)
	at java.desktop@25.0.4/javax.swing.plaf.basic.BasicListUI.getPreferredSize(Unknown Source)
	at java.desktop@25.0.4/javax.swing.JComponent.getPreferredSize(Unknown Source)
	at java.desktop@25.0.4/javax.swing.JList.getPreferredScrollableViewportSize(Unknown Source)
	at java.desktop@25.0.4/javax.swing.ViewportLayout.preferredLayoutSize(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.preferredSize(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.getPreferredSize(Unknown Source)
	at java.desktop@25.0.4/javax.swing.JComponent.getPreferredSize(Unknown Source)
	at java.desktop@25.0.4/javax.swing.ScrollPaneLayout.preferredLayoutSize(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.preferredSize(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.getPreferredSize(Unknown Source)
	at java.desktop@25.0.4/javax.swing.JComponent.getPreferredSize(Unknown Source)
	at java.desktop@25.0.4/java.awt.GridBagLayout.GetLayoutInfo(Unknown Source)
	at java.desktop@25.0.4/java.awt.GridBagLayout.getLayoutInfo(Unknown Source)
	at java.desktop@25.0.4/java.awt.GridBagLayout.preferredLayoutSize(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.preferredSize(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.getPreferredSize(Unknown Source)
	at java.desktop@25.0.4/javax.swing.JComponent.getPreferredSize(Unknown Source)
	at java.desktop@25.0.4/javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.getPreferredSizeOfComponent(Unknown Source)
	at java.desktop@25.0.4/javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.getPreferredSizes(Unknown Source)
	at java.desktop@25.0.4/javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.resetToPreferredSizes(Unknown Source)
	at java.desktop@25.0.4/javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.layoutContainer(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.layout(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.doLayout(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.validateTree(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.validateTree(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.validateTree(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.validateTree(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.validateTree(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.validate(Unknown Source)
	at java.desktop@25.0.4/java.awt.Container.validateUnconditionally(Unknown Source)
	at java.desktop@25.0.4/java.awt.Dialog.conditionalShow(Unknown Source)
	at java.desktop@25.0.4/java.awt.Dialog.show(Unknown Source)
	at java.desktop@25.0.4/java.awt.Component.show(Unknown Source)
	at java.desktop@25.0.4/java.awt.Component.setVisible(Unknown Source)
	at java.desktop@25.0.4/java.awt.Window.setVisible(Unknown Source)
	at java.desktop@25.0.4/java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.io.UploadDialog.setVisible(UploadDialog.java:371)
	at org.openstreetmap.josm.actions.UploadAction.realUploadData(UploadAction.java:304)
	at org.openstreetmap.josm.actions.UploadAction.lambda$uploadData$1(UploadAction.java:273)
	at java.desktop@25.0.4/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop@25.0.4/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop@25.0.4/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop@25.0.4/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop@25.0.4/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop@25.0.4/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop@25.0.4/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop@25.0.4/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop@25.0.4/java.awt.EventDispatchThread.run(Unknown Source)

Attachments (1)

test.osm​ (3.9 MB ) - added by goliath_jr 112 minutes ago.
This is the .osm file that triggers the crash

Change History (2)

by goliath_jr, 112 minutes ago

Attachment: test.osm​ added

This is the .osm file that triggers the crash

comment:1 by anonymous, 108 minutes ago

Here's the changeset I was successfully able to create after my workaround of removing the node mentioned above: ​https://www.openstreetmap.org/changeset/191033384

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to goliath_jr.
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 team 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.