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

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

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

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 
    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

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



Last modified on Feb 16, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.