Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-8224

No events transitioned to JIRA due to java.lang.NoClassDefFoundError: com/atlassian/devstatus/vcs/LimitExceededEvent

    XMLWordPrintable

Details

    • Bug
    • Resolution: Handled by Support
    • Medium
    • None
    • 4.2.0
    • None
    • None
    • JIRA 7.0.0, Bitbucket Server 4.2.0

    Description

      Summary

      No events transitioned to JIRA when user pushed a commit or raised a Pull Request.

      Steps to Reproduce

      Not clear.

      Actual Results

      The below exception is thrown in the atlassian-bitbucket.log - java.lang.ClassNotFoundException

      java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/atlassian/devstatus/vcs/LimitExceededEvent
              at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54) ~[atlassian-event-3.0.0.jar:na]
              at com.atlassian.stash.internal.event.AsyncBatchingInvokersTransformer$AsyncInvokerBatch.invoke(AsyncBatchingInvokersTransformer.java:94) ~[bitbucket-platform-4.2.0.jar:na]
              at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:46) [atlassian-event-3.0.0.jar:na]
              at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34) [sal-core-3.0.5.jar:na]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_66]
              at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66]
              ... 1 frame trimmed
      Caused by: com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.NoClassDefFoundError: com/atlassian/devstatus/vcs/LimitExceededEvent
              at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149) ~[atlassian-util-concurrent-3.0.0.jar:na]
              at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112) ~[atlassian-util-concurrent-3.0.0.jar:na]
              at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:92) ~[atlassian-util-concurrent-3.0.0.jar:na]
              at com.atlassian.event.remote.impl.DefaultRemoteEventProducerRegistrar.isRegistered(DefaultRemoteEventProducerRegistrar.scala:23) ~[na:na]
              at com.atlassian.event.remote.impl.RemoteEventListener.onRemoteEvent(RemoteEventListener.scala:76) ~[na:na]
              at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) ~[atlassian-event-3.0.0.jar:na]
              ... 6 common frames omitted
      Caused by: java.lang.NoClassDefFoundError: com/atlassian/devstatus/vcs/LimitExceededEvent
              at com.atlassian.stash.internal.jira.index.impl.IssueCommitIndexer.produces(IssueCommitIndexer.scala:58) ~[na:na]
              at com.atlassian.event.remote.impl.DefaultRemoteEventProducerRegistrar$$anon$2$$anonfun$create$1.apply(DefaultRemoteEventProducerRegistrar.scala:18) ~[na:na]
              at com.atlassian.event.remote.impl.DefaultRemoteEventProducerRegistrar$$anon$2$$anonfun$create$1.apply(DefaultRemoteEventProducerRegistrar.scala:18) ~[na:na]
              at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) ~[na:na]
              at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) ~[na:na]
              at scala.collection.mutable.HashSet.foreach(HashSet.scala:79) ~[na:na]
              at com.atlassian.event.remote.impl.DefaultRemoteEventProducerRegistrar$$anon$1.scala$collection$mutable$SynchronizedSet$$super$foreach(DefaultRemoteEventProducerRegistrar.scala:13) ~[na:na]
              at scala.collection.mutable.SynchronizedSet$class.foreach(SynchronizedSet.scala:82) ~[na:na]
              at com.atlassian.event.remote.impl.DefaultRemoteEventProducerRegistrar$$anon$1.foreach(DefaultRemoteEventProducerRegistrar.scala:13) ~[na:na]
              at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251) ~[na:na]
              at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105) ~[na:na]
              at com.atlassian.event.remote.impl.DefaultRemoteEventProducerRegistrar$$anon$2.create(DefaultRemoteEventProducerRegistrar.scala:18) ~[na:na]
              at com.atlassian.event.remote.impl.DefaultRemoteEventProducerRegistrar$$anon$2.create(DefaultRemoteEventProducerRegistrar.scala:16) ~[na:na]
              at com.atlassian.util.concurrent.ResettableLazyReference$InternalReference.create(ResettableLazyReference.java:179) ~[atlassian-util-concurrent-3.0.0.jar:na]
              at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:325) ~[atlassian-util-concurrent-3.0.0.jar:na]
              at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143) ~[atlassian-util-concurrent-3.0.0.jar:na]
              at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112) ~[atlassian-util-concurrent-3.0.0.jar:na]
              at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:92) ~[atlassian-util-concurrent-3.0.0.jar:na]
              at com.atlassian.event.remote.impl.DefaultRemoteEventProducerRegistrar.isRegistered(DefaultRemoteEventProducerRegistrar.scala:23) ~[na:na]
              at com.atlassian.event.remote.impl.RemoteEventListener.onRemoteEvent(RemoteEventListener.scala:76) ~[na:na]
              at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) ~[atlassian-event-3.0.0.jar:na]
              at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:46) [atlassian-event-3.0.0.jar:na]
              at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299) ~[guava-18.0.jar:na]
              at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:105) ~[atlassian-event-3.0.0.jar:na]
              at com.atlassian.event.internal.LockFreeEventPublisher$Publisher.dispatch(LockFreeEventPublisher.java:260) ~[atlassian-event-3.0.0.jar:na]
              at com.atlassian.event.internal.LockFreeEventPublisher.publish(LockFreeEventPublisher.java:102) ~[atlassian-event-3.0.0.jar:na]
              at com.atlassian.stash.internal.event.TransactionAwareEventPublisher.publish(TransactionAwareEventPublisher.java:84) ~[bitbucket-platform-4.2.0.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.bitbucket.plugin.remote.event.listener.BitbucketRepositoryRefsChangedEventProducer.handleRepositoryRefsChanged(BitbucketRepositoryRefsChangedEventProducer.java:64) ~[na:na]
              ... 7 common frames omitted
      Caused by: java.lang.ClassNotFoundException: Unable to load class 'com.atlassian.devstatus.vcs.LimitExceededEvent' because the bundle wiring for com.atlassian.bitbucket.server.bitbucket-jira-development-integration is no longer valid.
              at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1494) ~[org.apache.felix.framework-4.2.1.jar:na]
              ... 41 common frames omitted
      

      Notes

      The class that is the subject of all your ClassNotFoundException's - com.atlassian.devstatus.vcs.LimitExceededEvent - isn't part of Bitbucket core or any bundled plugin and hasn't been for a very long time. It used to be part of a bundled plugin called the atlassian-dev-status-plugin, but this was removed from Stash 3.1 and replaced with another plugin called the atlassian-remote-event-producer-plugin that doesn't export any LimitExceededEvent class.

      The context of the ClassNotFoundException seems to indicate it was thrown inside of an event handler, possibly in a plugin, but the stack for this is gone as the exception isn't caught until it gets to SingleParameterMethodListenerInvoker (which is where in fact the LimitExceededEvent class loading error is reported).

      Solution

      atlassian-dev-status plugin, Perform a search on your file system of our server and and you should find an old atlassian-dev-status-api-2.5.9.jar in OSGI cache directory.

      The problem should be solved by cleaning the cache directory:

      1. Shutdown Bitbucket Server.
      2. Backup and remove the following directories. They will be rebuilt when Stash starts again:
        • $BITBUCKET_HOME/plugins/.bundled-plugins/
        • $BITBUCKET_HOME/plugins/.osgi-cache/
      3. Restart Bitbucket Server.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              8a011b19c91c Roman Kirilenko
              Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: