Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-10695

NullPointerException when sharing a filter

    XMLWordPrintable

Details

    Description

      It seems like some users are getting a null pointer exception when trying to share a saved filter. This bug needs to be verified, I have tried to reproduce it locally but have not been able to. The exception being seen is

      java.lang.NullPointerException
      at com.atlassian.jira.issue.search.SearchRequest.getUser()Ljava/lang/String;(SearchRequest.java:846)
      at com.atlassian.jira.web.action.filter.professional.ShareFilter.doDefault()Ljava/lang/String;(ShareFilter.java:86)
      at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava/lang/Object;ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
      at jrockit.reflect.NativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Optimized Method)
      at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Optimized Method)
      at java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;I)Ljava/lang/Object;(Optimized Method)
      at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Optimized Method)
      at webwork.util.InjectionUtils.invoke(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Optimized Method)
      at webwork.action.ActionSupport.invokeCommand()Ljava/lang/String;(ActionSupport.java:417)
      at webwork.action.ActionSupport.execute()Ljava/lang/String;(ActionSupport.java:146)
      at com.atlassian.jira.action.JiraActionSupport.execute()Ljava/lang/String;(JiraActionSupport.java:57)
      at webwork.dispatcher.GenericDispatcher.executeAction()V(Optimized Method)
      at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(Optimized Method)
      at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(HttpServlet.java:92)
      at com.caucho.server.dispatch.ServletFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ServletFilterChain.java:106)
      at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(AccessLogFilter.java:51)
      at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method)
      at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)Lcom/opensymphony/module/sitemesh/Page;(Optimized Method)
      at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Optimized Method)
      at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(SitemeshExcludePathFilter.java:38)
      at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method)
      at com.atlassian.seraph.filter.SecurityFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Optimized Method)
      at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method)
      at com.atlassian.seraph.filter.LoginFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Optimized Method)
      at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method)
      at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(ProfilingFilter.java:132)
      at com.atlassian.jira.web.filters.ProfilingAndErrorFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Optimized Method)
      at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method)
      at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Optimized Method)
      at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method)
      at com.atlassian.johnson.filters.JohnsonFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(JohnsonFilter.java:91)
      at com.caucho.server.dispatch.FilterFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(Optimized Method)

      It looks like the saved filter's GenericValue is null. It also looks like the saved filter is comming from the session so perhaps there is a way we get a stale version of the saved filter into the session, it needs further investigation. See https://support.atlassian.com/browse/JSP-6358 for a possible way to reproduce the error using jira.atlassian.com data.

      Attachments

        Activity

          People

            dylan@atlassian.com Dylan Etkin [Atlassian]
            dylan@atlassian.com Dylan Etkin [Atlassian]
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 8h
                8h
                Remaining:
                Time Spent - 3h Remaining Estimate - 5h
                5h
                Logged:
                Time Spent - 3h Remaining Estimate - 5h
                3h