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]