Return-Path: X-Original-To: apmail-aries-dev-archive@www.apache.org Delivered-To: apmail-aries-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 210F3186EA for ; Mon, 19 Oct 2015 14:22:15 +0000 (UTC) Received: (qmail 50939 invoked by uid 500); 19 Oct 2015 14:22:05 -0000 Delivered-To: apmail-aries-dev-archive@aries.apache.org Received: (qmail 50801 invoked by uid 500); 19 Oct 2015 14:22:05 -0000 Mailing-List: contact dev-help@aries.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@aries.apache.org Delivered-To: mailing list dev@aries.apache.org Received: (qmail 50764 invoked by uid 99); 19 Oct 2015 14:22:05 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Oct 2015 14:22:05 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 1A7A72C14F3 for ; Mon, 19 Oct 2015 14:22:05 +0000 (UTC) Date: Mon, 19 Oct 2015 14:22:05 +0000 (UTC) From: "John Ross (JIRA)" To: dev@aries.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ARIES-1434) org.osgi.framework.BundleException: Region 'application.a.esa;0.0.0;osgi.subsystem.application;1' is already connected to region 'composite.a.esa;0.0.0;osgi.subsystem.composite;2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/ARIES-1434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14963374#comment-14963374 ] John Ross commented on ARIES-1434: ---------------------------------- The state of the user started subsystem is checked in StartAction.run. A resolution will only occur if the subsystem is in the INSTALLED state. However, once the resolution of the starting subsystem begins, the resolve method will be called recursively on any children. The resolve method does not prevent subsystems in the RESOLVED state from resolving because this state can apply to persisted subsystems coming back online after a framework or core bundle restart which need their export sharing policies set. It is possible to weed out child subsystems in the ACTIVE state, but it will be necessary to distinguish between a persistently started child and one that is already "live" and has simply been resolved or started before its parent. > org.osgi.framework.BundleException: Region 'application.a.esa;0.0.0;osgi.subsystem.application;1' is already connected to region 'composite.a.esa;0.0.0;osgi.subsystem.composite;2 > ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: ARIES-1434 > URL: https://issues.apache.org/jira/browse/ARIES-1434 > Project: Aries > Issue Type: Bug > Components: Subsystem > Affects Versions: subsystem-2.0.4 > Reporter: John Ross > Assignee: John Ross > Fix For: subsystem-2.0.6 > > > Starting a parent subsystem which has an already started child subsystem with an export sharing policy results in the exception below [1]. The exception occurs because the implementation attempts to set the already existing export sharing policy of the child subsystem during resolution. > [1] > org.osgi.framework.BundleException: Region 'application.a.esa;0.0.0;osgi.subsystem.application;1' is already connected to region 'composite.a.esa;0.0.0;osgi.subsystem.composite;2 > at org.eclipse.equinox.internal.region.StandardRegionDigraph.connect(StandardRegionDigraph.java:158) > at org.eclipse.equinox.internal.region.BundleIdBasedRegion.connectRegion(BundleIdBasedRegion.java:176) > at org.apache.aries.subsystem.core.internal.StartAction.setExportIsolationPolicy(StartAction.java:267) > at org.apache.aries.subsystem.core.internal.StartAction.resolve(StartAction.java:237) > at org.apache.aries.subsystem.core.internal.StartAction.resolve(StartAction.java:184) > at org.apache.aries.subsystem.core.internal.StartAction.run(StartAction.java:116) > at java.security.AccessController.doPrivileged(Native Method) > at org.apache.aries.subsystem.core.internal.BasicSubsystem.start(BasicSubsystem.java:295) > at org.apache.aries.subsystem.itests.SubsystemTest.startSubsystemFromInstalled(SubsystemTest.java:874) > at org.apache.aries.subsystem.itests.SubsystemTest.startSubsystem(SubsystemTest.java:868) > at org.apache.aries.subsystem.itests.defect.AriesXXXXTest.test(AriesXXXXTest.java:80) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) > at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) > at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) > at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) > at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:67) > at org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:37) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > at org.junit.runner.JUnitCore.run(JUnitCore.java:138) > at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:125) > at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:98) > at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:74) > at org.ops4j.pax.exam.nat.internal.NativeTestContainer.call(NativeTestContainer.java:108) > at org.ops4j.pax.exam.spi.reactors.EagerSingleStagedReactor.invoke(EagerSingleStagedReactor.java:109) > at org.ops4j.pax.exam.junit.impl.ProbeRunner$2.evaluate(ProbeRunner.java:278) > at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) > at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) > at org.junit.runners.ParentRunner.run(ParentRunner.java:236) > at org.ops4j.pax.exam.junit.impl.ProbeRunner.run(ProbeRunner.java:112) > at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93) > at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) > at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) -- This message was sent by Atlassian JIRA (v6.3.4#6332)