Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#21279 closed defect (fixed)

Typing Chinese in any input field causes NullPointerException

Reported by: ff5722 Owned by: team
Priority: major Milestone: 21.10
Component: Core Version:
Keywords: template_report regression Cc: marcello@…

Description

What steps will reproduce the problem?

  1. Open any input field (Add tag, changeset comment)
  2. Set Windows input method to Chinese
  3. Start typing

What is the expected result?

The user can type any text without error

What happens instead?

An error message is thrown, however the message can be ignored and JOSM continues to function as normal as far as I can tell.

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

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-09-01 23:21:38 +0200 (Wed, 01 Sep 2021)
Build-Date:2021-09-01 22:22:21
Revision:18191
Relative:URL: ^/trunk

Identification: JOSM/1.5 (18191 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 2009 (19043)
Memory Usage: 1608 MB / 2709 MB (623 MB allocated, but free)
Java version: 1.8.0_301-b09, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 800×600 (scaling 1.00×1.00) \Display1 1080×1920 (scaling 1.00×1.00)
Maximum Screen Size: 1080×1920
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Dataset consistency test: No problems found

Plugins:
+ Create_grid_of_ways (35640)
+ FastDraw (35640)
+ Mapillary (2.0.0-alpha.33-dirty)
+ apache-commons (35524)
+ apache-http (35589)
+ buildings_tools (35756)
+ easypresets (1616854084)
+ ejml (35458)
+ geotools (35458)
+ gridify (1606242219)
+ importvec (35567)
+ jaxb (35543)
+ jna (35662)
+ jts (35458)
+ mapwithai (1.8.2)
+ opendata (35803)
+ reverter (35732)
+ terracer (35640)
+ utilsplugin2 (35792)

Tagging presets:
+ E:\Nextcloud\Documents\Openstreetmap\JOSM presets\CellTower.xml
+ E:\Nextcloud\Documents\Openstreetmap\JOSM presets\motorway_link.xml
+ E:\Nextcloud\Documents\Openstreetmap\JOSM presets\TunnelLayerPreset.xml
+ E:\Nextcloud\Documents\Openstreetmap\JOSM presets\BridgeLayerPreset.xml

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1

Last errors/warnings:
- 02152.446 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 02152.464 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 02152.480 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 02152.481 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 02152.618 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 04129.590 E: Handled by bug report queue: java.lang.NullPointerException
- 04179.837 E: Handled by bug report queue: java.lang.NullPointerException
- 04180.152 E: Handled by bug report queue: java.lang.NullPointerException
- 04452.497 E: Handled by bug report queue: java.lang.NullPointerException
- 04511.941 E: Handled by bug report queue: java.lang.NullPointerException



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (18) of main
java.lang.NullPointerException
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompComboBox$MaxLengthDocumentFilter.replace(AutoCompComboBox.java:119)
	at javax.swing.text.AbstractDocument.replace(Unknown Source)
	at javax.swing.text.JTextComponent.replaceSelection(Unknown Source)
	at javax.swing.text.JTextComponent.replaceInputMethodText(Unknown Source)
	at javax.swing.text.JTextComponent.processInputMethodEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:462)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AbstractTagsDialog.setVisible(TagEditHelper.java:647)
	at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:258)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper.addTag(TagEditHelper.java:254)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$AddAction.actionPerformed(PropertiesDialog.java:1221)
	at javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at javax.swing.JComponent.processKeyBinding(Unknown Source)
	at javax.swing.KeyboardManager.fireBinding(Unknown Source)
	at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
	at javax.swing.JComponent.processKeyBindings(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Change History (13)

by ff5722, 4 years ago

Screen recording

comment:1 by Don-vip, 4 years ago

Cc: marcello@… added
Milestone: 21.09

Regression of #21240?

by marcello@…, 4 years ago

comment:2 by marcello@…, 4 years ago

Works for me. Need more info abou what you are doing before it crashes.

Last edited 4 years ago by marcello@… (previous) (diff)

in reply to:  2 comment:3 by ff5722, 4 years ago

Resolution: irreproducible
Status: newclosed

Replying to marcello@…:

Works for me. Need more info abou what you are doing before it crashes.

̶S̶a̶m̶e̶ ̶h̶e̶r̶e̶ ̶n̶o̶w̶,̶ ̶I̶ ̶w̶i̶l̶l̶ ̶c̶l̶o̶s̶e̶ ̶t̶h̶e̶ ̶t̶i̶c̶k̶e̶t̶ ̶f̶o̶r̶ ̶n̶o̶w̶ ̶t̶h̶e̶n̶.̶

Last edited 4 years ago by ff5722 (previous) (diff)

comment:4 by ff5722, 4 years ago

Resolution: irreproducible
Status: closedreopened

Sorry I forgot that I had downgraded back to 18118. It's still reproduceable on the latest 18191. All I do is open JOSM, open a new blank layer and add a tag on a new point or way. Are you using 18191?

Tried it on my laptop which has a slightly different set of plugins and exactly the same occurred.

{{{
URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-09-01 23:21:38 +0200 (Wed, 01 Sep 2021)
Build-Date:2021-09-01 22:22:21
Revision:18191
Relative:URL: ^/trunk

Identification: JOSM/1.5 (18191 en) Windows 10 64-Bit
OS Build number: Windows 10 Pro 2009 (19042)
Memory Usage: 751 MB / 1785 MB (506 MB allocated, but free)
Java version: 1.8.0_301-b09, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (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: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Dataset consistency test: No problems found

Plugins:
+ EasyPresets (1623509627)
+ FastDraw (35640)
+ Mapillary (2.0.0-alpha.30-dirty)
+ apache-commons (35524)
+ apache-http (35589)
+ buildings_tools (35756)
+ jna (35662)
+ mapwithai-dev (1.8.3-9-g16feefa)
+ touchscreenhelper (35640)
+ utilsplugin2 (35792)

Tagging presets:
+ %UserProfile%\Documents\JOSM presets\BridgeLayerPreset.xml
+ %UserProfile%\Documents\JOSM presets\TunnelLayerPreset.xml
+ %UserProfile%\Documents\JOSM presets\CellTower.xml
+ %UserProfile%\Documents\JOSM presets\motorway_link.xml
+ <josm.pref>/EasyPresets.xml

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1

Last errors/warnings:
- 00017.158 W: Update plugins - You updated your JOSM software. To prevent problems the plugins should be updated as well.  Update plugins now?
- 00043.921 E: Failed to locate image 'MapWithAI'
- 00065.333 E: Handled by bug report queue: java.lang.NullPointerException
- 00065.369 E: Handled by bug report queue: java.lang.NullPointerException



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (19) of main
java.lang.NullPointerException
	at org.openstreetmap.josm.gui.tagging.ac.AutoCompComboBox$MaxLengthDocumentFilter.replace(AutoCompComboBox.java:119)
	at javax.swing.text.AbstractDocument.replace(Unknown Source)
	at javax.swing.text.JTextComponent.replaceSelection(Unknown Source)
	at javax.swing.text.JTextComponent.replaceInputMethodText(Unknown Source)
	at javax.swing.text.JTextComponent.processInputMethodEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:462)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AbstractTagsDialog.setVisible(TagEditHelper.java:647)
	at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:258)
	at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper.addTag(TagEditHelper.java:254)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$AddAction.actionPerformed(PropertiesDialog.java:1221)
	at javax.swing.SwingUtilities.notifyAction(Unknown Source)
	at javax.swing.JComponent.processKeyBinding(Unknown Source)
	at javax.swing.KeyboardManager.fireBinding(Unknown Source)
	at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
	at javax.swing.JComponent.processKeyBindings(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
}}}

by marcello@…, 4 years ago

Attachment: 21279.patch added

comment:5 by marcello@…, 4 years ago

patch

comment:6 by Don-vip, 4 years ago

Resolution: fixed
Status: reopenedclosed

In 18192/josm:

fix #21279 - fix NPE (patch by marcello, modified)

comment:7 by Don-vip, 4 years ago

Ticket #21288 has been marked as a duplicate of this ticket.

comment:8 by Don-vip, 4 years ago

Keywords: regression added
Priority: normalmajor

comment:9 by Don-vip, 4 years ago

Ticket #21287 has been marked as a duplicate of this ticket.

comment:10 by Don-vip, 4 years ago

Milestone: 21.0921.10

Milestone renamed

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.