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:

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.
Was this helpful?