-
Bug
-
Resolution: Fixed
-
P4
-
8u241, 9, 11, 13, 14, 15
-
b19
-
x86_64
-
windows_10
ADDITIONAL SYSTEM INFORMATION :
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
A DESCRIPTION OF THE PROBLEM :
This is an upstream bug for https://josm.openstreetmap.de/ticket/18862.
The method javax.swing.text.html.FormView.appendBuffer will throw an NPE if value is null.
This can happen when you submit an HTML form lacking a "select" option value.
Only one of the three calls to this private method checks that value is not null, the two others can fail.
Please add label "josm-found" to this bug report.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Using a JEditorPane configured to render HTML, render https://josm.openstreetmap.de/ticket/18845
2. Make sure the field "Version" is empty
3. Enter some text at the bottom of the page and click "Preview" button
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No error
ACTUAL -
java.lang.NullPointerException
at java.net.URLEncoder.encode(URLEncoder.java:204)
at java.net.URLEncoder.encode(URLEncoder.java:170)
at javax.swing.text.html.FormView.appendBuffer(FormView.java:819)
at javax.swing.text.html.FormView.loadSelectData(FormView.java:801)
at javax.swing.text.html.FormView.loadElementDataIntoBuffer(FormView.java:703)
at javax.swing.text.html.FormView.getFormData(FormView.java:672)
at javax.swing.text.html.FormView.actionPerformed(FormView.java:433)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
FREQUENCY : always
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
A DESCRIPTION OF THE PROBLEM :
This is an upstream bug for https://josm.openstreetmap.de/ticket/18862.
The method javax.swing.text.html.FormView.appendBuffer will throw an NPE if value is null.
This can happen when you submit an HTML form lacking a "select" option value.
Only one of the three calls to this private method checks that value is not null, the two others can fail.
Please add label "josm-found" to this bug report.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Using a JEditorPane configured to render HTML, render https://josm.openstreetmap.de/ticket/18845
2. Make sure the field "Version" is empty
3. Enter some text at the bottom of the page and click "Preview" button
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No error
ACTUAL -
java.lang.NullPointerException
at java.net.URLEncoder.encode(URLEncoder.java:204)
at java.net.URLEncoder.encode(URLEncoder.java:170)
at javax.swing.text.html.FormView.appendBuffer(FormView.java:819)
at javax.swing.text.html.FormView.loadSelectData(FormView.java:801)
at javax.swing.text.html.FormView.loadElementDataIntoBuffer(FormView.java:703)
at javax.swing.text.html.FormView.getFormData(FormView.java:672)
at javax.swing.text.html.FormView.actionPerformed(FormView.java:433)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
FREQUENCY : always