﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
20888	multiple value_templates in one preset make dialog crash	marcello@…	simon04	"==== What steps will reproduce the problem?

1. Add multiple value_template fields to one preset.

==== What is the expected result?

The preset dialog works.

==== What happens instead?

The preset dialog crashes while entering a value.

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-04-27 20:35:33 +0200 (Tue, 27 Apr 2021)
Revision:17833
Build-Date:2021-04-27 21:58:39
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (17833 en) Linux Debian GNU/Linux 11 (bullseye)
Memory Usage: 9652 MB / 16060 MB (2576 MB allocated, but free)
Java version: 11.0.11+9-post-Debian-1, Debian, OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Screen: :0.0 3840×2160 (scaling 1.00×1.00)
Maximum Screen Size: 3840×2160
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: X-Cinnamon
Java package: openjdk-11-jre:amd64-11.0.11+9-1
Java ATK Wrapper package: libatk-wrapper-java:all-0.38.0-2
libcommons-compress-java: libcommons-compress-java:all-1.20-1
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:all-20201225-1
liboauth-signpost-java: liboauth-signpost-java:all-1.2.1.2-3
VM arguments: [--add-modules=java.scripting,java.sql, -Djosm.restart=true, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ Mapillary (1.5.37.6)
+ apache-commons (35524)
+ apache-http (35589)
+ ejml (35458)
+ geotools (35458)
+ graphview (35640)
+ jaxb (35543)
+ jna (35662)
+ jts (35458)
+ log4j (35458)
+ opendata (35640)
+ reverter (35732)
+ routes (35543)
+ utilsplugin2 (35691)

Tagging presets:
+ ${HOME}/prj/hikemap/josm/data/defaultpresets.xml
+ ${HOME}/prj/hikemap/josm/mypresets.xml

Map paint styles:
+ ${HOME}/prj/hikemap/josm/elemstyles.mapcss
+ https://pasharm.github.io/New_basic_style_for_JOSM/New_basic_style.mapcss
+ ${HOME}/prj/hikemap/josm/hiking.mapcss
+ ${HOME}/prj/hikemap/josm/bus.mapcss
- ${HOME}/prj/hikemap/josm/mtb.mapcss
- ${HOME}/prj/hikemap/josm/piste.mapcss
- ${HOME}/prj/hikemap/josm/milestone.mapcss
+ ${HOME}/prj/hikemap/josm/my_style.mapcss
- ${HOME}/prj/hikemap/josm/bicycle.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/HiDPISupport&zip=1

Last errors/warnings:
- 520706.408 E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid location
- 520713.092 E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid location
- 520718.645 E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid location
- 520719.610 E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid location
- 520727.023 E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid location
- 520745.525 E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid location
- 520746.511 E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid location
- 520747.427 E: Handled by bug report queue: java.lang.IllegalArgumentException: Invalid location
- 520854.138 E: Handled by bug report queue: java.lang.IllegalStateException: Attempt to mutate in notification
- 520987.929 E: Handled by bug report queue: java.lang.IllegalStateException: Attempt to mutate in notification



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (20) of main
java.lang.IllegalStateException: Attempt to mutate in notification
	at java.desktop/javax.swing.text.AbstractDocument.writeLock(AbstractDocument.java:1349)
	at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:664)
	at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField.setText(AutoCompletingTextField.java:231)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField.setItem(AutoCompletingTextField.java:223)
	at org.openstreetmap.josm.gui.tagging.presets.items.Text.lambda$setupListeners$3(Text.java:258)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItemGuiSupport.lambda$fireItemValueModified$2(TaggingPresetItemGuiSupport.java:127)
	at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:155)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItemGuiSupport.fireItemValueModified(TaggingPresetItemGuiSupport.java:127)
	at org.openstreetmap.josm.gui.tagging.presets.items.Text.lambda$setupListeners$2(Text.java:252)
	at org.openstreetmap.josm.gui.util.DocumentAdapter.insertUpdate(DocumentAdapter.java:22)
	at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203)
	at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757)
	at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716)
	at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField$AutoCompletionDocument.insertString(AutoCompletingTextField.java:114)
	at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675)
	at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField.setText(AutoCompletingTextField.java:231)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField.setItem(AutoCompletingTextField.java:223)
	at org.openstreetmap.josm.gui.tagging.presets.items.Text.lambda$setupListeners$3(Text.java:258)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItemGuiSupport.lambda$fireItemValueModified$2(TaggingPresetItemGuiSupport.java:127)
	at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:155)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItemGuiSupport.fireItemValueModified(TaggingPresetItemGuiSupport.java:127)
	at org.openstreetmap.josm.gui.tagging.presets.items.Text.lambda$setupListeners$2(Text.java:252)
	at org.openstreetmap.josm.gui.util.DocumentAdapter.removeUpdate(DocumentAdapter.java:27)
	at java.desktop/javax.swing.text.AbstractDocument.fireRemoveUpdate(AbstractDocument.java:261)
	at java.desktop/javax.swing.text.AbstractDocument.handleRemove(AbstractDocument.java:628)
	at java.desktop/javax.swing.text.AbstractDocument.remove(AbstractDocument.java:596)
	at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:672)
	at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField.setText(AutoCompletingTextField.java:231)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField.setItem(AutoCompletingTextField.java:223)
	at org.openstreetmap.josm.gui.tagging.presets.items.Text.lambda$setupListeners$3(Text.java:258)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItemGuiSupport.lambda$fireItemValueModified$2(TaggingPresetItemGuiSupport.java:127)
	at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:155)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItemGuiSupport.fireItemValueModified(TaggingPresetItemGuiSupport.java:127)
	at org.openstreetmap.josm.gui.tagging.presets.items.Text.lambda$setupListeners$2(Text.java:252)
	at org.openstreetmap.josm.gui.util.DocumentAdapter.insertUpdate(DocumentAdapter.java:22)
	at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203)
	at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757)
	at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716)
	at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField$AutoCompletionDocument.insertString(AutoCompletingTextField.java:104)
	at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675)
	at java.desktop/javax.swing.text.JTextComponent.replaceSelection(JTextComponent.java:1339)
	at java.desktop/javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction.actionPerformed(DefaultEditorKit.java:884)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2900)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:2948)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2862)
	at java.desktop/java.awt.Component.processEvent(Component.java:6412)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:870)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1139)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1009)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:835)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4892)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	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:190)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1070)
	at java.desktop/java.awt.Component.show(Component.java:1716)
	at java.desktop/java.awt.Component.setVisible(Component.java:1663)
	at java.desktop/java.awt.Window.setVisible(Window.java:1031)
	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:462)
	at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:258)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset$PresetDialog.<init>(TaggingPreset.java:512)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.showDialog(TaggingPreset.java:555)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.showAndApply(TaggingPreset.java:435)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.actionPerformed(TaggingPreset.java:425)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	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:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6400)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	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.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	21.05	Core		fixed	template_report	
