Thomas Watson created ARIES-1637:
------------------------------------

             Summary: Subsystem persistent cache is not successfully deleted on 
uninstall
                 Key: ARIES-1637
                 URL: https://issues.apache.org/jira/browse/ARIES-1637
             Project: Aries
          Issue Type: Bug
          Components: Subsystem
            Reporter: Thomas Watson
            Assignee: Thomas Watson


It is unclear the cause of this, but sometimes upon uninstalling a subsystem I 
find that the subsystems cache on disk still will contain the DEPLOYMENT.MF 
file for the subsystem.  On restart if the same subsystem is installed again 
you will see the exception below.  One cause may be because the DEPLOYMENT.MF 
holds the state of the subsystem, it may be possible that another thread is 
attempting to save the state in the DEPLOYMENT.MF file while the uninstall 
command is trying to delete the cache folder for the subsystem.  On restart the 
DEPLOYMENT.MF file has the header indicating that it is uninstalled:

AriesSubsystem-State: UNINSTALLED

One possible fix is to detect the uninstalled state while reading the 
subsystems cache and discarding the ones that are uninstalled.

org.osgi.service.subsystem.SubsystemException: java.lang.NullPointerException
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.getSubsystemManifest(BasicSubsystem.java:512)
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.getSymbolicName(BasicSubsystem.java:336)
        at 
org.apache.aries.subsystem.core.internal.TargetRegion.contains(TargetRegion.java:36)
        at 
org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:63)
        at 
org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:27)
        at 
java.security.AccessController.doPrivileged(AccessController.java:594)
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:738)
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:732)
        at 
com.ibm.ws.app.manager.esa.internal.DeploySubsystemAction.installSubsystem(DeploySubsystemAction.java:190)
        at 
com.ibm.ws.app.manager.esa.internal.DeploySubsystemAction.deploySubsystem(DeploySubsystemAction.java:163)
        at 
com.ibm.ws.app.manager.esa.internal.DeploySubsystemAction.deploy(DeploySubsystemAction.java:113)
        at 
com.ibm.ws.app.manager.esa.internal.SubsystemHandler.install(SubsystemHandler.java:356)
        at 
com.ibm.ws.app.manager.esa.internal.EBAToSubsystemHandler.install(EBAToSubsystemHandler.java:189)
        at 
com.ibm.ws.app.manager.internal.statemachine.StartAction.execute(StartAction.java:141)
        at 
com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.enterState(ApplicationStateMachineImpl.java:1191)
        at 
com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.run(ApplicationStateMachineImpl.java:804)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.lang.Thread.run(Thread.java:785)
Caused by: java.lang.NullPointerException
        at 
org.apache.aries.subsystem.core.internal.BasicSubsystem.getSubsystemManifest(BasicSubsystem.java:509)
        ... 18 more




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to