﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
23842	Routing plugin crash when removing a destination	pyrog	franpd	"==== What steps will reproduce the problem?
1. Create a route with multiple destinations
2. try to remove one destination (in the middle of the route)

==== What is the expected result?
The destination is removed

==== What happens instead?
JOSM crashed.
After closing the error box, it seem that the destination was really removed (seen after zoom in/out).

==== Please provide any additional information below. Attach a screenshot if possible.
Also the route isn't refreshed automatically when i.e. moving a destination.
I must zoom in/out to see the ""new"" route.

{{{
Revision:19160
Build-Date:2024-08-01 15:34:05

Identification: JOSM/1.5 (19160 fr) Mac OS X 12.7.5
OS Build number: macOS 12.7.5 (21H1222)
Memory Usage: 649 MB / 2048 MB (119 MB allocated, but free)
Java version: 21.0.4+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 69732928 1280x800x32bpp@[Unknown refresh rate] (scaling 2.00×2.00)
Maximum Screen Size: 1280×800
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: fr_FR
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=19160, --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:
+ apache-commons (36282)
+ buildings_tools (36226)
+ conflation (0.6.11)
+ ejml (36176)
+ geotools (36273)
+ jackson (36273)
+ jaxb (36118)
+ jts (36004)
+ opendata (36298)
+ pt_assistant (637)
+ reverter (36256)
+ routing (36298)
+ utilsplugin2 (36298)

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1

Last errors/warnings:
- 00028.768 E: unable to find dependency jaxb for plugin geotools
- 00028.769 E: unable to find dependency jaxb for plugin opendata
- 00056.963 E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm>
- 00056.993 E: Requête incorrecte - <html>Le serveur 'api.openstreetmap.org' a signalé une requête erronée.<br><br>La zone que vous voulez télécharger est trop grande ou votre requête est trop grosse. <br>Veuillez sélectionner une zone plus petite ou utiliser un fichier d’export fourni par la communauté OSM.</html>
- 00569.546 E: Handled by bug report queue: java.lang.ArrayIndexOutOfBoundsException: 2 >= 0



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (31) of main
java.lang.ArrayIndexOutOfBoundsException: 2 >= 0
	at java.base/java.util.Vector.elementAt(Unknown Source)
	at java.desktop@21.0.4/javax.swing.DefaultListModel.remove(Unknown Source)
	at com.innovant.josm.plugin.routing.gui.RoutingDialog.removeNode(RoutingDialog.java:76)
	at com.innovant.josm.plugin.routing.actions.RemoveRouteNodeAction.mouseClicked(RemoveRouteNodeAction.java:73)
	at java.desktop@21.0.4/java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
	at java.desktop@21.0.4/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop@21.0.4/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.Component.processEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.Container.processEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop@21.0.4/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop@21.0.4/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop@21.0.4/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop@21.0.4/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop@21.0.4/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.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventQueue$5.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@21.0.4/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop@21.0.4/java.awt.EventDispatchThread.run(Unknown Source)
}}}
"	defect	new	normal		Plugin routing			template_report	
