I have the latest snapshot of OH2 (from last night) running on an Ubuntu 14.04 VM, with the Oracle 8 java sdk. I’ve been repeatedly encountering an issue where both my items folder and my rules folder seems to stop being monitored, to the point that any items defined in a .items
file is ignored. The only way I’ve found to get things back to normal (for a period of time) is to start OH2 with an empty items folder, and then move my items file back in. All the items are loaded back correctly and everything seems to work for a while.
I have been getting this issue with previous nightlys as well.
From the logs, I think the issue may be ConcurrentModificationException
:
21:54:34.477 [ERROR] [org.apache.felix.configadmin ] - [org.osgi.service.cm.ManagedService, id=329, bundle=110/mvn:org.eclipse.smarthome.model/org.eclipse.smarthome.model.core/0.8.0-SNAPSHOT]: Unexpected problem updating configuration org.eclipse.smarthome.folder
java.util.ConcurrentModificationException
at org.eclipse.emf.common.util.AbstractEList$EIterator.checkModCount(AbstractEList.java:758)[58:org.eclipse.emf.common:2.10.1.v20150123-0348]
at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:706)[58:org.eclipse.emf.common:2.10.1.v20150123-0348]
at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:692)[58:org.eclipse.emf.common:2.10.1.v20150123-0348]
at org.eclipse.xtext.resource.SynchronizedXtextResourceSet$1$SynchronizedEIterator.next(SynchronizedXtextResourceSet.java:171)[128:org.eclipse.xtext:2.6.2.v201407030533]
at org.eclipse.xtext.resource.SynchronizedXtextResourceSet$1$SynchronizedEIterator.next(SynchronizedXtextResourceSet.java:1)[128:org.eclipse.xtext:2.6.2.v201407030533]
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:644)[18:com.google.guava:10.0.1.v201203051515]
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)[18:com.google.guava:10.0.1.v201203051515]
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)[18:com.google.guava:10.0.1.v201203051515]
at com.google.common.collect.Iterators$8.hasNext(Iterators.java:777)[18:com.google.guava:10.0.1.v201203051515]
at com.google.common.collect.Lists.newArrayList(Lists.java:138)[18:com.google.guava:10.0.1.v201203051515]
at com.google.common.collect.Lists.newArrayList(Lists.java:119)[18:com.google.guava:10.0.1.v201203051515]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.getAllModelNamesOfType(ModelRepositoryImpl.java:156)[110:org.eclipse.smarthome.model.core:0.8.0.201603141848]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.getAll(GenericItemProvider.java:123)[111:org.eclipse.smarthome.model.item:0.8.0.201603141848]
at org.eclipse.smarthome.core.internal.items.ItemRegistryImpl.allItemsChanged(ItemRegistryImpl.java:87)[92:org.eclipse.smarthome.core:0.8.0.201603141848]
at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:407)[111:org.eclipse.smarthome.model.item:0.8.0.201603141848]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:200)[110:org.eclipse.smarthome.model.core:0.8.0.201603141848]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:97)[110:org.eclipse.smarthome.model.core:0.8.0.201603141848]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:240)[110:org.eclipse.smarthome.model.core:0.8.0.201603141848]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.notifyUpdateToModelRepo(FolderObserver.java:169)[110:org.eclipse.smarthome.model.core:0.8.0.201603141848]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.updated(FolderObserver.java:150)[110:org.eclipse.smarthome.model.core:0.8.0.201603141848]
at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)[7:org.apache.felix.configadmin:1.8.8]
at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)[7:org.apache.felix.configadmin:1.8.8]
at org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)[7:org.apache.felix.configadmin:1.8.8]
at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1444)[7:org.apache.felix.configadmin:1.8.8]
at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1400)[7:org.apache.felix.configadmin:1.8.8]
at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143)[7:org.apache.felix.configadmin:1.8.8]
at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110)[7:org.apache.felix.configadmin:1.8.8]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_74]
@Kai There seems to have been a report of a bug relating to this last November https://bugs.eclipse.org/bugs/show_bug.cgi?id=479215, which was closed. Is this something that is still left to be resolved or is there any other work around?
Thanks.