Description
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 master
Create orphan branch and add commit to itgit checkout --orphan feature1 touch file2 git add file2 git commit -m "add file2" file2 git push origin feature1
View 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
Attachments
Issue Links
- mentioned in
-
Page Loading...