This week I upgraded the stack Jira + Bitbucket to versions 8.0.0 and 6.0.0. Since then, the bitbucket constantly prevents users to push changes to any repository / branch with the message on client:
POST git-receive-pack (812 bytes)
remote: Communication breakdown with Bitbucket.
The atlassian-bitbucket.log, when this happends, show:
2019-02-20 09:38:24,833 DEBUG [http-nio-7990-exec-2] @5L11PRx578x6308x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.b.i.c.s.CrowdSsoAuthenticationHandler Skipping Crowd SSO as it is not enabled
2019-02-20 09:38:24,833 DEBUG [http-nio-7990-exec-2] @5L11PRx578x6308x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.s.i.i18n.PluginI18nService No values found in any valid locale for key ProviderManager.providerNotFound and locales [en_US, en]
2019-02-20 09:38:24,883 DEBUG [http-nio-7990-exec-6] @5L11PRx578x6309x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.b.i.c.s.CrowdSsoAuthenticationHandler Skipping Crowd SSO as it is not enabled
2019-02-20 09:38:24,886 DEBUG [http-nio-7990-exec-6] @5L11PRx578x6309x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.s.i.s.s.PluginAuthenticationProvider Authentication failed - Bad credentials
2019-02-20 09:38:24,886 DEBUG [http-nio-7990-exec-6] @5L11PRx578x6309x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.s.i.a.PluginHttpAuthenticationFailureHandler onAuthenticationFailure - delegating to com.atlassian.stash.internal.auth.RememberMeAuthenticationFailureHandler
2019-02-20 09:38:24,887 DEBUG [http-nio-7990-exec-6] @5L11PRx578x6309x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.s.i.a.PluginHttpAuthenticationFailureHandler onAuthenticationFailure - delegating to com.atlassian.stash.internal.rest.auth.RestAuthenticationFailureHandler
2019-02-20 09:38:24,887 DEBUG [http-nio-7990-exec-6] @5L11PRx578x6309x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.s.i.a.PluginHttpAuthenticationFailureHandler onAuthenticationFailure - delegating to com.atlassian.stash.internal.auth.ScmAuthenticationFailureHandler
2019-02-20 09:38:24,887 DEBUG [http-nio-7990-exec-6] @5L11PRx578x6309x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.s.i.a.PluginHttpAuthenticationFailureHandler onAuthenticationFailure - com.atlassian.stash.internal.auth.ScmAuthenticationFailureHandler handled authentication failure
2019-02-20 09:38:25,166 DEBUG [http-nio-7990-exec-9] @5L11PRx578x6310x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.b.i.c.s.CrowdSsoAuthenticationHandler Skipping Crowd SSO as it is not enabled
2019-02-20 09:38:25,422 DEBUG [http-nio-7990-exec-9] romulo.contini @5L11PRx578x6310x0 192.168.41.90 "GET /scm/crdweb/credbellweb.git/info/refs HTTP/1.1" c.a.bitbucket.scm.BaseCommand Executed /usr/bin/git http-backend
2019-02-20 09:38:25,977 DEBUG [http-nio-7990-exec-8] @5L11PRx578x6311x0 192.168.41.90 "POST /scm/crdweb/credbellweb.git/git-receive-pack HTTP/1.1" c.a.b.i.c.s.CrowdSsoAuthenticationHandler Skipping Crowd SSO as it is not enabled
2019-02-20 09:38:26,184 DEBUG [http-nio-7990-exec-8] romulo.contini @5L11PRx578x6311x0 192.168.41.90 "POST /scm/crdweb/credbellweb.git/git-receive-pack HTTP/1.1" c.a.bitbucket.scm.BaseCommand Executed /usr/bin/git http-backend
On the web interface of bitbucket, trying to access the /projects is shown a HTTP 500 error with the message
Handler dispatch failed; nested exception is java.lang.IncompatibleClassChangeError
And an exception is thrown:
2019-02-20 09:49:34,675 ERROR [http-nio-7990-exec-1] romulo.contini @5L11PRx589x6515x0 wng8fm 192.168.41.90 "GET /projects HTTP/1.1" c.a.s.i.w.HandlerExceptionResolverImpl Handler dispatch failed; nested exception is java.lang.IncompatibleClassChangeError
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.IncompatibleClassChangeError
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1053)
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.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:85)
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:112)
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94)
at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67)
at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
at com.atlassian.bitbucket.internal.scm.git.lfs.servlet.filter.GitLfsLockingFilter.doFilter(GitLfsLockingFilter.java:50)
at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94)
at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67)
at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
at com.atlassian.plugin.connect.plugin.auth.oauth2.DefaultSalAuthenticationFilter.doFilter(DefaultSalAuthenticationFilter.java:69)
at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:109)
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
at com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:38)
at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39)
at com.atlassian.bitbucket.internal.scm.git.lfs.servlet.filter.GitLfsLockingFilter.doFilter(GitLfsLockingFilter.java:50)
at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:90)
at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:73)
at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:87)
at com.atlassian.stash.internal.hazelcast.ConfigurableWebFilter.doFilter(ConfigurableWebFilter.java:38)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.lang.Thread.run(Thread.java:745)
... 290 frames trimmed
Caused by: java.lang.IncompatibleClassChangeError: null
at org.hibernate.query.criteria.internal.path.AbstractPathImpl.get(AbstractPathImpl.java:127)
at com.atlassian.stash.internal.project.HibernateProjectDao.findAll(HibernateProjectDao.java:77)
at com.atlassian.stash.internal.project.DefaultProjectService.findAll(DefaultProjectService.java:171)
at com.atlassian.stash.internal.web.admin.ProjectAdminController.getProjects(ProjectAdminController.java:229)
... 32 common frames omitted
Since the push is been rejected by an authentication failure, I think is valid to inform that we use the JIRA User Directory.
When the bitbucket is restarted, all works well for some time. It´s been necessary to restart the service 3 or 4 times a day.
Since it was an upgrade, I already tried to recreate the Application Links between Bitbucket and Jira, but the problem persists.