Error 500 while accessing Bitbucket Server "Authorized applications" page

XMLWordPrintable

    • 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:

      1. Go to Manage Account
      2. 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

            Assignee:
            Unassigned
            Reporter:
            Themis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: