"IllegalStateException: zip file closed" when upgrading JIRA Fisheye Plugin in JIRA 4.3

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

The following error message appears in the logs when upgrading a newer version of the JIRA Fisheye plugin in JIRA 4.3:

java.lang.IllegalStateException: zip file closed
        at java.util.zip.ZipFile.ensureOpen(ZipFile.java:403)
        at java.util.zip.ZipFile.getEntry(ZipFile.java:148)
        at java.util.jar.JarFile.getEntry(JarFile.java:206)
        at org.apache.felix.framework.util.JarFileX.getEntry(JarFileX.java:61)
        at org.apache.felix.framework.cache.JarContent.getEntryAsBytes(JarContent.java:120)
        at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1738)
        at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:716)
        at org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
        at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1690)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at com.atlassian.jirafisheyeplugin.FishEyePropertiesImpl.getText(FishEyePropertiesImpl.java:67)
        at com.atlassian.jirafisheyeplugin.FishEyePropertiesImpl.getText(FishEyePropertiesImpl.java:35)
        at com.atlassian.jirafisheyeplugin.config.FishEyeConfigImpl.validateConfiguration(FishEyeConfigImpl.java:135)
        at com.atlassian.jirafisheyeplugin.config.FishEyeConfigImpl.reloadPropertiesHelper(FishEyeConfigImpl.java:123)
        at com.atlassian.jirafisheyeplugin.config.FishEyeConfigImpl.reloadProperties(FishEyeConfigImpl.java:113)
        at com.atlassian.jirafisheyeplugin.config.FishEyeConfigImpl.refresh(FishEyeConfigImpl.java:216)
        at com.atlassian.jirafisheyeplugin.config.RefreshManager.refreshAll(RefreshManager.java:86)
        at com.atlassian.jirafisheyeplugin.config.RefreshManager.onStart(RefreshManager.java:105)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36)
        at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:60)
        at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1.execute(AsynchronousAbleEventDispatcher.java:28)
        at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:56)
        at com.atlassian.event.internal.EventPublisherImpl.invokeListeners(EventPublisherImpl.java:151)
        at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:70)
        at com.atlassian.multitenant.event.DefaultPeeringEventPublisherManager.publish(DefaultPeeringEventPublisherManager.java:17)
        at com.atlassian.multitenant.event.PeeringEventPublisher.publish(PeeringEventPublisher.java:23)
        at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:84)
        at com.atlassian.jira.upgrade.PluginUpgradeLauncher.start(PluginUpgradeLauncher.java:39)
        at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:41)
        at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:57)
        at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:52)
        at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.get(MultiTenantComponentMapImpl.java:121)
        at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.onTenantStart(MultiTenantComponentMapImpl.java:165)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:134)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:131)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager.runForEachListener(DefaultMultiTenantManager.java:256)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startTenant(DefaultMultiTenantManager.java:130)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startAll(DefaultMultiTenantManager.java:203)
        at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:85)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
        at org.apache.catalina.core.StandardService.start(StandardService.java:525)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2012-03-21 22:34:35,446 main ERROR      [atlassian.event.internal.EventPublisherImpl] There was an exception thrown trying to dispatch event 
'com.atlassian.jira.extension.JiraStartedEvent@5411cd7' from the invoker 'com.atlassian.event.internal.SingleParameterMethodListenerInvoker@58dec5c'.
java.lang.RuntimeException: com/opensymphony/module/propertyset/PropertySet
        at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54)
        at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:60)
        at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1.execute(AsynchronousAbleEventDispatcher.java:28)
        at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:56)
        at com.atlassian.event.internal.EventPublisherImpl.invokeListeners(EventPublisherImpl.java:151)
        at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:70)
        at com.atlassian.multitenant.event.DefaultPeeringEventPublisherManager.publish(DefaultPeeringEventPublisherManager.java:17)
        at com.atlassian.multitenant.event.PeeringEventPublisher.publish(PeeringEventPublisher.java:23)
        at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:84)
        at com.atlassian.jira.upgrade.PluginUpgradeLauncher.start(PluginUpgradeLauncher.java:39)
        at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:41)
        at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:57)
        at com.atlassian.jira.startup.LauncherContextListener$1.create(LauncherContextListener.java:52)
        at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.get(MultiTenantComponentMapImpl.java:121)
        at com.atlassian.multitenant.impl.MultiTenantComponentMapImpl.onTenantStart(MultiTenantComponentMapImpl.java:165)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:134)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager$1.consume(DefaultMultiTenantManager.java:131)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager.runForEachListener(DefaultMultiTenantManager.java:256)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startTenant(DefaultMultiTenantManager.java:130)
        at com.atlassian.multitenant.impl.DefaultMultiTenantManager.startAll(DefaultMultiTenantManager.java:203)
        at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:85)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
        at org.apache.catalina.core.StandardService.start(StandardService.java:525)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.NoClassDefFoundError: com/opensymphony/module/propertyset/PropertySet
        at com.atlassian.jirafisheyeplugin.FishEyePropertiesImpl.getText(FishEyePropertiesImpl.java:67)
        at com.atlassian.jirafisheyeplugin.FishEyePropertiesImpl.getText(FishEyePropertiesImpl.java:35)
        at com.atlassian.jirafisheyeplugin.config.FishEyeConfigImpl.validateConfiguration(FishEyeConfigImpl.java:135)
        at com.atlassian.jirafisheyeplugin.config.FishEyeConfigImpl.reloadPropertiesHelper(FishEyeConfigImpl.java:123)
        at com.atlassian.jirafisheyeplugin.config.FishEyeConfigImpl.reloadProperties(FishEyeConfigImpl.java:113)
        at com.atlassian.jirafisheyeplugin.config.FishEyeConfigImpl.refresh(FishEyeConfigImpl.java:216)
        at com.atlassian.jirafisheyeplugin.config.RefreshManager.refreshAll(RefreshManager.java:86)
        at com.atlassian.jirafisheyeplugin.config.RefreshManager.onStart(RefreshManager.java:105)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36)
        ... 35 more
Caused by: java.lang.ClassNotFoundException: com.opensymphony.module.propertyset.PropertySet
        at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:772)
        at org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
        at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1690)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        ... 48 more

Cause

This message is harmless. The JIRA Fisheye plugin that is bundled with JIRA fails to unregister itself when the new version that you are upgrading to is deployed. This causes a listener inside the old version of the plugin to fail with the message "zip file closed" because the plugin's OSGi context has already been shut down. However, the new version of the plugin is unaffected by this and should continue working fine.

Resolution

This message is harmless and should have no user-facing effects. However, if you want to fix it you can perform the following steps:

  1. Stop JIRA
  2. Backup the file at atlassian-jira/WEB-INF/classes/atlassian-bundled-plugins.zip (in case you want to revert to the bundled version of the plugin later)
  3. Remove the JIRA Fisheye plugin from the bundled plugins zip by running the following command from the directory you extracted JIRA to:

    zip -d atlassian-jira/WEB-INF/classes/atlassian-bundled-plugins.zip jira-fisheye-plugin-3.1.5.jar
  4. Then you'll need to remove the JIRA Fisheye plugin from the bundled plugins directory in your JIRA home directory. You can do this by running the following command in your JIRA home directory:

    rm plugins/.bundled-plugins/jira-fisheye-plugin-3.1.5.jar
  5. Start JIRA
Last modified on Jul 31, 2018

Was this helpful?

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