Bug 53874 - View Results Tree : If some parameter containing special characters like % is not encoded, RequestViewHTTP fails with java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern and Response is not displayed
View Results Tree : If some parameter containing special characters like % is...
Status: RESOLVED FIXED
Product: JMeter
Classification: Unclassified
Component: HTTP
2.7
All All
: P2 normal (vote)
: ---
Assigned To: JMeter issues mailing list
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2012-09-15 09:17 UTC by Philippe Mouawad
Modified: 2012-09-15 09:45 UTC (History)
1 user (show)



Attachments
Test Plan showing issue (5.81 KB, application/xml)
2012-09-15 09:19 UTC, Philippe Mouawad
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Mouawad 2012-09-15 09:17:35 UTC
In a Test Plan the following password is used:

- asdf%xy3dsfsfsf

As it contains %, and user has not checked encode checkbox, then in View Results Tree when clicking on the Request node:

- Response is not displayed

- The UI seems kind of blocked for few seconds

- We get the following exception in jmeter.log:

2012/09/15 11:16:02 ERROR - jmeter.JMeter: Uncaught exception:  java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "xy"
	at java.net.URLDecoder.decode(URLDecoder.java:173)
	at org.apache.jmeter.protocol.http.visualizers.RequestViewHTTP.decodeQuery(RequestViewHTTP.java:266)
	at org.apache.jmeter.protocol.http.visualizers.RequestViewHTTP.setSamplerResult(RequestViewHTTP.java:192)
	at org.apache.jmeter.visualizers.RequestPanel.setSamplerResult(RequestPanel.java:109)
	at org.apache.jmeter.visualizers.SamplerResultTab.setupTabPane(SamplerResultTab.java:219)
	at org.apache.jmeter.visualizers.ViewResultsFullVisualizer.valueChanged(ViewResultsFullVisualizer.java:242)
	at javax.swing.JTree.fireValueChanged(JTree.java:2820)
	at javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3191)
	at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629)
	at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1078)
	at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287)
	at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:170)
	at javax.swing.JTree.setSelectionPath(JTree.java:1598)
	at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2311)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3520)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3459)
	at java.awt.Component.processMouseEvent(Component.java:6372)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6140)
	at java.awt.Container.processEvent(Container.java:2083)
	at java.awt.Component.dispatchEventImpl(Component.java:4737)
	at java.awt.Container.dispatchEventImpl(Container.java:2141)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4277)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)
	at java.awt.Container.dispatchEventImpl(Container.java:2127)
	at java.awt.Window.dispatchEventImpl(Window.java:2482)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:643)
	at java.awt.EventQueue$1.run(EventQueue.java:641)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:657)
	at java.awt.EventQueue$2.run(EventQueue.java:655)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Comment 1 Philippe Mouawad 2012-09-15 09:19:17 UTC
Created attachment 29379 [details]
Test Plan showing issue
Comment 2 Philippe Mouawad 2012-09-15 09:45:38 UTC
Date: Sat Sep 15 09:44:29 2012
New Revision: 1385035

URL: http://svn.apache.org/viewvc?rev=1385035&view=rev
Log:
Bug 53874 - View Results Tree : If some parameter containing special characters like % is not encoded, RequestViewHTTP fails with java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern and Response is not displayed

Clarify documentation also
Bugzilla Id: 53874

Modified:
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/component_reference.xml