Hello everybody,

Since I'm using felix with lot of bundle, sometimes I've got a rare bug, but I was never able to reproduct him. But yesterday I've finally caught it. According to the stack trace, I think that is a synchronization issue : Here two services are registred at same time from two differents threads (configuration admin update thread and bundle initialisation thread), but when firing event to ServiceListener, the same filter is evaluated by the two threads at same time, resulting in errors (but as you can see the filter is correct)

I'm sorry for the few informations avalaible but it's an occasional problem and I can't easily debug it.

SEVERE: ERROR : FilterImpl: (&(objectClass=fr.u_strasbg.clarinet.stork.service.cli.CLICommandContextService)(Context=ShellConf)) org.apache.felix.log.impl.LogException: org.apache.felix.framework.util.ldap.EvaluationException: Evaluation.evalute: final stack has more than one result at org.apache.felix.framework.util.ldap.Evaluator.evaluate(Evaluator.java:128)
        at org.apache.felix.framework.FilterImpl.match(FilterImpl.java:167)
at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:717) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:593) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:525)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3510)
        at org.apache.felix.framework.Felix.access$000(Felix.java:36)
        at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:576)
at org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:435) at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:71)
        at org.apache.felix.framework.Felix.registerService(Felix.java:2637)
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:232) at org.apache.felix.dependencymanager.ServiceImpl.registerService(ServiceImpl.java:610) at org.apache.felix.dependencymanager.ServiceImpl.activateService(ServiceImpl.java:408) at org.apache.felix.dependencymanager.ServiceImpl.access$000(ServiceImpl.java:41) at org.apache.felix.dependencymanager.ServiceImpl$3.run(ServiceImpl.java:110) at org.apache.felix.dependencymanager.SerialExecutor$1.run(SerialExecutor.java:29) at org.apache.felix.dependencymanager.SerialExecutor.scheduleNext(SerialExecutor.java:66) at org.apache.felix.dependencymanager.SerialExecutor.execute(SerialExecutor.java:50) at org.apache.felix.dependencymanager.ServiceImpl.calculateStateChanges(ServiceImpl.java:132) at org.apache.felix.dependencymanager.ServiceImpl.start(ServiceImpl.java:241) at org.apache.felix.dependencymanager.DependencyManager.add(DependencyManager.java:53) at fr.u_strasbg.clarinet.stork.impl.deviceconfig.ethernet.EthernetDeviceCategoryServiceImpl.deviceExist(EthernetDeviceCategoryServiceImpl.java:250) at fr.u_strasbg.clarinet.stork.impl.deviceconfig.ethernet.EthernetDeviceCategoryServiceImpl.addDevice(EthernetDeviceCategoryServiceImpl.java:203) at fr.u_strasbg.clarinet.stork.impl.deviceconfig.vlan.VlanFactoryServiceImpl.createVlan(VlanFactoryServiceImpl.java:279) at fr.u_strasbg.clarinet.stork.impl.deviceconfig.vlan.VlanFactoryServiceImpl.updated(VlanFactoryServiceImpl.java:197) at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:975)
        at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:89)
Jul 30, 2007 4:59:48 PM fr.u_strasbg.clarinet.stork.utils.common.APLogger error SEVERE: ERROR : FilterImpl: (&(objectClass=fr.u_strasbg.clarinet.stork.service.cli.CLICommandContextService)(Context=ShellConf)) org.apache.felix.log.impl.LogException: org.apache.felix.framework.util.ldap.EvaluationException: AND: too few operands at org.apache.felix.framework.util.ldap.Parser.fewOperands(Parser.java:1710)
        at 
org.apache.felix.framework.util.ldap.Parser.access$000(Parser.java:27)
at org.apache.felix.framework.util.ldap.Parser$AndOperator.execute(Parser.java:545) at org.apache.felix.framework.util.ldap.Evaluator.evaluate(Evaluator.java:92)
        at org.apache.felix.framework.FilterImpl.match(FilterImpl.java:167)
at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:717) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:593) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:525)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3510)
        at org.apache.felix.framework.Felix.access$000(Felix.java:36)
        at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:576)
at org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:435) at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:71)
        at org.apache.felix.framework.Felix.registerService(Felix.java:2637)
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:232) at org.apache.felix.dependencymanager.ServiceImpl.registerService(ServiceImpl.java:610) at org.apache.felix.dependencymanager.ServiceImpl.activateService(ServiceImpl.java:408) at org.apache.felix.dependencymanager.ServiceImpl.access$000(ServiceImpl.java:41) at org.apache.felix.dependencymanager.ServiceImpl$1.run(ServiceImpl.java:98) at org.apache.felix.dependencymanager.SerialExecutor$1.run(SerialExecutor.java:29) at org.apache.felix.dependencymanager.SerialExecutor.scheduleNext(SerialExecutor.java:66) at org.apache.felix.dependencymanager.SerialExecutor.access$000(SerialExecutor.java:15) at org.apache.felix.dependencymanager.SerialExecutor$1.run(SerialExecutor.java:32) at org.apache.felix.dependencymanager.SerialExecutor.scheduleNext(SerialExecutor.java:66) at org.apache.felix.dependencymanager.SerialExecutor.execute(SerialExecutor.java:50) at org.apache.felix.dependencymanager.ServiceImpl.calculateStateChanges(ServiceImpl.java:132) at org.apache.felix.dependencymanager.ServiceImpl.start(ServiceImpl.java:241) at org.apache.felix.dependencymanager.DependencyManager.add(DependencyManager.java:53) at fr.u_strasbg.clarinet.stork.impl.deviceconfig.vlan.VlanDeviceActivator.init(VlanDeviceActivator.java:80) at org.apache.felix.dependencymanager.DependencyActivatorBase.start(DependencyActivatorBase.java:74) at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
        at org.apache.felix.framework.Felix._startBundle(Felix.java:1535)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1469)
at org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:1064)
        at 
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:258)
        at java.lang.Thread.run(Unknown Source)


Tom

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to