Issue Summary
Using Deutsch or Japan language in users Accounts setting on viewing individual commit of pull requests cause "error page not found" message. The issue is particularly seen for --orphan branch.
Environment
Bitbucket Server version 5.15.0
Bitbucket Server vesion 6.4.0
Steps to Reproduce
- While in the English language in User Profile.
- Create a repository called repo-01 under a project called proj.
- Cloned the repository into local machine, via UNIX terminal.
- In the terminal:
Create commit for master branch
touch file1 git add file1 git commit -m "add file1" file1 git push origin masterCreate orphan branch and add commit to itgit checkout --orphan feature1 touch file2 git add file2 git commit -m "add file2" file2 git push origin feature1View Git Loggit log --all --graph --decorate
Git Log Result* commit f698cebe1517b93ae075cb14db7584d89f356625 (HEAD -> feature1, origin/feature1) Author: admin <admin@admin.com> Date: Fri Jul 12 21:11:06 2019 +0800 add file02 * commit 1de7248274630ca98e4c21c17858d658689478d3 (origin/master, master) Author: admin <admin@admin.com> Date: Fri Jul 12 21:09:39 2019 +0800 add file1 - In the Bitbucket Server UI, created a pull request from orphan branch(source) to master branch(destination).
- Switch the language to Deutsch and back to the repository.
- Open the created pull request, select the Commits tab, and click on the commit.
Expected Results
The page loads without any issue as seen for the English language:
Actual Results
The following error message is seen:
Deutsch
Japan
The below exception is thrown in the atlassian-bitbucket.log file:
2019-07-12 21:37:27,124 DEBUG [http-nio-7990-exec-6] admin @1WECHJNx1297x464x0 kxth7 0:0:0:0:0:0:0:1 "GET /projects/PROJ/repos/repo-01/pull-requests/1/commits HTTP/1.1" c.a.bitbucket.scm.BaseCommand Executed /usr/bin/git rev-list --format=%H%x02%P%x02%aN%x02%aE%x02%at%x02%cN%x02%cE%x02%ct%n%B%n%x03END%x04 --no-min-parents --stdin -- 2019-07-12 21:37:28,258 DEBUG [http-nio-7990-exec-8] admin @1WECHJNx1297x466x0 kxth7 0:0:0:0:0:0:0:1 "GET /rest/api/latest/projects/PROJ/repos/repo-01/pull-requests/1/changes HTTP/1.1" c.a.bitbucket.scm.BaseCommand Executed /usr/bin/git diff-tree -C -r --format=%H undefined f698cebe1517b93ae075cb14db7584d89f356625 -- 2019-07-12 21:37:28,261 DEBUG [http-nio-7990-exec-8] admin @1WECHJNx1297x466x0 kxth7 0:0:0:0:0:0:0:1 "GET /rest/api/latest/projects/PROJ/repos/repo-01/pull-requests/1/changes HTTP/1.1" c.a.s.i.r.e.ServiceExceptionMapper Mapping ServiceException to REST response 404 com.atlassian.bitbucket.commit.NoSuchCommitException: Commit 'undefined' does not exist in repository 'repo-01'. at com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler.newNoSuchCommitException(GitCommandExitHandler.java:174) at com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler.evaluateStdErr(GitCommandExitHandler.java:82) at com.atlassian.bitbucket.scm.git.command.GitCommandExitHandler.onError(GitCommandExitHandler.java:204) at com.atlassian.bitbucket.scm.DefaultCommandExitHandler.onExit(DefaultCommandExitHandler.java:32) at com.atlassian.bitbucket.scm.BaseCommand.callExitHandler(BaseCommand.java:153) at com.atlassian.bitbucket.scm.BaseCommand$CommandFuture.internalGet(BaseCommand.java:287) at com.atlassian.bitbucket.scm.BaseCommand$CommandFuture.get(BaseCommand.java:251) at com.atlassian.bitbucket.scm.BaseCommand.call(BaseCommand.java:87) at com.atlassian.stash.internal.commit.DefaultCommitService.streamChanges(DefaultCommitService.java:223) at com.atlassian.stash.internal.pull.DefaultPullRequestService.streamChanges(DefaultPullRequestService.java:1985) at com.atlassian.stash.internal.pull.DefaultPullRequestService.streamChanges(DefaultPullRequestService.java:1111) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) 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 com.atlassian.stash.internal.rest.pull.PullRequestChangeResource$1.write(PullRequestChangeResource.java:107) at com.atlassian.bitbucket.rest.util.JsonStreamingOutput.write(JsonStreamingOutput.java:23) at com.atlassian.stash.internal.rest.filter.StreamingResponseFilter$ExceptionMappingStreamingOutput.lambda$write$0(StreamingResponseFilter.java:80) at com.atlassian.stash.internal.rest.filter.StreamingResponseFilter$AbstractStreamingExceptionMapper.stream(StreamingResponseFilter.java:50) at com.atlassian.stash.internal.rest.filter.StreamingResponseFilter$ExceptionMappingStreamingOutput.write(StreamingResponseFilter.java:80) 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:92) at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39) at com.atlassian.bitbucket.internal.xcode.web.XcodeUserAgentFilter.doFilter(XcodeUserAgentFilter.java:36) at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42) at com.atlassian.plugin.connect.plugin.auth.scope.ApiScopingFilter.doFilter(ApiScopingFilter.java:81) 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.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:32) 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:1149) at java.lang.Thread.run(Thread.java:748) ... 315 frames trimmed
Notes
The issue is seen on Deutsch and Japan but not for English and France
(Optional - If Necessary)
Workaround
Required, if there is no workaround please state:
Currently there is no known workaround for this behavior. A workaround will be added here when available
- mentioned in
-
Page Loading...