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 C139DD2D3 for ; Tue, 25 Sep 2012 23:52:08 +0000 (UTC) Received: (qmail 31546 invoked by uid 500); 25 Sep 2012 23:52:08 -0000 Delivered-To: apmail-aries-dev-archive@aries.apache.org Received: (qmail 31449 invoked by uid 500); 25 Sep 2012 23:52:08 -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 31316 invoked by uid 99); 25 Sep 2012 23:52:08 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Sep 2012 23:52:08 +0000 Date: Wed, 26 Sep 2012 10:52:08 +1100 (NCT) From: "John Ross (JIRA)" To: dev@aries.apache.org Message-ID: <1902833135.125933.1348617128401.JavaMail.jiratomcat@arcas> Subject: [jira] [Created] (ARIES-927) Imports org.osgi.service.framework package as optional but assumes it's there nevertheless. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 John Ross created ARIES-927: ------------------------------- Summary: Imports org.osgi.service.framework package as optional but assumes it's there nevertheless. Key: ARIES-927 URL: https://issues.apache.org/jira/browse/ARIES-927 Project: Aries Issue Type: Bug Components: Util Reporter: John Ross Util imports the org.osgi.service.framework package as optional. However, the InternalRecursiveBundleTracker invokes "x instanceof CompositeBundle" in the addingBundle() method without protection. This results in a NoClassDefFoundError, like the one below, in environments where the package is not available. One such environment is the OSGi CT, where "private" package imports, such as the x-internal org.osgi.service.framework package provided by Equinox, are forbidden. ! Failed to start bundle org.apache.aries.blueprint-1.0.0, exception activator error org/osgi/service/framework/CompositeBundle from: org.apache.aries.util.tracker.InternalRecursiveBundleTracker:addingBundle#67 org.osgi.framework.BundleException: Exception in org.apache.aries.blueprint.container.BlueprintExtender.start() of bundle org.apache.aries.blueprint. 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 aQute.launcher.Launcher.update(Launcher.java:287) at aQute.launcher.Launcher.activate(Launcher.java:212) at aQute.launcher.Launcher.run(Launcher.java:133) at aQute.launcher.Launcher.main(Launcher.java:68) Caused by: java.lang.NoClassDefFoundError: org/osgi/service/framework/CompositeBundle at org.apache.aries.util.tracker.InternalRecursiveBundleTracker.addingBundle(InternalRecursiveBundleTracker.java:67) at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:467) at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1) at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183) at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:156) at org.apache.aries.util.tracker.RecursiveBundleTracker.open(RecursiveBundleTracker.java:95) at org.apache.aries.blueprint.container.BlueprintExtender$2.serviceFound(BlueprintExtender.java:104) at org.apache.aries.util.tracker.SingleServiceTracker.update(SingleServiceTracker.java:157) at org.apache.aries.util.tracker.SingleServiceTracker.findMatchingReference(SingleServiceTracker.java:115) at org.apache.aries.util.tracker.SingleServiceTracker.open(SingleServiceTracker.java:98) at org.apache.aries.blueprint.container.BlueprintExtender.start(BlueprintExtender.java:112) 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) ... 7 more Caused by: java.lang.ClassNotFoundException: org.osgi.service.framework.CompositeBundle at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 22 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira