When attempting to view a Diff in Bitbucket Server an unknown error message is received

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

When attempting to load a diff in Bitbucket Server's user interface an unknown error message is displayed and the diff does not load:

red box stating "An unknown error has occurred"

The following appears in the atlassian-bitbucket.log

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 2016-02-25 09:04:18,969 ERROR [http-nio-7991-exec-16] @U07IK7x544x391826x0 1arj3di 10.90.67.28,127.0.0.1 "GET /mvc/error500 HTTP/1.1" c.a.s.i.web.ErrorPageController There was an unhandled exception loading [/rest/api/latest/projects/TESTWP/repos/test/pull-requests/1/changes] javax.servlet.ServletException: Filter execution threw an exception at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:255) ~[catalina.jar:8.0.24] at com.atlassian.plugin.connect.plugin.auth.scope.ApiScopingFilter.doFilter(ApiScopingFilter.java:89) ~[na:na] at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:88) ~[StashAuthenticationFilter.class:na] at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:109) ~[BeforeLoginPluginAuthenticationFilter.class:na] at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75) ~[BeforeLoginPluginAuthenticationFilter.class:na] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94) ~[atlassian-trusted-apps-core-4.2.0.jar:na] at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67) ~[na:na] at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21) ~[atlassian-core-4.6.19.jar:na] at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) ~[atlassian-core-4.6.19.jar:na] at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:122) ~[na:na] at com.atlassian.plugin.connect.plugin.auth.oauth.OAuth2LOFilter.doFilter(OAuth2LOFilter.java:82) ~[na:na] at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32) ~[na:na] at com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:36) ~[na:na] at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) ~[na:na] at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:87) ~[BeforeLoginPluginAuthenticationFilter.class:na] at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:73) ~[BeforeLoginPluginAuthenticationFilter.class:na] at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:85) ~[bitbucket-service-impl-4.3.2.jar:na] at com.atlassian.stash.internal.hazelcast.ConfigurableWebFilter.doFilter(ConfigurableWebFilter.java:38) ~[ConfigurableWebFilter.class:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_72] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72] ... 161 frames trimmed Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.nio.fs.UnixCopyFile at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262) ~[na:1.8.0_72] at java.nio.file.Files.move(Files.java:1395) ~[na:1.8.0_72] at com.atlassian.stash.internal.scm.git.merge.ObjectFetchStrategy$CopyLooseObjectsVisitor.moveObject(ObjectFetchStrategy.java:485) ~[na:na] at com.atlassian.stash.internal.scm.git.merge.ObjectFetchStrategy$CopyLooseObjectsVisitor.visitFile(ObjectFetchStrategy.java:433) ~[na:na] at com.atlassian.stash.internal.scm.git.merge.ObjectFetchStrategy$CopyLooseObjectsVisitor.visitFile(ObjectFetchStrategy.java:374) ~[na:na] at java.nio.file.Files.walkFileTree(Files.java:2670) ~[na:1.8.0_72] at com.atlassian.stash.internal.scm.git.merge.ObjectFetchStrategy.fetchViaCopy(ObjectFetchStrategy.java:195) ~[na:na] at com.atlassian.stash.internal.scm.git.merge.ObjectFetchStrategy.fetch(ObjectFetchStrategy.java:117) ~[na:na] at com.atlassian.stash.internal.scm.git.merge.TimedFetchStrategy.fetch(TimedFetchStrategy.java:30) ~[na:na] at com.atlassian.stash.internal.scm.git.merge.MergeCommand.doFetch(MergeCommand.java:71) ~[na:na] at com.atlassian.stash.internal.scm.git.merge.MergeCommand.doWithWorkTree(MergeCommand.java:97) ~[na:na] at com.atlassian.stash.internal.scm.git.merge.MergeCommand.doWithWorkTree(MergeCommand.java:29) ~[na:na] at com.atlassian.stash.internal.scm.git.porcelain.AbstractWorkTreeCommand.call(AbstractWorkTreeCommand.java:36) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestAutoMergeStrategy.doMerge(DefaultPullRequestAutoMergeStrategy.java:107) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestAutoMergeStrategy.merge(DefaultPullRequestAutoMergeStrategy.java:75) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.CompositePullRequestAutoMergeStrategy.merge(CompositePullRequestAutoMergeStrategy.java:22) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.CachingPullRequestAutoMergeStrategy.merge(CachingPullRequestAutoMergeStrategy.java:49) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.CompositePullRequestAutoMergeStrategy.merge(CompositePullRequestAutoMergeStrategy.java:22) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper.resolveNewEffectiveDiff(DefaultPullRequestRefHelper.java:409) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper.access$500(DefaultPullRequestRefHelper.java:50) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper$EffectiveDiffOperation.perform(DefaultPullRequestRefHelper.java:530) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper$EffectiveDiffOperation.perform(DefaultPullRequestRefHelper.java:495) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper$AbstractOperation.perform(DefaultPullRequestRefHelper.java:461) ~[na:na] at com.atlassian.stash.internal.concurrent.ClusterMappedLock.withLock(ClusterMappedLock.java:49) ~[bitbucket-service-impl-4.3.2.jar:na] at com.atlassian.stash.internal.concurrent.HazelcastPullRequestLock.withLock(HazelcastPullRequestLock.java:25) ~[bitbucket-service-impl-4.3.2.jar:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper.withLock(DefaultPullRequestRefHelper.java:442) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper.access$300(DefaultPullRequestRefHelper.java:50) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper$EffectiveDiffOperation.call(DefaultPullRequestRefHelper.java:507) ~[na:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper$EffectiveDiffOperation.call(DefaultPullRequestRefHelper.java:495) ~[na:na] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_72] at com.atlassian.util.concurrent.ConcurrentOperationMapImpl$CallerRunsFuture.get(ConcurrentOperationMapImpl.java:63) ~[atlassian-util-concurrent-3.0.0.jar:na] at com.atlassian.util.concurrent.ConcurrentOperationMapImpl.runOperation(ConcurrentOperationMapImpl.java:51) ~[atlassian-util-concurrent-3.0.0.jar:na] at com.atlassian.stash.internal.scm.git.pull.DefaultPullRequestRefHelper.resolveEffectiveDiff(DefaultPullRequestRefHelper.java:100) ~[na:na] at com.atlassian.stash.internal.scm.git.DefaultGitPullRequestCommandFactory.resolveEffectiveDiff(DefaultGitPullRequestCommandFactory.java:250) ~[na:na] at com.atlassian.stash.internal.scm.git.DefaultGitPullRequestCommandFactory.changes(DefaultGitPullRequestCommandFactory.java:112) ~[na:na] at com.atlassian.stash.internal.scm.git.DefaultGitPullRequestCommandFactory.changes(DefaultGitPullRequestCommandFactory.java:49) ~[na:na] at com.atlassian.stash.internal.scm.PluginScmPullRequestCommandFactory.changes(PluginScmPullRequestCommandFactory.java:41) ~[bitbucket-service-impl-4.3.2.jar:na] at com.atlassian.stash.internal.pull.DefaultPullRequestService.streamChanges(DefaultPullRequestService.java:746) ~[bitbucket-service-impl-4.3.2.jar:na] at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:30) ~[atlassian-plugins-core-4.0.4.jar:na] at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) ~[na:na] at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) ~[na:na] at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) ~[na:na] at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) ~[na:na] at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) ~[na:na] at com.atlassian.stash.internal.rest.pull.PullRequestChangeResource$1.write(PullRequestChangeResource.java:76) ~[na:na] at com.atlassian.bitbucket.rest.util.JsonStreamingOutput.write(JsonStreamingOutput.java:22) ~[na:na] at com.atlassian.stash.internal.rest.filter.StreamingOutputResponseFilter$ExceptionMappingStreamingOutput.write(StreamingOutputResponseFilter.java:46) ~[na:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:26) ~[na:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:26) ~[na:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:26) ~[na:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:26) ~[na:na] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:26) ~[na:na] ... 20 common frames omitted

Cause

This error indicates that the JDK is not able to load a particular library that handles file handling, this is caused by a incomplete/broken installation of Java.

Resolution

Re-install another instance of the JDK and point Bitbucket Server to it.

Updated on April 1, 2025

Still need help?

The Atlassian Community is here for you.