-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
None
-
Affects Version/s: 4.6.1, 7.6.0, 8.17.0, 8.19.2
-
Component/s: User Profiles
-
None
-
3
-
Severity 3 - Minor
-
0
Issue Summary
Some users receive Error 500 while accessing Bitbucket Server "Authorized applications" page with java.lang.NullPointerException: consumer
This is reproducible on Data Center: (yes)
Steps to Reproduce
For affected users:
- Go to Manage Account
- Click on Authorized applications
Expected Results
User is able to access Authorized applications
Actual Results
500 error on the UI
The below exception is thrown in the atlassian-bitbucket.log file:
2024-05-06 10:41:53,026 ERROR [http-nio-7990-exec-52] o.a.c.c.C.[.[.[/].[plugins] Servlet.service() for servlet [plugins] in context with path [] threw exception java.lang.NullPointerException: consumer at java.base/java.util.Objects.requireNonNull(Objects.java:235) at com.atlassian.oauth.Token$TokenBuilder.consumer(Token.java:163) at com.atlassian.oauth.serviceprovider.sal.PluginSettingsServiceProviderTokenStore.get(PluginSettingsServiceProviderTokenStore.java:99) at com.atlassian.oauth.serviceprovider.sal.PluginSettingsServiceProviderTokenStore$KeyToToken.apply(PluginSettingsServiceProviderTokenStore.java:204) at com.atlassian.oauth.serviceprovider.sal.PluginSettingsServiceProviderTokenStore$KeyToToken.apply(PluginSettingsServiceProviderTokenStore.java:196) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at com.atlassian.oauth.serviceprovider.sal.PluginSettingsServiceProviderTokenStore.getAccessTokensForUser(PluginSettingsServiceProviderTokenStore.java:137) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 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.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.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at jdk.proxy46/jdk.proxy46.$Proxy1096.getAccessTokensForUser(Unknown Source) at com.atlassian.oauth.serviceprovider.internal.DelegatingTokenStoreImpl.getAccessTokensForUser(DelegatingTokenStoreImpl.java:50) at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServletContext.getOAuth1TokenRepresentations(AccessTokensServletContext.java:77) at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServletContext.getTokenRepresentations(AccessTokensServletContext.java:71) at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServletContext.getContext(AccessTokensServletContext.java:58) at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet.getContext(AccessTokensServlet.java:55) at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensUserProfileServlet.doGet(AccessTokensUserProfileServlet.java:44) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24) at com.atlassian.analytics.client.filter.UniversalAnalyticsFilter.doFilter(UniversalAnalyticsFilter.java:75) at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:33) at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42) at com.atlassian.bitbucket.internal.ratelimit.servlet.filter.RateLimitFilter.doFilter(RateLimitFilter.java:75) ...
Workaround
Follow the steps outlined in Error 500 while accessing Bitbucket Server "Authorized applications" page