Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-17649

En dash character in Plan name breaks Dependencies configuration

    XMLWordPrintable

Details

    Description

      Summary

      Adding a Plan with "en dash" in the name into another Plan Dependencies will break the Plan Dependencies page

      Steps to Reproduce

      1. Create a Plan with a name "Test – Test"
      2. Add this Plan into another Plan Dependencies as a child plan
      3. Click on the Save button

      Expected Results

      The Plan Dependencies page will reload successfully

      Actual Results

      The Plan Dependencies page will break with 500 Exception and it will always have the error.
      The below exception is thrown in the atlassian-bamboo.log file:

      2016-06-06 22:37:03,206 INFO [http-bio-8085-exec-13] [AccessLogFilter] kahloun.foong GET http://localhost:8085/chain/admin/config/editChainDependencies.action?planKey=BAM-STAS&saved=true 93230kb
      2016-06-06 22:37:03,294 WARN [http-bio-8085-exec-13] [AuthorizationLoggerListener] Credentials not found: org.acegisecurity.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext; secure object: com.atlassian.bamboo.ww2.actions.plans.admin.ConfigurePlanDependencies@61e0b86c; configuration attributes: [WW_EDIT, WW_NEWOBJECT, GLOBAL_READ]
      2016-06-06 22:37:03,294 ERROR [http-bio-8085-exec-13] [ExceptionMappingInterceptor] An Authentication object was not found in the SecurityContext
      org.acegisecurity.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext
      	at org.acegisecurity.intercept.AbstractSecurityInterceptor.credentialsNotFound(AbstractSecurityInterceptor.java:339)
      	at org.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:261)
      	at com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:64)
      	at com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:31)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.atlassian.xwork.interceptors.AroundInterceptor.intercept(AroundInterceptor.java:25)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.atlassian.bamboo.ww2.interceptors.OnDemandNotSupportedInterceptor.intercept(OnDemandNotSupportedInterceptor.java:31)
      	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
      	at com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.doIntercept(PaginationAwareInterceptor.java:100)
      	at com.atlassian.bamboo.ww2.interceptors.AbstractBambooInterceptor.intercept(AbstractBambooInterceptor.java:34)
      ...
      2016-06-06 22:37:03,302 ERROR [http-bio-8085-exec-13] [FiveOhOh] 500 Exception was thrown.
      javax.servlet.ServletException: Filter execution threw an exception
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:267)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
      	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
      	at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
      	at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
      ...
      Caused by: freemarker.core.TokenMgrError: Lexical error at line 26, column 114.  Encountered: "u" (117), after : "\"Test \\"
      	at freemarker.core.FMParserTokenManager.getNextToken(FMParserTokenManager.java:6447)
      	at freemarker.core.FMParser.jj_ntk(FMParser.java:4613)
      	at freemarker.core.FMParser.UnaryExpression(FMParser.java:300)
      	at freemarker.core.FMParser.MultiplicativeExpression(FMParser.java:435)
      	at freemarker.core.FMParser.AdditiveExpression(FMParser.java:385)
      	at freemarker.core.FMParser.RangeExpression(FMParser.java:556)
      	at freemarker.core.FMParser.RelationalExpression(FMParser.java:511)
      	at freemarker.core.FMParser.EqualityExpression(FMParser.java:476)
      	at freemarker.core.FMParser.AndExpression(FMParser.java:585)
      	at freemarker.core.FMParser.OrExpression(FMParser.java:608)
      	at freemarker.core.FMParser.Expression(FMParser.java:221)
      	at freemarker.core.FMParser.HashLiteral(FMParser.java:1036)
      

      Notes

      In some cases, it will just auto reload to the All Dashboard page

      Workaround

      Edit all Plan Names that have en dash "–" to use hyphen-minus "-"

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              klfoong Foong (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: