Fisheye server fails to start with error java.lang.NoSuchMethodError

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

Summary

Fisheye server fails to start with error java.lang.NoSuchMethodError after upgrading from 4.8.4 to 4.8.8. 

Environment

Fisheye server 4.8.8

Java 8 build 322

Diagnosis

We see below errors from atlassian-fisheye.log during startup

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2022-01-31 17:07:29,941 ERROR [qtp127702987-146 ] com.atlassian.plugins.rest.common.error.jersey.ThrowableExceptionMapper ThrowableExceptionMapper-toResponse - Uncaught exception thrown by REST service: com.atlassian.crucible.spi.services.RepositoryService.getRepositoryIndexingStatus(Ljava/lang/String;)Lcom/atlassian/crucible/spi/data/RepositoryIndexingStatus; java.lang.NoSuchMethodError: com.atlassian.crucible.spi.services.RepositoryService.getRepositoryIndexingStatus(Ljava/lang/String;)Lcom/atlassian/crucible/spi/data/RepositoryIndexingStatus; at com.atlassian.fecrurestplugin.common.RestIndexingStatusService.getStatus(RestIndexingStatusService.java:54) [fecru-rest-plugin-4.8.8-20211028060753.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_322] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_322] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_322] at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_322] at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$TypeOutInvoker$1.invoke(DispatchProviderHelper.java:169) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:83) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:53) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept(ExpandInterceptor.java:41) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:53) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors(DispatchProviderHelper.java:110) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$TypeOutInvoker._dispatch(DispatchProviderHelper.java:167) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) [atlassian-rest-module-3.4.15_1635390946000.jar:?] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [atlassian-rest-module-3.4.15_1635390946000.jar:?]
  1. Verify the plugin fecru-rest-plugin-4.8.8-20211028060753.jar in stack trace exists in $FISHEYE_INST/var/plugins/bundled. 

  2. Verify the plugin isn't corrupted by comparing the shasum of the file. The shasum of the non-corrupted jar file from Fisheye 4.8.8 is 0136259348ef30028f5f2b14cb9488c814021f8f809d5ab8f433e85e1e604344

    1 2 shasum -a 256 fecru-rest-plugin-4.8.8-20211028060753.jar 0136259348ef30028f5f2b14cb9488c814021f8f809d5ab8f433e85e1e604344 fecru-rest-plugin-4.8.8-20211028060753.jar

Cause

If fecru-rest-plugin-4.8.8-20211028060753.jar exists and isn't corrupted, the possible cause of the issue could be plugin cache corruption during the upgrade. 

Solution

Clear plugin cache by performing below steps and start fisheye server. 

  1. Stop fisheye server

  2. Clear plugin cache by removing below directories

    1 2 3 $FISHEYE_INST/var/osgi-cache $FISHEYE_INST/var/plugins/bundled $FISHEYE_INST/var/tmp
  3. Start fisheye server

Updated on March 14, 2025

Still need help?

The Atlassian Community is here for you.