| Summary: | ClassCastException in DefaultBundleClassLoaderHelper when starting Jetty 7 under Felix 3.2.x | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [RT] Jetty | Reporter: | azverkan | ||||||
| Component: | osgi | Assignee: | Hugues Malphettes <hmalphettes> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | jetty-inbox | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | 7.5.x | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows 7 | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Created attachment 198882 [details]
Patch for Felix switch to ArrayList
Created attachment 198883 [details]
Patch with tabs fixed.
Thanks for filing the bug and attaching the patch. Sorry for the delay as I was off-line taking some holydays. Fixed for the next release (adfter 7.4.4) with commit http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/commit/?id=5e94077ba3030dbf95a89175d85757d3b16b9a1b This patch was also merged into jetty-8 correctly. I can confirm this is fixed in the 7.5.0 release (but not as 7.4.4 per the comment above). |
Build Identifier: 7.4.3-SNAPSHOT As of a change to Felix in January 2010: @@ -36,7 +36,7 @@ private final Felix __m_felix; private final BundleArchive m_archive; - private IModule[] m_modules = new IModule[0]; + private final List<Module> m_modules = new ArrayList<Module>(0); private volatile int m_state; private boolean m_useDeclaredActivationPolicy; private BundleActivator m_activator = null; 01:00:30.212 [FelixStartLevel] DEBUG org.eclipse.jetty.util.log - STARTED org.eclipse.jetty.server.Server@28b301f2 java.lang.ClassCastException: java.util.ArrayList cannot be cast to [Ljava.lang.Object; at org.eclipse.jetty.osgi.boot.utils.internal.DefaultBundleClassLoaderHelper.internalGetFelixBundleClassLoader(DefaultBundleClassLoaderHelper.java:148) at org.eclipse.jetty.osgi.boot.utils.internal.DefaultBundleClassLoaderHelper.getBundleClassLoader(DefaultBundleClassLoaderHelper.java:97) at org.eclipse.jetty.osgi.boot.internal.webapp.OSGiWebappClassLoader.<init>(OSGiWebappClassLoader.java:87) at org.eclipse.jetty.osgi.boot.internal.webapp.WebBundleDeployerHelper.createWebappClassLoader(WebBundleDeployerHelper.java:788) at org.eclipse.jetty.osgi.boot.internal.webapp.WebBundleDeployerHelper.registerContext(WebBundleDeployerHelper.java:433) at org.eclipse.jetty.osgi.boot.internal.webapp.WebBundleDeployerHelper.registerContext(WebBundleDeployerHelper.java:379) at org.eclipse.jetty.osgi.boot.internal.webapp.JettyContextHandlerServiceTracker.serviceChanged(JettyContextHandlerServiceTracker.java:248) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:864) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3745) at org.apache.felix.framework.Felix.access$000(Felix.java:80) at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:717) at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107) at org.apache.felix.framework.Felix.registerService(Felix.java:2862) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:229) at org.eclipse.jetty.osgi.boot.JettyBootstrapActivator.registerContext(JettyBootstrapActivator.java:288) at org.eclipse.jetty.osgi.boot.JettyBootstrapActivator.registerContext(JettyBootstrapActivator.java:265) at org.eclipse.jetty.osgi.boot.internal.webapp.WebBundleTrackerCustomizer.register(WebBundleTrackerCustomizer.java:187) at org.eclipse.jetty.osgi.boot.internal.webapp.WebBundleTrackerCustomizer.addingBundle(WebBundleTrackerCustomizer.java:78) at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:439) at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261) at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233) at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:413) at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:800) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:728) at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610) at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3734) at org.apache.felix.framework.Felix.startBundle(Felix.java:1807) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1188)01:00:30.370 [FelixStartLevel] DEBUG org.eclipse.jetty.util.log - parsing: sid=null,pid=null at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264) at java.lang.Thread.run(Thread.java:662) Reproducible: Always