Details
-
Bug
-
Resolution: Fixed
-
Medium
-
3.6.3
-
3.06
-
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.