Community
Participate
Working Groups
Bundle ch.qos.logback.slf4j has a missing import which basically makes the SLF4J implementation useless. Discovered using Equinox 3.8.
Not sure how that one slipped through. Fix committed. Waiting for new build to verify.
Note, the missing import only affects version 1.0.0 of the bundles. This will result into a ClassNotFoundException when calling LoggerFactory.getLogger(...). Thus, as shown in the stacktrace below any class with a static logger constant won't load. The 1.0.0 version was introduced in S20120120232307. S20120120232307 still contains version 0.9.27 which is not affected by this issue. Root exception: java.lang.NoClassDefFoundError: ch/qos/logback/classic/selector/ContextSelector at org.slf4j.impl.StaticLoggerBinder.getLoggerFactory(StaticLoggerBinder.java:107) at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:273) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:241) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:254) at org.eclipse.gyrex.common.runtime.BaseBundleActivator.<clinit>(BaseBundleActivator.java:56) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at java.lang.Class.newInstance0(Class.java:372) at java.lang.Class.newInstance(Class.java:325) at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:167) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390) at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1177) at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559) at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544) at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457) at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438) at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) Caused by: java.lang.ClassNotFoundException: ch.qos.logback.classic.selector.ContextSelector 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:356) ... 24 more
Due to reports on mailing list, we'll consider this a "blocker" (sounds like there is, technically, ways to work around it, but might be difficult for many projects to work around it, if many projects use it, or open ended-constraints) ... and thus promote a "new" S build for M5.