History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: JRA-13939
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: Andreas Knecht [Atlassian]
Reporter: Nick Menere [Atlassian]
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JIRA

Printable link for pages may double escape urls

Created: 11/Nov/07 10:13 PM   Updated: 20/Feb/08 07:19 PM
Component/s: Web interface
Affects Version/s: None
Fix Version/s: 3.12.3

Time Tracking:
Original Estimate: Not Specified
Remaining Estimate: 0 minutes
Time Spent - 3 hours
Time Spent: 3 hours
Time Spent - 3 hours

Issue Links:
Cause
 

Participants: Andreas Knecht [Atlassian], Jed Wesley-Smith [Atlassian] and Nick Menere [Atlassian]
Since last comment: 21 weeks, 6 days ago
Resolution Date: 19/Feb/08 11:16 PM
Labels:


 Description  « Hide
Lots of errors appeared in the logs:
2007-11-06 05:15:42,312 resin-tcp-connection-j2ee.jira.atlassian.com:6802-45 ERROR [webwork.util.ServletValueStack] METHOD: "unescapedText", exception:
java.lang.IllegalArgumentException: Invalid complete key specified: null
        at com.atlassian.plugin.ModuleCompleteKey.<init>(ModuleCompleteKey.java:17)
        at com.atlassian.plugin.DefaultPluginManager.getEnabledPluginModule(DefaultPluginManager.java:334)
        at com.atlassian.jira.web.action.browser.ConfigureReport.getReport(ConfigureReport.java:194)
        at com.atlassian.jira.web.action.browser.ConfigureReport.getUnescapedText(ConfigureReport.java:224)
        at sun.reflect.GeneratedMethodAccessor772.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:61)
        at webwork.util.InjectionUtils.invoke(InjectionUtils.java:52)
        at webwork.util.ValueStack.findValue(ValueStack.java:426)
        at webwork.util.ValueStack.findValue(ValueStack.java:175)
        at webwork.view.taglib.WebWorkBodyTagSupport.findString(WebWorkBodyTagSupport.java:73)
        at com.atlassian.jira.web.tags.TextTag.doEndTag(TextTag.java:90)
        at _jsp._decorators._panels._jiraform__jsp._jspService(_jiraform__jsp.java:940)
        at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
        at com.caucho.jsp.Page.pageservice(Page.java:570)
        at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:179)
        at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:115)
        at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
        at com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java:485)
        at com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java:350)
        at com.caucho.jsp.PageContextImpl.include(PageContextImpl.java:927)
        at com.caucho.jsp.PageContextImpl.include(PageContextImpl.java:864)
        at com.opensymphony.module.sitemesh.taglib.page.ApplyDecoratorTag.doEndTag(ApplyDecoratorTag.java:254)
        at _jsp._secure._views._browser._configurereport__jsp._jspService(_configurereport__jsp.java:1231)

This was caused from a MS bot clicking on the printable view of the reports page. The url contains an escaped ampersand. This wont break things in most browsers because they are smart enough to realise what the link is meant to be. I guess their bot just uses the url given and doesn't try interpret it.

This ampersand should not be escaped.



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Jed Wesley-Smith [Atlassian] - 06/Dec/07 08:00 PM
The fix for this issue has not been able to make it into JIRA v3.12. We are hoping to incorporate it into v3.12.1. As of writing however, there are 163 items scheduled as Fix For v3.12.1. We will not be able to include all of them.

Andreas Knecht [Atlassian] - 19/Feb/08 11:16 PM
The printable link was being URL encoded correctly (once). This problem was caused by some web-crawlers that don't handle encoded '&' properly and append the 'amp;' part of the '&' to parameter names.

Changed the appropriate action to handle this more gracefully, such that we don't log an ugly error, but redirect the user to an error page. Will have to address this in a similar way for JRA-8839.


Andreas Knecht [Atlassian] - 20/Feb/08 07:19 PM
Some more investigation of the access logs showed that this was in fact not caused by crappy crawlers, but by the google bot following invalid links:
18/Feb/2008:17:45:50 -0600] "GET /secure/ConfigureReport.jspa?versionId=13265 HTTP/1.1" 500 20470 227776 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

It looks like there must be an external site somewhere that has these invalid links. I couldn't find anywhere in JIRA where this might be the case...