You are currently reviewing an older revision of this page.

KB-1124 OSGI-related errors cause JBoss deployment to fail

Symptoms

JBoss fails to start up due to one of the following errors:

ERROR com.appiancorp.plugins.osgi.AppianOsgiPlugin - Detected an error (BundleException) enabling the plugin 'appian.integration.sharepoint' : Unresolved constraint in bundle appian.integration.sharepoint [23]: Unable to resolve 23.0: missing requirement [23.0] osgi.wiring.package; (&(osgi.wiring.package=com.appiancorp.exceptions)(version>=18.2.20.0)(version<=18.2.20.0)). This error usually occurs when your plugin imports a package from another bundle with a specific version constraint and either the bundle providing that package doesn't meet those version constraints, or there is no bundle available that provides the specified package. For more details on how to fix this, see http://confluence.atlassian.com/x/1xy6D [0m[0m16:14:24,565 INFO [stdout] (ServerService Thread Pool -- 66) 2018-07-30 16:14:24,564 [ServerService Thread Pool -- 66] WARN com.appiancorp.plugins.osgi.AppianOsgiPlugin - Unable to enable plugin 'appian.integration.sharepoint' [0m[0m16:14:24,565 INFO [stdout] (ServerService Thread Pool -- 66) com.atlassian.plugin.osgi.container.OsgiContainerException: Cannot start plugin: appian.integration.sharepoint

ERROR com.appiancorp.plugins.osgi.FileDelete - Delete files failures count: 16 
ERROR com.appiancorp.plugins.osgi.FileDelete - Delete directories failures count: 32
ERROR com.appiancorp.plugins.osgi.FileInteractionMessage - Could not delete file: C:<APPIAN_HOME>\ear\suite.ear\web.war\WEB-INF\plugin-caches\osgi-cache\felix\felix-cache\bundle1\version0.0\bundle.jar: [exists][file][readable][writable][executable]:Could not delete file; this is the root failure in the deletion
ERROR com.appiancorp.plugins.osgi.FileInteractionMessage - Could not delete file due to: [Could not delete file; this is the root failure in the deletion]

 

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/suite]] (ServerService Thread Pool -- 59) JBWEB000287: Exception sending context initialized event to listener instance of class com.appiancorp.plugins.PluginLoader: java.lang.NullPointerException
        at com.atlassian.plugin.osgi.util.OsgiHeaderUtil.getPluginKey(OsgiHeaderUtil.java:374) [atlassian-plugins-osgi-2.12.3-appian-1.0.jar:]
        at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager$BundleRegistration.install(FelixOsgiContainerManager.java:574) [atlassian-plugins-osgi-2.12.3-appian-1.0.jar:]
        at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.installBundle(FelixOsgiContainerManager.java:450) [atlassian-plugins-osgi-2.12.3-appian-1.0.jar:]
        at com.atlassian.plugin.osgi.factory.OsgiPluginUninstalledHelper.install(OsgiPluginUninstalledHelper.java:68) [atlassian-plugins-osgi-2.12.3-appian-1.0.jar:]
        at com.atlassian.plugin.osgi.factory.OsgiPlugin.installInternal(OsgiPlugin.java:381) [atlassian-plugins-osgi-2.12.3-appian-1.0.jar:]
        at com.atlassian.plugin.impl.AbstractPlugin.install(AbstractPlugin.java:329) [atlassian-plugins-core-2.12.3.jar:]
        at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:695) [atlassian-plugins-core-2.12.3.jar:]
        at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:167) [atlassian-plugins-core-2.12.3.jar:]
        at com.appiancorp.plugins.AppianPluginManager.init(AppianPluginManager.java:77) [appian-plugins.jar:]
        at com.appiancorp.plugins.AppianPlugins.start(AppianPlugins.java:189) [appian-plugins.jar:]
        at com.appiancorp.plugins.ContainerManager.(ContainerManager.java:554) [appian-plugins.jar:]
        at com.appiancorp.plugins.PluginLoader.initialize(PluginLoader.java:62) [appian-plugins.jar:]
        at com.appiancorp.plugins.PluginLoader.contextInitialized0(PluginLoader.java:78) [appian-plugins.jar:]
        at com.appiancorp.common.AppianServletContextListener.contextInitialized(AppianServletContextListener.java:33) [appian-common.jar:]
        at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.3.1.Final-redhat-1.jar:7.3.1.Final-redhat-1]
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.3.1.Final-redhat-1.jar:7.3.1.Final-redhat-1]
        at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
        at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
        at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_65]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_65]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_65]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_65]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]
        at org.jboss.threads.JBossThread.run(JBossThread.java:122)

 

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/suite]] (ServerService Thread Pool -- 69) JBWEB000287: Exception sending context initialized event to listener instance of class com.appiancorp.plugins.PluginLoader: com.atlassian.plugin.osgi.container.OsgiContainerException: Unable to clean the cache directory: C:\appian\710\ear\suite.ear\web.war\WEB-INF\osgi-cache\felix
at com.atlassian.plugin.osgi.container.impl.DefaultOsgiPersistentCache.validate(DefaultOsgiPersistentCache.java:91) [atlassian-plugins-osgi-2.12.3-appian-1.1.jar:]
at com.atlassian.plugin.osgi.container.impl.DefaultOsgiPersistentCache.<init>(DefaultOsgiPersistentCache.java:37) [atlassian-plugins-osgi-2.12.3-appian-1.1.jar:]
at com.atlassian.plugin.osgi.container.impl.DefaultOsgiPersistentCache.<init>(DefaultOsgiPersistentCache.java:47) [atlassian-plugins-osgi-2.12.3-appian-1.1.jar:]
at com.atlassian.plugin.main.PluginsConfigurationBuilder$InternalPluginsConfiguration.<init>(PluginsConfigurationBuilder.java:279) [atlassian-plugins-main-2.12.3.jar:]
at com.atlassian.plugin.main.PluginsConfigurationBuilder.build(PluginsConfigurationBuilder.java:242) [atlassian-plugins-main-2.12.3.jar:]
at com.appiancorp.plugins.ContainerManager.<init>(ContainerManager.java:476) [appian-plugins.jar:]
at com.appiancorp.plugins.PluginLoader.initialize(PluginLoader.java:65) [appian-plugins.jar:]
at com.appiancorp.plugins.PluginLoader.contextInitialized0(PluginLoader.java:81) [appian-plugins.jar:]
at com.appiancorp.common.AppianServletContextListener.contextInitialized(AppianServletContextListener.java:38) [appian-common.jar:]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3780) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:163) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:61) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_60]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_60]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_60]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_60]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_60]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.io.IOException: Unable to delete directory C:\appian\710\ear\suite.ear\web.war\WEB-INF\osgi-cache\felix\felix-cache\bundle7.
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:981) [commons-io-1.4.jar:1.4]
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1381) [commons-io-1.4.jar:1.4]
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1044) [commons-io-1.4.jar:1.4]
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:977) [commons-io-1.4.jar:1.4]
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1381) [commons-io-1.4.jar:1.4]
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1044) [commons-io-1.4.jar:1.4]
at com.atlassian.plugin.osgi.container.impl.DefaultOsgiPersistentCache.validate(DefaultOsgiPersistentCache.java:87) [atlassian-plugins-osgi-2.12.3-appian-1.1.jar:]
... 19 more

Cause

The OSGI cache is in an inconsistent state and the application server is unable to remove it on its own.

Action

  1. Stop JBoss.
  2. Delete the contents of one of the following directories (but not the directory itself), depending on your version of Appian:
    • Appian 16.3 and earlier: <APPIAN_HOME>/ear/suite.ear/web.war/WEB-INF/osgi-cache
    • Appian 17.1 and later: <APPIAN_HOME>/ear/suite.ear/web.war/WEB-INF/plugin-caches/osgi-cache
  3. Start JBoss.

The contents of that directory are recreated during the subsequent application server restart.

Affected Versions

This article applies to all versions of Appian using JBoss as an application server.

Last Reviewed: August 2018