Aries
  1. Aries
  2. ARIES-942

Nesting subsystems using nested directories produces UnsupportedOperationException

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Subsystem
    • Labels:
      None

      Description

      The exception stack trace is shown below.

      This can be reproduced by cloning the github project:
      https://github.com/glyn/aries-subsystems-on-virgo-kernel
      checking out the ARIES-942 tag and following the instructions in README.md.

      Note ARIES-942 tags a branch so that master is kept working ok.

      [2012-10-18 15:26:36.402] fs-watcher <HD0002E> Hot deploy failed for file 'hello.driver.jar'. org.eclipse.virgo.nano.deployer.api.core.DeploymentException: BundleException
      at org.eclipse.virgo.kernel.install.artifact.internal.bundle.StandardBundleDriver.startBundle(StandardBundleDriver.java:199)
      at org.eclipse.virgo.kernel.install.artifact.internal.bundle.StandardBundleDriver.start(StandardBundleDriver.java:178)
      at org.eclipse.virgo.kernel.install.artifact.internal.bundle.StandardBundleInstallArtifact.doStart(StandardBundleInstallArtifact.java:279)
      at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.driveDoStart(AbstractInstallArtifact.java:231)
      at org.eclipse.virgo.kernel.install.artifact.internal.bundle.StandardBundleInstallArtifact.start(StandardBundleInstallArtifact.java:268)
      at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.start(PipelinedApplicationDeployer.java:375)
      at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.deploy(PipelinedApplicationDeployer.java:258)
      at org.eclipse.virgo.nano.deployer.hot.HotDeploymentFileSystemListener.deploy(HotDeployerFileSystemListener.java:215)
      at org.eclipse.virgo.nano.deployer.hot.HotDeploymentFileSystemListener.onChange(HotDeployerFileSystemListener.java:69)
      at org.eclipse.virgo.util.io.FileSystemChecker.notifyListeners(FileSystemChecker.java:373)
      at org.eclipse.virgo.util.io.FileSystemChecker.check(FileSystemChecker.java:282)
      at org.eclipse.virgo.nano.deployer.hot.WatchTask.run(WatchTask.java:48)
      at java.lang.Thread.run(Thread.java:680)
      Caused by: org.osgi.framework.BundleException: Exception in demo.driver.HelloDriver.start() of bundle hello.driver.
      at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
      at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
      at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
      at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
      at org.eclipse.virgo.nano.core.internal.StandardBundleStarter.start(StandardBundleStarter.java:57)
      at org.eclipse.virgo.nano.core.internal.StandardBundleStarter.start(StandardBundleStarter.java:45)
      at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
      at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
      at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
      at $Proxy39.start(Unknown Source)
      at org.eclipse.virgo.kernel.install.artifact.internal.bundle.StandardBundleDriver.startBundle(StandardBundleDriver.java:197)
      ... 12 common frames omitted
      Caused by: org.osgi.service.subsystem.SubsystemException: java.lang.UnsupportedOperationException
      at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
      at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.aries.subsystem.core.internal.AriesSubsystem.install(AriesSubsystem.java:252)
      at org.apache.aries.subsystem.core.internal.AriesSubsystem.install(AriesSubsystem.java:246)
      at demo.driver.HelloDriver.deploySubsystem(HelloDriver.java:36)
      at demo.driver.HelloDriver.start(HelloDriver.java:32)
      at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
      ... 35 common frames omitted
      Caused by: java.lang.UnsupportedOperationException: null
      at org.apache.aries.util.filesystem.impl.DirectoryImpl.open(DirectoryImpl.java:120)
      at org.apache.aries.subsystem.core.internal.RawSubsystemResource.computeResources(RawSubsystemResource.java:329)
      at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:111)
      at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
      at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
      at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
      ... 44 common frames omitted

        Activity

        Hide
        Glyn Normington added a comment -

        Note that if the nested subsystem directory is replaced by a corresponding JAR, the UOE does not occur.

        Show
        Glyn Normington added a comment - Note that if the nested subsystem directory is replaced by a corresponding JAR, the UOE does not occur.
        Show
        John Ross added a comment - Fixed in http://svn.apache.org/viewvc?view=revision&revision=1401521 .

          People

          • Assignee:
            John Ross
            Reporter:
            Glyn Normington
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development