[Solved] Suddenly my openhab.cfg can't be read

I’ve been working with OH for about a week and all was well until yesterday I noticed I couldn’t connect to my.oopenhab.org and reach my install. I started looking at the log file and noticed that it was complaining about not being able to read my openhab.cfg. It’s very odd as I’ve been editing this file for days and suddenly I’m getting this error. I checked the permissions on the file and opened the file by copy/paste the path listed below into my texteditor (Notepad++). I’ve also tried encoding the file in dos and unix format . The file is definitely there but for whatever reason it’s saying it can’t find it. I just don’t understand. This was working great now suddenly this:

07:57:33.247 [DEBUG] [o.config.core.ConfigDispatcher:146 ] - Processing openHAB default configuration file ‘C:\openhab\configurations\openhab_default.cfg’.
07:57:33.251 [DEBUG] [o.config.core.ConfigDispatcher:168 ] - Processing openHAB main configuration file ‘C:\openhab\configurations\openhab.cfg’.
07:57:33.381 [ERROR] [o.config.core.ConfigDispatcher:174 ] - Main openHAB configuration file ‘configurations/openhab.cfg’ cannot be read.
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method) ~[na:1.8.0_60]
at java.io.File.createNewFile(File.java:1012) ~[na:1.8.0_60]
at org.eclipse.equinox.internal.cm.ConfigurationStore.writeConfigurationFile(ConfigurationStore.java:112) ~[na:na]
at org.eclipse.equinox.internal.cm.ConfigurationStore$1.run(ConfigurationStore.java:99) ~[na:na]
at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_60]
at org.eclipse.equinox.internal.cm.ConfigurationStore.saveConfiguration(ConfigurationStore.java:97) ~[na:na]
at org.eclipse.equinox.internal.cm.ConfigurationImpl.update(ConfigurationImpl.java:255) ~[na:na]
at org.openhab.config.core.ConfigDispatcher.processConfigFile(ConfigDispatcher.java:212) [org.openhab.config.core_1.8.3.jar:na]
at org.openhab.config.core.ConfigDispatcher.initializeMainConfiguration(ConfigDispatcher.java:169) [org.openhab.config.core_1.8.3.jar:na]
at org.openhab.config.core.ConfigDispatcher.initializeBundleConfigurations(ConfigDispatcher.java:139) [org.openhab.config.core_1.8.3.jar:na]
at org.openhab.config.core.ConfigDispatcher.activate(ConfigDispatcher.java:99) [org.openhab.config.core_1.8.3.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_60]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60]
at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:235) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.ServiceReg.getService(ServiceReg.java:53) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.osgi.internal.serviceregistry.ServiceUse$1.run(ServiceUse.java:141) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_60]
at org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(ServiceUse.java:139) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:468) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:467) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:594) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.equinox.internal.cm.ManagedServiceTracker.addingService(ManagedServiceTracker.java:65) [org.eclipse.equinox.cm_1.0.400.v20120522-1841.jar:na]
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) [org.eclipse.osgi_3.8.2.v20130124-134944.jar:na]
at org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:260) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) [org.eclipse.equinox.ds_1.4.1.v20120926-201320.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]

Does anyone have a clue as to what’s going on? Thanks!

Is this happening on an openhab restart, or continuously?

I figured it out and it was a really bonehead mistake on my part. I used the wrong comment character and I guess OH had a hard time parsing the file because of it. I used ‘//’ instead of ‘#’. I find it odd that the error was worded the way it is, but I guess I can see what it’s saying now that I know what the problem is. I think a better error would have been ‘Error parsing openhab.cfg’ . Lesson learned.

That’s strange: I always use // for comments and to comment out my test rules and openHAB never complained about it …
Edit: and when you use the designer (or eclispe smarthome) to “toggle comment” it also inserts //

Well I’m not sure what’s going on then. I can say, though, that things started working when I removed those from the openhab.cfg … I don’t see any // or /* */ style comments in the openhab.cfg file. Can you confirm that you have those in yours?

Disregard everything I said before :sunglasses:

I was looking into my rules, not into the openhab.cfg. I should have concentrated on what you are writing, sorry.