Plugin incompatibility with Stash 3.0

Miscellaneous

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

With the release of Stash 3.0, all interfaces that were marked deprecated in Stash 2.11 and earlier will be removed completely. As a result, existing plugins that use any deprecated interfaces will not be automatically compatible with Stash 3.0.

Some plugins have already been identified as incompatible with Stash 3.0:

The following appears in the atlassian-stash.log:

Project Categories
2014-05-21 08:50:22,902 ERROR [http-bio-7990-exec-4] admin 530x37x4 184pe7j 192.168.0.121,127.0.0.1 "GET /rest/projectCategories/latest/project HTTP/1.1" c.a.p.r.c.e.j.ThrowableExceptionMapper Uncaught exception thrown by REST service: com.atlassian.stash.project.ProjectService.findAllProjectKeys()Ljava/util/List;
java.lang.NoSuchMethodError: com.atlassian.stash.project.ProjectService.findAllProjectKeys()Ljava/util/List;
	at de.communardo.plugin.stash.projectcategories.CategoryPersistenceServiceImpl.getAllProductCategories(CategoryPersistenceServiceImpl.java:45) ~[plugin.923305388028750380.stash-project-categories-0.4-09efb82_1397020225000.jar:na]
	at com.atlassian.activeobjects.tx.TransactionalProxy.invoke(TransactionalProxy.java:79) ~[activeobjects-plugin-0.25.2.jar:na]
	at com.atlassian.activeobjects.tx.TransactionalProxy.access$000(TransactionalProxy.java:18) ~[activeobjects-plugin-0.25.2.jar:na]
	at com.atlassian.activeobjects.tx.TransactionalProxy$1.doInTransaction(TransactionalProxy.java:63) ~[activeobjects-plugin-0.25.2.jar:na]
	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:25) ~[sal-core-2.11.0.jar:na]
	at com.atlassian.stash.internal.sal.spi.HostContextAccessorImpl.doInTransaction(HostContextAccessorImpl.java:27) ~[stash-platform-3.0.1.jar:na]
	at com.sun.proxy.$Proxy197.doInTransaction(Unknown Source) ~[na:na]
	at com.sun.proxy.$Proxy278.doInTransaction(Unknown Source) ~[na:na]
	at com.sun.proxy.$Proxy483.doInTransaction(Unknown Source) ~[na:na]
...
All Pull Requests
2014-05-21 08:50:33,811 ERROR [http-bio-7990-exec-8] 530x60x0 17qenxp 192.168.0.129,127.0.0.1 "GET /mvc/error500 HTTP/1.1" c.a.s.i.web.ErrorPageController There was an unhandled exception loading [/plugins/servlet/all-pull-requests/all]
javax.servlet.ServletException: Servlet execution threw an exception
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:326) ~[catalina.jar:7.0.52]
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) ~[na:na]
	at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.onSuccess(StashAuthenticationFilter.java:238) ~[StashAuthenticationFilter.class:na]
	at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:108) ~[StashAuthenticationFilter.class:na]
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:111) ~[BeforeLoginPluginAuthenticationFilter.class:na]
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:77) ~[BeforeLoginPluginAuthenticationFilter.class:na]
	at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100) ~[atlassian-trusted-apps-core-3.0.5.jar:na]
	at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) ~[na:na]
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:89) ~[BeforeLoginPluginAuthenticationFilter.class:na]
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75) ~[BeforeLoginPluginAuthenticationFilter.class:na]
	at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:70) ~[stash-service-impl-3.0.1.jar:na]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
	at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
	... 154 frames trimmed
Caused by: java.lang.NoSuchMethodError: com.atlassian.stash.pull.PullRequestService.find(Lcom/atlassian/stash/pull/PullRequestState;Lcom/atlassian/stash/pull/PullRequestOrder;Lcom/atlassian/stash/util/PageRequest;)Lcom/atlassian/stash/util/Page;
	at sk.oxygene.stash.allpullrequests.AllPullRequestsServlet.findPullRequests(AllPullRequestsServlet.java:111) ~[na:na]
	at sk.oxygene.stash.allpullrequests.AllPullRequestsServlet.doGet(AllPullRequestsServlet.java:76) ~[na:na]
	... 13 common frames omitted
...
ReadMe Parser
SEVERE: Servlet.service() for servlet [plugins] in context with path [] threw exception [Servlet execution threw an exception]with root cause
java.lang.NoSuchMethodError: com.atlassian.stash.repository.RepositoryService.findBySlug(Ljava/lang/String;Ljava/lang/String;)Lcom/atlassian/stash/repository/Repository;
at com.pirateninjaunicorn.stash.readmeparser.util.RepositoryHelper.getCurrentRepository(RepositoryHelper.java:51)
at com.pirateninjaunicorn.stash.readmeparser.servlet.ReadmeParserServlet.doPost(ReadmeParserServlet.java:102)
at com.pirateninjaunicorn.stash.readmeparser.servlet.ReadmeParserServlet.doGet(ReadmeParserServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
...
...
Workzone
2014-05-26 14:34:15,992 ERROR [AtlassianEvent::pool-2-thread-1] a.pandey@maxxton.com 874x73405x0 1izvkvy 115.113.153.230 "POST /projects/NWS/repos/newyse/pull-requests HTTP/1.1" c.a.s.i.e.AsyncBatchingInvokersTransformer There was an exception thrown trying to dispatch event 'com.atlassian.stash.event.pull.PullRequestOpenedEvent[source=com.atlassian.stash.internal.pull.PullRequestServiceImpl@29990ea1]' for the invoker 'SingleParameterMethodListenerInvoker{method=public void com.izymes.workzone.listener.RepoEventListener.onPullRequestOpened(com.atlassian.stash.event.pull.PullRequestOpenedEvent), listener=com.izymes.workzone.listener.RepoEventListener@2a7b0adb}'.
java.lang.RuntimeException: com.atlassian.stash.pull.PullRequestService.update(IJILjava/lang/String;Ljava/lang/String;Ljava/util/Set;)Lcom/atlassian/stash/pull/PullRequest;
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54) ~[atlassian-event-2.3.5.jar:na]
	at com.atlassian.stash.internal.event.AsyncBatchingInvokersTransformer$AsyncInvokerBatch.invoke(AsyncBatchingInvokersTransformer.java:100) ~[stash-platform-3.0.1.jar:na]
	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:48) [atlassian-event-2.3.5.jar:na]
	at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:38) [sal-core-2.11.0.jar:na]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
	at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
	... 1 frame trimmed
Caused by: java.lang.NoSuchMethodError: com.atlassian.stash.pull.PullRequestService.update(IJILjava/lang/String;Ljava/lang/String;Ljava/util/Set;)Lcom/atlassian/stash/pull/PullRequest;
	at com.izymes.workzone.listener.RepoEventListener.onPullRequestOpened(RepoEventListener.java:163) ~[na:na]
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) ~[atlassian-event-2.3.5.jar:na]
	... 6 common frames omitted
Stash Unapprove Reviewers
2014-08-04 11:53:43,916 ERROR [AtlassianEvent::thread-5] jenkins @U0IPQXx713x126579x0 4akq2x 134.64.83.126 SSH - git-receive-pack '/project/repo.git' c.a.s.i.e.AsyncBatchingInvokersTransformer There was an exception thrown trying to dispatch event 'com.atlassian.stash.repository.sync.RefsSynchronizedEvent[source=com.atlassian.stash.internal.repository.sync.DefaultRefSyncService@7dfce3ef]' for the invoker 'SingleParameterMethodListenerInvoker{method=public void com.atlassian.stash.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter.onRefsChangedEvent(com.atlassian.stash.event.RepositoryRefsChangedEvent), listener=com.atlassian.stash.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter@79603ed8}'.
java.lang.RuntimeException: com.atlassian.stash.pull.PullRequestService.findInDirection(Lcom/atlassian/stash/pull/PullRequestDirection;ILjava/lang/String;Lcom/atlassian/stash/pull/PullRequestState;Lcom/atlassian/stash/pull/PullRequestOrder;Lcom/atlassian/stash/util/PageRequest;)Lcom/atlassian/stash/util/Page;
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54) ~[atlassian-event-2.3.5.jar:na]
	at com.atlassian.stash.internal.event.AsyncBatchingInvokersTransformer$AsyncInvokerBatch.invoke(AsyncBatchingInvokersTransformer.java:100) ~[stash-platform-3.2.0.jar:na]
	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:48) [atlassian-event-2.3.5.jar:na]
	at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:38) [sal-core-2.12.1.jar:na]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_17]
	at java.lang.Thread.run(Thread.java:722) [na:1.7.0_17]
	... 1 frame trimmed
Caused by: java.lang.NoSuchMethodError: com.atlassian.stash.pull.PullRequestService.findInDirection(Lcom/atlassian/stash/pull/PullRequestDirection;ILjava/lang/String;Lcom/atlassian/stash/pull/PullRequestState;Lcom/atlassian/stash/pull/PullRequestOrder;Lcom/atlassian/stash/util/PageRequest;)Lcom/atlassian/stash/util/Page;
	at com.atlassian.stash.unapprove.UnapproveReviewersHook$2.get(UnapproveReviewersHook.java:75) ~[na:na]
	at com.atlassian.stash.util.PagedIterable.iterator(PagedIterable.java:23) ~[stash-util-3.2.0.jar:na]
	at com.atlassian.stash.unapprove.UnapproveReviewersHook.postReceive(UnapproveReviewersHook.java:44) ~[na:na]
	at com.atlassian.stash.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter$1.visit(AsyncPostReceiveRepositoryHookAdapter.java:49) ~[stash-service-impl-3.2.0.jar:na]
	at com.atlassian.stash.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter$1.visit(AsyncPostReceiveRepositoryHookAdapter.java:45) ~[stash-service-impl-3.2.0.jar:na]
	at com.atlassian.stash.internal.hook.repository.DefaultRepositoryHookService$RepositoryHookPagedTransactionCallback.doInTransaction(DefaultRepositoryHookService.java:616) ~[stash-service-impl-3.2.0.jar:na]
	at com.atlassian.stash.internal.hook.repository.DefaultRepositoryHookService$RepositoryHookPagedTransactionCallback.doInTransaction(DefaultRepositoryHookService.java:592) ~[stash-service-impl-3.2.0.jar:na]
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) ~[spring-tx-4.0.5.RELEASE.jar:4.0.5.RELEASE]
	at com.atlassian.stash.internal.hook.repository.DefaultRepositoryHookService.visitEnabledHooks(DefaultRepositoryHookService.java:304) ~[stash-service-impl-3.2.0.jar:na]
	at com.atlassian.stash.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter.postReceive(AsyncPostReceiveRepositoryHookAdapter.java:45) ~[stash-service-impl-3.2.0.jar:na]
	at com.atlassian.stash.internal.hook.repository.AsyncPostReceiveRepositoryHookAdapter.onRefsChangedEvent(AsyncPostReceiveRepositoryHookAdapter.java:40) ~[stash-service-impl-3.2.0.jar:na]
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) ~[atlassian-event-2.3.5.jar:na]
	... 6 common frames omitted

Diagnosis

Plugins that use any of these interfaces (which would have generated deprecation warnings when built against Stash 2.12) generally won't compile with Stash 3.0.

Precompiled plugins that used any of the deprecated interfaces will fail to install or run in Stash 3.0, typically with java.lang.NoSuchMethodError.

Cause

Plugins are using interfaces that have been removed in Stash 3.0.1 release.

Resolution

  • Check on the plugin website for a more recent release compatible with Stash 3.0 and update the add-on. When the add-on is not available for Stash 3.0 and/or was archived, please remove the plugin from your instance. 
  • In case the vendor is still active and this hasn't been reported, please report this issue to the plugin vendor. On the plugin page in Marketplace you'll be able to find a Support page for non-Atlassian plugins. You can also link them to the Stash 3.0 - API Changelog

 

 

Last modified on Mar 30, 2016

Was this helpful?

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