Modify

Opened 4 years ago

Closed 4 years ago

#20888 closed defect (fixed)

multiple value_templates in one preset make dialog crash

Reported by: marcello@… Owned by: simon04
Priority: normal Milestone: 21.05
Component: Core Version:
Keywords: template_report Cc:

Description

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)

Attachments (1)

Screenshot from 2021-05-16 13-34-04.png (61.1 KB ) - added by anonymous 4 years ago.

Download all attachments as: .zip

Change History (3)

comment:1 by simon04, 4 years ago

Milestone: 21.05
Owner: changed from team to simon04
Status: newassigned

comment:2 by simon04, 4 years ago

Resolution: fixed
Status: assignedclosed

In 17899/josm:

fix #20888, see #18949 - Tagging presets (value_template): fix IllegalStateException: Attempt to mutate in notification

Modify Ticket

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