IIRC I ever faced a similar problem sometime ago.

The way I make this happen is by loading a bunch of JARs using
ModuleFusion's DirInstaller.

This problem is intermittent, happens about 50% of the time.

Should I post a bug report?

I see WeakHashMap below... would using ConcurrentHashMap solve the problem?
Since it only called by Activator (once per bundle lifecycle?) I don't think
there's significant performance hit..

...
[org.springframework.osgi.extender.internal.support.NamespacePlugins] : XML
schema for null|
http://www.springframework.org/schema/context/spring-context-2.5.xsd found
inside spring-context
(org.springframework.bundle.spring.context)

[org.springframework.beans.factory.support.DefaultListableBeanFactory] :
Creating shared instance of singleton bean
'org.springframework.context.annotation.internalCommonAnnotationProcessor'

org.osgi.framework.BundleException: Exception in
org.ops4j.pax.logging.internal.Activator.start() of bundle
org.ops4j.pax.logging.pax-logging-api.

        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:1028)

        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:984)

        at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)

        at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:265)

        at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:257)

        at
org.modulefusion.dirinstaller.DirWatcher.startAllAndRefresh(DirWatcher.java:160)

        at
org.modulefusion.dirinstaller.DirWatcher.analyseNewState(DirWatcher.java:145)

        at
org.modulefusion.dirinstaller.DirWatcher.access$3(DirWatcher.java:90)

        at
org.modulefusion.dirinstaller.DirWatcher$1.run(DirWatcher.java:63)

Caused by:
java.util.ConcurrentModificationException

        at
java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:762)

        at
java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:801)

        at
java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:799)

        at
org.apache.commons.logging.LogFactory.setBundleContext(LogFactory.java:113)

        at
org.ops4j.pax.logging.internal.Activator.start(Activator.java:35)

        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:1009)

        at java.security.AccessController.doPrivileged(Native
Method)

        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:1003)

        ... 8
more

Exception in thread "WebExtender-Init"
java.lang.ExceptionInInitializerError

        at
org.springframework.aop.framework.DefaultAopProxyFactory.createAopProxy(DefaultAopProxyFactory.java:74)

        at
org.springframework.aop.framework.ProxyCreatorSupport.createAopProxy(ProxyCreatorSupport.java:106)

        at
org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)

        at
org.springframework.osgi.service.util.internal.aop.ProxyUtils.createProxy(ProxyUtils.java:60)

        at
org.springframework.osgi.service.util.internal.aop.ProxyUtils.createProxy(ProxyUtils.java:37)

        at
org.springframework.osgi.service.importer.support.AbstractServiceProxyCreator.createServiceProxy(AbstractServiceProxyCreator.java:107)

        at
org.springframework.osgi.service.importer.support.OsgiServiceProxyFactoryBean.createProxy(OsgiServiceProxyFactoryBean.java:185)

        at
org.springframework.osgi.service.importer.support.AbstractServiceImporterProxyFactoryBean.getObject(AbstractServiceImporterProxyFactoryBean.java:83)

        at
org.springframework.osgi.service.importer.support.OsgiServiceProxyFactoryBean.getObject(OsgiServiceProxyFactoryBean.java:141)

        at
org.springframework.osgi.web.deployer.internal.util.Utils.createServerServiceProxy(Utils.java:117)

        at
org.springframework.osgi.web.deployer.tomcat.TomcatWarDeployer.afterPropertiesSet(TomcatWarDeployer.java:90)

        at
org.springframework.osgi.web.extender.internal.activator.WarListenerConfiguration.createDefaultWarDeployer(WarListenerConfiguration.java:197)

        at
org.springframework.osgi.web.extender.internal.activator.WarListenerConfiguration.<init>(WarListenerConfiguration.java:105)

        at
org.springframework.osgi.web.extender.internal.activator.WarLoaderListener$1.run(WarLoaderListener.java:353)

        at
java.lang.Thread.run(Thread.java:619)

Caused by: java.lang.IllegalStateException: BundleContext is no longer
valid
        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.checkValid(BundleContextImpl.java:1337)

        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.getBundle(BundleContextImpl.java:196)

        at
org.ops4j.pax.logging.OSGIPaxLoggingManager.getLogger(OSGIPaxLoggingManager.java:94)

        at
org.apache.commons.logging.LogFactory.getInstance(LogFactory.java:269)

        at
org.apache.commons.logging.LogFactory.getLog(LogFactory.java:145)

        at
org.springframework.aop.framework.JdkDynamicAopProxy.<clinit>(JdkDynamicAopProxy.java:76)

        ... 15
more

org.osgi.framework.BundleException: The activator
org.springframework.osgi.web.tomcat.internal.Activator for bundle
org.springframework.osgi.catalina.start.osgi is
invalid

        at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:146)

        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:980)

        at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)

        at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:265)

        at
org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:257)

        at
org.modulefusion.dirinstaller.DirWatcher.startAllAndRefresh(DirWatcher.java:160)

        at
org.modulefusion.dirinstaller.DirWatcher.analyseNewState(DirWatcher.java:145)

        at
org.modulefusion.dirinstaller.DirWatcher.access$3(DirWatcher.java:90)

        at
org.modulefusion.dirinstaller.DirWatcher$1.run(DirWatcher.java:63)

Caused by:
java.lang.ExceptionInInitializerError

        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

        at
java.lang.reflect.Constructor.newInstance(Constructor.java:513)

        at
java.lang.Class.newInstance0(Class.java:355)

        at
java.lang.Class.newInstance(Class.java:308)

        at
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:141)

        ... 8
more

Caused by: java.lang.IllegalStateException: BundleContext is no longer
valid
        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.checkValid(BundleContextImpl.java:1337)

        at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.getBundle(BundleContextImpl.java:196)

        at
org.ops4j.pax.logging.OSGIPaxLoggingManager.getLogger(OSGIPaxLoggingManager.java:94)

        at
org.apache.commons.logging.LogFactory.getInstance(LogFactory.java:269)

        at
org.apache.commons.logging.LogFactory.getLog(LogFactory.java:145)

        at
org.springframework.osgi.web.tomcat.internal.Activator.<clinit>(Activator.java:66)

        ... 15
more

[org.springframework.beans.factory.support.DefaultListableBeanFactory] :
Creating instance of bean
'org.springframework.context.annotation.internalCommonAnnotationProcessor'

...

-- 
Best regards,
Hendy Irawan
http://hendyirawan.com/
_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to