Details
-
Bug
-
Resolution: Fixed
-
Low
-
7.1.0
-
7.01
-
Description
Summary
Enabling Safe Mode in JIRA 7.1.0 breaks navigation due to required system plugin marked as user addon
Environment
- JIRA 7.1.0
Steps to Reproduce
- Set up a clean JIRA 7.1.0 instance
- Log in as JIRA Administrator
- Go to Manage Add-ons
- Enter Safe Mode
Expected Results
All user add-ons will be disabled and you can still navigate around JIRA
Actual Results
The below exception is thrown in the atlassian-jira.log file and the navigation bar disappears:
2016-02-24 09:56:01,440 http-nio-8013-exec-18 ERROR [o.a.c.c.C.[.[.[.1.0].[action]] Servlet.service() for servlet [action] in context with path [/7.1.0] threw exception java.lang.RuntimeException: javax.servlet.ServletException: java.lang.IllegalArgumentException: Unknown icon type 'user' at com.atlassian.servicedesk.internal.util.scala.ScalaJavaInterOp$1.apply(ScalaJavaInterOp.java:27) at com.atlassian.servicedesk.internal.utils.context.CustomerContextUtil$.outOfCustomerContext(CustomerContextUtil.scala:48) at com.atlassian.servicedesk.internal.utils.context.CustomerContextUtil.outOfCustomerContext(CustomerContextUtil.scala) at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.outOfCustomerContext(CustomerContextServiceImpl.java:24) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:164) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:120) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:112) ... 55 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: javax.servlet.ServletException: java.lang.IllegalArgumentException: Unknown icon type 'user' at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.onActionException(JiraWebworkActionDispatcher.java:213) at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:166) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ... 52 filtered at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:59) ... 62 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70) ... 37 filtered at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$664(CustomerContextSettingFilter.java:169) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter$$Lambda$445/477974642.call(Unknown Source) at com.atlassian.servicedesk.internal.util.scala.ScalaJavaInterOp$1.apply(ScalaJavaInterOp.java:25) ... 65 more Caused by: java.lang.IllegalArgumentException: Unknown icon type 'user' at com.atlassian.jira.plugin.icon.IconTypeDefinitionFactoryImpl.getDefaultSystemIconFilename(IconTypeDefinitionFactoryImpl.java:45) at com.atlassian.jira.avatar.AvatarManagerImpl.loadDefaultAvatarId(AvatarManagerImpl.java:499) at com.atlassian.jira.avatar.AvatarManagerImpl.lambda$getDefaultAvatarId$162(AvatarManagerImpl.java:520) at com.atlassian.jira.avatar.AvatarManagerImpl$$Lambda$464/360690418.get(Unknown Source) at com.atlassian.vcache.internal.core.DefaultRequestCache.lambda$get$18(DefaultRequestCache.java:43) at java.util.HashMap.computeIfAbsent(HashMap.java:1118) at com.atlassian.vcache.internal.core.DefaultRequestCache.get(DefaultRequestCache.java:43) at com.atlassian.jira.avatar.AvatarManagerImpl.getDefaultAvatarId(AvatarManagerImpl.java:520) at com.atlassian.jira.avatar.AvatarManagerImpl.getDefaultAvatar(AvatarManagerImpl.java:527) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:497) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy499.getDefaultAvatar(Unknown Source) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) at com.sun.proxy.$Proxy680.getDefaultAvatar(Unknown Source) at com.atlassian.jira.avatar.plugin.JiraUserAvatarProvider.getDefaultAvatar(JiraUserAvatarProvider.java:276) at com.atlassian.jira.avatar.plugin.JiraUserAvatarProvider.getAvatarImpl(JiraUserAvatarProvider.java:228) at com.atlassian.jira.avatar.plugin.JiraUserAvatarProvider$JiraUserPluginAvatar.<init>(JiraUserAvatarProvider.java:352) at com.atlassian.jira.avatar.plugin.JiraUserAvatarProvider.getAvatar(JiraUserAvatarProvider.java:155) at com.atlassian.jira.avatar.pluggable.AvatarProviderAdapter.getAvatar(AvatarProviderAdapter.java:45) at com.atlassian.jira.avatar.AvatarServiceImpl.getAvatarURLImpl(AvatarServiceImpl.java:209) at com.atlassian.jira.avatar.AvatarServiceImpl.getAvatarURL(AvatarServiceImpl.java:221) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:497) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy289.getAvatarURL(Unknown Source) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:497) at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136) at com.sun.proxy.$Proxy289.getAvatarURL(Unknown Source) at com.atlassian.greenhopper.service.user.GHAvatarService.getAvatarImpl(GHAvatarService.java:53) at com.atlassian.greenhopper.service.user.GHAvatarService.getSmallAvatarURL(GHAvatarService.java:46) at com.atlassian.greenhopper.web.rapid.UserConfigurationService.getUserConfig(UserConfigurationService.java:49) at com.atlassian.greenhopper.web.rapid.RapidBoardViewModelFactory.buildRapidGlobalConfig(RapidBoardViewModelFactory.java:221) at com.atlassian.greenhopper.web.rapid.RapidBoardViewModelFactory.getRapidViewConfigModel(RapidBoardViewModelFactory.java:193) at com.atlassian.greenhopper.web.rapid.data.RapidViewConfigDataProvider.getForRapidView(RapidViewConfigDataProvider.java:42) at com.atlassian.greenhopper.web.rapid.RapidBoardAction.appendConfigurationDataToPage(RapidBoardAction.java:432) at com.atlassian.greenhopper.web.rapid.RapidBoardAction.doShowBoard(RapidBoardAction.java:205) ... 3 filtered at java.lang.reflect.Method.invoke(Method.java:497) at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70) at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56) ... 2 filtered at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63) ... 7 filtered ... 225 more
Workaround
Manually enable Icon Types Plugin which is incorrectly listed as a user add-on
Attachments
Issue Links
- is duplicated by
-
JRASERVER-60036 Running JIRA in safe mode hides the top navigation bar
- Closed