[eBUS 2.0] New binding - Release Candidate 7b

I’ve used the latest Alpha 19 with openhab 2.3 successfully. Unfortunately now I have the problem that after a restart Polling does not work.

Before, I had this in the logs:

2018-06-21 16:28:02.092 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Register polling for "hwc.storage_temp" every 90 sec. (initil delay 10 sec.)
[...]
2018-06-21 16:52:16.651 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Poll command ...

Now, after a restart, it does not do this anymore. I tried to change the polling interval for the whole thing and for the channel, but nothing activates the polling anymore. Is there a way to debug this further?

Today I ve worked in this issue. I hope I can release an update tomorrow.

2 Likes

Great to hear this. Waiting impatiently for the fix (hopefully weekend will be free for testing)

Hi there,
I’m trying to get things going here. I got a eBus-WLAN bridge running and have added the alpha19 ebus addon to my OH2.3 installation.
After some time the most of my ebus devices popped up in the inbox. After adding them to the things list they seem to not work correctly:

Is there anything I can do solve this?

There are also some log entries for each “thing”:

2018-06-22 14:34:03.224 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while initializing handler of thing 'ebus:sm1:c8754a9b:76': org.openhab.binding.ebus.handler.EBusHandler.isLinked(Lorg/eclipse/smarthome/core/thing/ChannelUID;)Z
java.lang.NoSuchMethodError: org.openhab.binding.ebus.handler.EBusHandler.isLinked(Lorg/eclipse/smarthome/core/thing/ChannelUID;)Z
	at org.openhab.binding.ebus.handler.EBusHandler.initializePolling(EBusHandler.java:276) ~[?:?]
	at org.openhab.binding.ebus.handler.EBusHandler.updateHandler(EBusHandler.java:205) ~[?:?]
	at org.openhab.binding.ebus.handler.EBusHandler.initialize(EBusHandler.java:193) ~[?:?]
	at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [109:org.eclipse.smarthome.core:0.10.0.201802191927]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [109:org.eclipse.smarthome.core:0.10.0.201802191927]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]

Do you use 2.3 release or a nightly release?

I think I used the release. But it is called “2.3.0 snapshot“.
Maybe it is because I am using openhab on my synology diskstation?

You version 0.10.0.201802191927 looks liek a nightly from feb 2018, the version of a release is 0.10.0.oh230. The API has been changed later, so it could fit to your issue.

All new versions are only compatible withe openhab 2.3 release and later. In your case please update or use the last 2.2 version Alpha 18.

Hello All,

a new version is available, only for oh2.3 and newer! See first post …

I spend couple of hours to get the openhab 2.3 version running. I’m not sure why it was not working well, but I hope it is now fixed. I had some issue with .things files only, I this case the channel list was empty from time to time. Also the ebus bundle was loaded two or more times. This has maybe to do with oh cache.

Know issue:

  • Thing channel list is sometimes empty if you only use text.things files. No problem if you use paperUi.
  • .things files not recognize changes on polling times only (Workaround: Also change the thing label etc.)
  • eBUS bundle restarts after some seconds, than everything is stable

New features:

  • Add new quantity feature to change the temperatures from °C to °F
  • Polling is working again
  • Activating/Deactivating of pollings is now more dynamic.
  • Optimize type provider service start behaviour

Hello @Logos,

here is an example configuration for your telegram.

{
    "id":           "test",
    "vendor":       "Vendor Name",
    "label":        "Nice label",
    "description":  "A short description",

    "authors":      ["Christian Sowada, opensource@cs-dev.de"],
    "identification": [],

    "commands":
    [
            {
            "label":    "Boilder temperature",
            "id":       "heatpump.temp_boiler",

            "get": {
                "command":  "50 22",
                "master": [
                    {"type": "kw-crc"},
                    {"type": "static", "default": "82 30"}
                ],
                "slave": [
                    {"name": "temp_boiler", "type": "word", "label": "Boilder temperature", "factor": 0.1 , "min": 1, "max":100, "format":"%.1f°C"}
                ]
            }
        }
    ]
}

@csowada thanks for the update! Just added it, restarted openhab twice but unfortunately polling is still not working for me. I even deleted all things and readded them, but it does not work.

When I change the polling interval for the channel, it prints out to refresh all pollings in the log:

2018-06-23 23:23:00.888 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Initialize eBUS pollings for ebus:vrc700_hwc [...]

… but unfortunately there comes no Register polling for ... next.

If i change the polling for the whole thing, it adds some pollings …

2018-06-23 23:27:13.739 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Register polling for "hwc.bank_holiday_start" every 60 sec. (initil delay 25 sec.)
2018-06-23 23:27:13.740 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Register polling for "hwc.timer_mon" every 60 sec. (initil delay 24 sec.)
2018-06-23 23:27:13.741 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Register polling for "hwc.timer_sun" every 60 sec. (initil delay 6 sec.)
2018-06-23 23:27:13.743 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Register polling for "cc.timer_fri" every 60 sec. (initil delay 11 sec.)

[…]

… but the channel I want to poll (hwc.storage_temp) is not listed. Looks like the channel is broken somehow?

I also noticed that after removing all things and readding them back, all channel links to items where still present, so I assume removing the thing did not clear everything for it – so the channel did not get a “fresh start” from readding the thing which might have cleared a broken state.

And one more thing: I have a lot of these in the log …

2018-06-23 23:27:13.740 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Unable to create raw polling telegram for "hwc.timer_mon"

Not sure if it means anything for the other channels I am interested in …

Hello @doits,

is it possible that you haven’t set a valid slave address on your new created things? I’ve checked the configuration file and works fine here.

Thanks for your reply @csowada.

I just checked it, and I have a slave address 15 and master address 10 set on the thing (this was done automatically when the item was discovered I assume):

What I also noticed: If I access my heating from the official android app, it displays the hwc.storage_temp in the official android app. When this happens, the channel/item in openhab is also updated. So the binding sees the update correctly when it is broadcasted, only it cannot poll it.

It polls some channels about every 60 seconds, but not the one I am interested in :slight_smile: For example it polls …

Poll command "ebus:vrc700_hwc:xxxxxxxx:15:vrc700_hwc_hwc_timer-sat#from1" with "FF 15 B5 24 05 03 01 00 01 05 4B"

… which is from the same thing …

… but I’d actually be more interested in polling hwc.storage_temp

ebus:vrc700_hwc:xxxxxxxx:15:vrc700_hwc_hwc_storage-temp#value

… but it doesn’t poll it :frowning:

(note: I wanted to post some more screenshots here from the thing to illustrate it more but as a new user I can’t … - I just earned the right to post multiple images seconds after posting this … updated my post)

And one last more thing: When I access the addons page or the configuration --> bindings page in paper ui, it always gives me a http 500 error. It does not show addons for example.

The failing request on the addons page is to /rest/extensions for example and it responds with a NPE:

22

(I don’t see anything about this in the logs.)

Only happens when the ebus alpha binding is installed / in the addons folder. When removed, the pages work. (I’m using the kar version btw, org.openhab.binding.ebus-2.4.0-230618.kar.)

Okay, I managed to upgrade my OpenHAB installation to the latest release. I used this opportunity to also upgrade to Ebus alpha20. And now the eBus Binding works a lot smoother.

Time to start fiddling around with the configurations for my devices.
I got a Wolf setup:

  • CGB-11 Heater
  • SM “Solar modul”
  • BM “Bedienmodul”
  • MM “Mischermodul”

The SM is recognized automatically, but the other components are shown as several “eBUS Standard (xy)” components.

hello @csowada
Alpha-20 polling is working again in my installation. Thanks.

Hello @doits,

yes, I’ve seen the bug with the kar also on my productive system. This is maybe an openhab bug. The kar file uses the same three files as in the zip file. So it is only diffent kind of packaging. I’ve hoped that is only an issue on my system. I put this issue on my todo, please use the zip file instead.

Thanks, using the zip fixed a lot of things and polling works now again! So maybe it should be advised to use the zip file instead of kar until things are fixed with the kar.

I can confirm latest release works for me as expected using zip install method. Many thanks @csowada for your efforts again!

Hello@All,

I released a new Alpha 21 to fix smaller issues and the issue with the kar archives. I was able to fix the kar file bug, so all new releases are provided as kar file only. If you use the zip version, please remove the three ebus jar files and replace it with the new kar file.

I’ve also update the market place, but it looks like kar files are not supported.

Hi @csowada I tried Alpha 21. But never used a .kar file before. Is it right simple erase old .jar files and copy .kar file without unzipping in addons folder ?

It seems to run, I see the the ebus components in paperui/things. But Karaf do not know smarthome:ebus (so I cant do an update there).

Also after activation of .kar file I got lots of error massages. After some minutes those erros has stopped:

2018-06-24 21:31:54.528 [INFO ] [ding.ebus.thing.EBusTypeProviderImpl] - Loading eBUS Type Provider ...
2018-06-24 21:32:08.248 [ERROR] [org.openhab.binding.ebus            ] - FrameworkEvent ERROR - org.openhab.binding.ebus
org.osgi.framework.ServiceException: Exception in org.apache.felix.scr.impl.manager.SingleComponentManager.getService()
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:222) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) ~[?:?]
	at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?]
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?]
	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?]
	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168) ~[?:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?]
	at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1361) ~[?:?]
	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:894) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1248) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$1(FeaturesServiceImpl.java:1147) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.lang.IllegalStateException: Could not obtain lock
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainLock(AbstractComponentManager.java:231) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainStateLock(AbstractComponentManager.java:279) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.ungetService(SingleComponentManager.java:934) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:846) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?]
	... 57 more
2018-06-24 21:32:15.087 [ERROR] [org.openhab.binding.ebus            ] - FrameworkEvent ERROR - org.openhab.binding.ebus
org.osgi.framework.ServiceException: Exception in org.apache.felix.scr.impl.manager.SingleComponentManager.getService()
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:222) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:508) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624) ~[?:?]
	at org.apache.felix.metatype.internal.ManagedServiceTracker.addingService(ManagedServiceTracker.java:52) ~[?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?]
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:920) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?]
	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?]
	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168) ~[?:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?]
	at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1361) ~[?:?]
	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:894) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1248) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$1(FeaturesServiceImpl.java:1147) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.lang.IllegalStateException: Could not obtain lock
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainLock(AbstractComponentManager.java:231) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.obtainStateLock(AbstractComponentManager.java:279) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:806) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?]
	... 57 more