Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[network] Binding throws java.lang.OutOfMemoryError: Java heap space on start #3145

Closed
bugariu opened this issue Jan 19, 2018 · 16 comments
Closed

Comments

@bugariu
Copy link

bugariu commented Jan 19, 2018

System:

  • CubieTruck running Debian Stretch
  • using ezdk-1.8.0_152-8.25.0.76-eval-linux_aarch32hf
  • two network cards:
    • eth0: 10.x.y.z (built-in)
    • eth1: 192.168.x.y (USB)

Changes in runtime/bin/setenv:

  • export JAVA_PERM_MEM=512M
  • export JAVA_MAX_PERM_MEM=1024M
  • export JAVA_HOME="/opt/ezdk/"

Other infos:

  • Error appeared when switching from 2.1.0 to 2.2.0.
  • Also reproducible with latest SNAPSHOT 1189.
  • When restarting system it takes up to 12 minutes to start OH2 which causes rules to not be triggered anymore.

How to reproduce:

  • make a clean manual install under /opt/openhab2
  • try to install Network Binding via PaperUI
  • it takes a few minutes with 100% CPU and logs following error under userdata/logs/openhab.log:
content of openhab.log:
--- 8< ------ 8< ------ 8< ---
2018-01-19 20:08:36.931 [ERROR] [org.openhab.binding.network         ] - [org.openhab.binding.network.internal.discovery.NetworkDiscoveryService(181)] Error during instantiation of the implementation object
java.lang.OutOfMemoryError: Java heap space
        at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68) ~[?:?]
        at java.lang.StringBuilder.<init>(StringBuilder.java:89) ~[?:?]
        at org.apache.commons.net.util.SubnetUtils.format(SubnetUtils.java:284) ~[?:?]
        at org.apache.commons.net.util.SubnetUtils.access$600(SubnetUtils.java:28) ~[?:?]
        at org.apache.commons.net.util.SubnetUtils$SubnetInfo.getAllAddresses(SubnetUtils.java:190) ~[?:?]
        at org.openhab.binding.network.internal.utils.NetworkUtils.getNetworkIPs(NetworkUtils.java:130) ~[?:?]
        at org.openhab.binding.network.internal.utils.NetworkUtils.getNetworkIPs(NetworkUtils.java:113) ~[?:?]
        at org.openhab.binding.network.internal.discovery.NetworkDiscoveryService.<init>(NetworkDiscoveryService.java:67) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:?]
        at java.lang.Class.newInstance(Class.java:442) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823) ~[?:?]
        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) ~[?:?]
        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:496) ~[?:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?]
        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) ~[?:?]
2018-01-19 20:08:37.208 [WARN ] [org.openhab.binding.network         ] - FrameworkEvent WARNING - org.openhab.binding.network
org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) ~[?:?]
        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:496) ~[?:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?]
        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:915) ~[?:?]
        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:464) ~[?:?]
        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.apache.felix.utils.extender.AbstractExtender.addingBundle(AbstractExtender.java:187) ~[?:?]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469) ~[?:?]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:415) ~[?:?]
        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.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?]
        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:156) ~[?:?]
        at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?]
        at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?]
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:470) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:736) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:727) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:497) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:443) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:433) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.resolveBundles(ModuleContainer.java:1299) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.resolveBundles(FeaturesServiceImpl.java:1441) ~[?:?]
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:874) ~[?:?]
        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) [?:?]
2018-01-19 20:12:07.251 [ERROR] [org.openhab.binding.network         ] - [org.openhab.binding.network.internal.discovery.NetworkDiscoveryService(181)] Error during instantiation of the implementation object
java.lang.OutOfMemoryError: Java heap space
        at org.apache.commons.net.util.SubnetUtils.format(SubnetUtils.java:284) ~[?:?]
        at org.apache.commons.net.util.SubnetUtils.access$600(SubnetUtils.java:28) ~[?:?]
        at org.apache.commons.net.util.SubnetUtils$SubnetInfo.getAllAddresses(SubnetUtils.java:190) ~[?:?]
        at org.openhab.binding.network.internal.utils.NetworkUtils.getNetworkIPs(NetworkUtils.java:130) ~[?:?]
        at org.openhab.binding.network.internal.utils.NetworkUtils.getNetworkIPs(NetworkUtils.java:113) ~[?:?]
        at org.openhab.binding.network.internal.discovery.NetworkDiscoveryService.<init>(NetworkDiscoveryService.java:67) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:?]
        at java.lang.Class.newInstance(Class.java:442) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823) ~[?:?]
        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) ~[?:?]
        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:496) ~[?:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:72) ~[?:?]
        at org.apache.felix.scr.impl.inject.BindMethod.getServiceObject(BindMethod.java:651) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2201) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1714) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:372) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291) ~[?:?]
2018-01-19 20:12:07.489 [WARN ] [org.openhab.binding.network         ] - FrameworkEvent WARNING - org.openhab.binding.network
org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object
        at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) ~[?:?]
        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:496) ~[?:?]
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:72) ~[?:?]
        at org.apache.felix.scr.impl.inject.BindMethod.getServiceObject(BindMethod.java:651) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2201) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1714) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1699) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:372) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:320) ~[?:?]
        at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:291) ~[?:?]
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215) ~[?:?]
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136) ~[?:?]
        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945) ~[?:?]
        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881) ~[?:?]
        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) ~[?:?]
        at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127) ~[?:?]
        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?]
        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:464) ~[?:?]
        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.apache.felix.utils.extender.AbstractExtender.addingBundle(AbstractExtender.java:187) ~[?:?]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469) ~[?:?]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:415) ~[?:?]
        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.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?]
        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:156) ~[?:?]
        at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?]
        at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?]
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:470) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:736) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:727) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:497) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:443) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:433) ~[?:?]
        at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.resolveBundles(ModuleContainer.java:1299) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.resolveBundles(FeaturesServiceImpl.java:1441) ~[?:?]
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:874) ~[?:?]
        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) [?:?]
2018-01-19 20:15:54.082 [ERROR] [org.openhab.binding.network         ] - [org.openhab.binding.network.internal.discovery.NetworkDiscoveryService(181)] Error during instantiation of the implementation object
java.lang.OutOfMemoryError: Java heap space
        at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68) ~[?:?]
        at java.lang.StringBuilder.<init>(StringBuilder.java:89) ~[?:?]
        at org.apache.commons.net.util.SubnetUtils.format(SubnetUtils.java:284) ~[?:?]
        at org.apache.commons.net.util.SubnetUtils.access$600(SubnetUtils.java:28) ~[?:?]
        at org.apache.commons.net.util.SubnetUtils$SubnetInfo.getAllAddresses(SubnetUtils.java:190) ~[?:?]
        at org.openhab.binding.network.internal.utils.NetworkUtils.getNetworkIPs(NetworkUtils.java:130) ~[?:?]
        at org.openhab.binding.network.internal.utils.NetworkUtils.getNetworkIPs(NetworkUtils.java:113) ~[?:?]
        at org.openhab.binding.network.internal.discovery.NetworkDiscoveryService.<init>(NetworkDiscoveryService.java:67) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:?]
        at java.lang.Class.newInstance(Class.java:442) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) ~[?:?]
        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) ~[?:?]
        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:749) ~[?:?]
        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.apache.felix.utils.extender.AbstractExtender.addingBundle(AbstractExtender.java:187) ~[?:?]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469) ~[?:?]
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:415) ~[?:?]
        at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?]
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]


--- 8< ------ 8< ------ 8< ---
  • edit: added network card info
@cytrus77
Copy link

I have the same issue on ARM Ubuntu.
OH installed using apt-get - repo stable.

@lemval
Copy link

lemval commented Feb 24, 2018

Encountered the same problem. Fixed it by correcting the entry in dhcpcd.conf.
The static ip_address was missing the subnet mask.
Was: static ip_address=10.0.1.5
Now: static ip_address=10.0.1.5/24

Some process (presumably installing pi-hole) had added those entries wrong.

Hope this helps others.

@BOFH90
Copy link

BOFH90 commented Jul 2, 2018

Same here with 2.3.0 and Debian on X64. Got the issue after Upgrading.
Openhab2-VM got a static IP via /etc/network/interfaces.

@cytrus77
Copy link

I found out that in my case installed hamachi is a cause of the issue.
I still don't know how to fix that, but after hamachi uninstallation everything is working fine with network binding.

@bugariu
Copy link
Author

bugariu commented Aug 13, 2018

@cytrus77 I can reproduce it on a clean install with only network binding.
@lemval I'm running it on the machine that's also the dhcp server. Netmask is set as described in e.g. https://www.isc.org/wp-content/uploads/2017/08/dhcp41conf.html

@wborn wborn changed the title [Network Binding] Binding throws java.lang.OutOfMemoryError: Java heap space on start [Network] Binding throws java.lang.OutOfMemoryError: Java heap space on start Dec 15, 2018
@wborn wborn changed the title [Network] Binding throws java.lang.OutOfMemoryError: Java heap space on start [network] Binding throws java.lang.OutOfMemoryError: Java heap space on start Dec 20, 2018
@J-N-K
Copy link
Member

J-N-K commented Jan 27, 2019

I can‘t reproduce that. Is that still an issue with latest master?

@bugariu
Copy link
Author

bugariu commented Jan 30, 2019

I don't know. I would try to test this on weekend and give you some feedback. Maybe one of the other affected users can give some feedback more quickly?

@bugariu
Copy link
Author

bugariu commented Jan 30, 2019

I just saw 2.4 was released a few days ago. I'll try next days and give feedback.

@bugariu
Copy link
Author

bugariu commented Feb 2, 2019

Issue still there after update to 2.4.0 (manually done by ./runtime/bin/update 2.4.0)

@J-N-K
Copy link
Member

J-N-K commented Feb 2, 2019

Good. Or not so good, but at least you can reproduce it. I‘ll provide a special version with more debugging to find out what’s going wrong there.

@J-N-K
Copy link
Member

J-N-K commented Feb 2, 2019

Please try this version. You should see some "INFO" messages when starting the discovery service. Could you please post these? You can delete all IPv6-entries. Thanks

@bugariu
Copy link
Author

bugariu commented Feb 2, 2019

OK, I'll give it a try with a clean install.

@bugariu
Copy link
Author

bugariu commented Feb 5, 2019

@J-N-K How exactly should I test it?

@J-N-K
Copy link
Member

J-N-K commented Feb 5, 2019

@bugariu: uninstall the binding from PaperUI or from addons.cfg. Drop the file in you addons-folder (/usr/share/openhab2/addons on most Unix-like systems).

But maybe we can take a short-cut. What CIDR suffix is configured (or what netmask?). I guess the OOM occurs when OH tries to construct too many address entries.

@bugariu
Copy link
Author

bugariu commented Feb 6, 2019

One of the interfaces had an netmask of 255.0.0.0 Changing it to 255.255.255.0 seems to resolve the issue. So it seems that the bug is triggered by the netmask. This would correlate with what @lemval said in his post.

So if you try to fix it, just set the netmask to 255.0.0.0 and see if this triggers reported behaviour.
I'll try to see if new netmask has any disadvantages for me.

@cweitkamp cweitkamp added the PR pending There is a pull request for resolving the issue label Feb 7, 2019
@J-N-K
Copy link
Member

J-N-K commented Feb 7, 2019

I could reproduce the bug with a /8 network.

@wborn wborn removed PR pending There is a pull request for resolving the issue labels Mar 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants