I also had some small issues with my org.openhab.addons.cfg, from version 2.2 1068 +/- I had a file with quoted values but somehow it got messed up by new version and looked like
After installing the last two transformations, so we might need to address this with command line fu in our upgrade script, it does not seem create the mess in this release but it did become more sensitive to it, it seems.
However no B"true" for me
But my docker (production) is happily up and running
Did anyone find a way how to force a corrupted org.openhab.addons.cfg file? Iād need to find such a way in order to properly analyse and debug the issueā¦
For what itās worth, I just upgraded von stable to 2.2.0-Snapshot Build #1094 via ~/openhabian-config and my configuration isnāt corrupt, everything works fine.
@Kai I installed build 1096, and Iām seeing a lot of these in my log. They seem to occur when Iām in vscode mousing over different parts of a rule. I havenāt been able to sort out the exact behavior that causes it, however.
2017-11-24 21:49:27.451 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 17
2017-11-24 21:49:30.863 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 21
2017-11-24 21:49:36.926 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 27
2017-11-24 21:49:39.066 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 29
2017-11-24 21:49:51.675 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 39
2017-11-24 21:50:07.464 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 46
2017-11-24 21:50:12.127 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 50
2017-11-24 21:50:17.225 [WARN ] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Unmatched cancel notification for request id 55
I also saw this while using vscode, but again Iām not quite sure what I did that caused it.
2017-11-24 21:48:54.606 [ERROR] [eclipse.lsp4j.jsonrpc.RemoteEndpoint] - Internal error: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassReader
java.util.concurrent.CompletionException: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassReader
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) [?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) [?:?]
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:604) [?:?]
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) [?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) [?:?]
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: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassReader
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201) ~[?:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:3937) ~[?:?]
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.getDescriptors(ClasspathScanner.java:85) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getBootClasspathDescriptors$2(ClasspathScanner.java:99) ~[?:?]
at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42) ~[?:?]
at com.google.common.collect.Iterators$8.transform(Iterators.java:799) ~[?:?]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
at com.google.common.collect.Iterators$5.hasNext(Iterators.java:548) ~[?:?]
at com.google.common.collect.Iterators$5.hasNext(Iterators.java:547) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.ClasspathBasedIdeTypesProposalProvider.createTypeProposals(ClasspathBasedIdeTypesProposalProvider.java:77) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:411) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:407) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider._createProposals(XbaseIdeContentProposalProvider.java:204) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.createProposals(XbaseIdeContentProposalProvider.java:641) ~[?:?]
at org.eclipse.xtext.ide.editor.contentassist.IdeContentProposalProvider.createProposals(IdeContentProposalProvider.java:94) ~[?:?]
at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createProposals(ContentAssistService.java:108) ~[?:?]
at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createCompletionList(ContentAssistService.java:73) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$14(LanguageServerImpl.java:425) ~[?:?]
at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:234) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.completion(LanguageServerImpl.java:427) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$13(LanguageServerImpl.java:406) ~[?:?]
at org.eclipse.xtext.ide.server.concurrent.RequestManager.lambda$runRead$2(RequestManager.java:116) ~[?:?]
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:?]
... 5 more
Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassReader
at org.eclipse.xtext.xbase.ide.types.ClasspathTypeDescriptor.forJarEntry(ClasspathTypeDescriptor.java:150) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.loadJarDescriptors(ClasspathScanner.java:229) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.loadDescriptors(ClasspathScanner.java:154) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getDescriptors$1(ClasspathScanner.java:83) ~[?:?]
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4742) ~[?:?]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) ~[?:?]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) ~[?:?]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) ~[?:?]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) ~[?:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:3937) ~[?:?]
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.getDescriptors(ClasspathScanner.java:85) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getBootClasspathDescriptors$2(ClasspathScanner.java:99) ~[?:?]
at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42) ~[?:?]
at com.google.common.collect.Iterators$8.transform(Iterators.java:799) ~[?:?]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
at com.google.common.collect.Iterators$5.hasNext(Iterators.java:548) ~[?:?]
at com.google.common.collect.Iterators$5.hasNext(Iterators.java:547) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.ClasspathBasedIdeTypesProposalProvider.createTypeProposals(ClasspathBasedIdeTypesProposalProvider.java:77) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:411) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:407) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider._createProposals(XbaseIdeContentProposalProvider.java:204) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.createProposals(XbaseIdeContentProposalProvider.java:641) ~[?:?]
at org.eclipse.xtext.ide.editor.contentassist.IdeContentProposalProvider.createProposals(IdeContentProposalProvider.java:94) ~[?:?]
at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createProposals(ContentAssistService.java:108) ~[?:?]
at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createCompletionList(ContentAssistService.java:73) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$14(LanguageServerImpl.java:425) ~[?:?]
at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:234) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.completion(LanguageServerImpl.java:427) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$13(LanguageServerImpl.java:406) ~[?:?]
at org.eclipse.xtext.ide.server.concurrent.RequestManager.lambda$runRead$2(RequestManager.java:116) ~[?:?]
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:?]
... 5 more
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassReader cannot be found by org.eclipse.xtext.xbase.ide_2.12.0.v20170519-0752
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461) ~[?:?]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) ~[?:?]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) ~[?:?]
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathTypeDescriptor.forJarEntry(ClasspathTypeDescriptor.java:150) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.loadJarDescriptors(ClasspathScanner.java:229) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.loadDescriptors(ClasspathScanner.java:154) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getDescriptors$1(ClasspathScanner.java:83) ~[?:?]
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4742) ~[?:?]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) ~[?:?]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) ~[?:?]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) ~[?:?]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) ~[?:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:3937) ~[?:?]
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.getDescriptors(ClasspathScanner.java:85) ~[?:?]
at org.eclipse.xtext.xbase.ide.types.ClasspathScanner.lambda$getBootClasspathDescriptors$2(ClasspathScanner.java:99) ~[?:?]
at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42) ~[?:?]
at com.google.common.collect.Iterators$8.transform(Iterators.java:799) ~[?:?]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[?:?]
at com.google.common.collect.Iterators$5.hasNext(Iterators.java:548) ~[?:?]
at com.google.common.collect.Iterators$5.hasNext(Iterators.java:547) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.ClasspathBasedIdeTypesProposalProvider.createTypeProposals(ClasspathBasedIdeTypesProposalProvider.java:77) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:411) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.completeJavaTypes(XbaseIdeContentProposalProvider.java:407) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider._createProposals(XbaseIdeContentProposalProvider.java:204) ~[?:?]
at org.eclipse.xtext.xbase.ide.contentassist.XbaseIdeContentProposalProvider.createProposals(XbaseIdeContentProposalProvider.java:641) ~[?:?]
at org.eclipse.xtext.ide.editor.contentassist.IdeContentProposalProvider.createProposals(IdeContentProposalProvider.java:94) ~[?:?]
at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createProposals(ContentAssistService.java:108) ~[?:?]
at org.eclipse.xtext.ide.server.contentassist.ContentAssistService.createCompletionList(ContentAssistService.java:73) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$14(LanguageServerImpl.java:425) ~[?:?]
at org.eclipse.xtext.ide.server.WorkspaceManager.doRead(WorkspaceManager.java:234) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.completion(LanguageServerImpl.java:427) ~[?:?]
at org.eclipse.xtext.ide.server.LanguageServerImpl.lambda$completion$13(LanguageServerImpl.java:406) ~[?:?]
at org.eclipse.xtext.ide.server.concurrent.RequestManager.lambda$runRead$2(RequestManager.java:116) ~[?:?]
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:?]
... 5 more
And this one whenever I close vscode.
2017-11-24 22:10:54.900 [ERROR] [nrpc.json.ConcurrentMessageProcessor] - java.net.SocketException: Connection reset
java.lang.RuntimeException: java.net.SocketException: Connection reset
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:103) [106:org.eclipse.lsp4j.jsonrpc:0.2.1.v20170706-0855]
at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:84) [106:org.eclipse.lsp4j.jsonrpc:0.2.1.v20170706-0855]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
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.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:224) ~[?:?]
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:61) ~[?:?]
... 6 more
More concerning is that all my squeezebox, globalcache, and bigassfan things came up uninitialized. The bindings appear to be installed and running.
My experience from todayās upgrade was a smooth one (no issues to report)
From: openHAB2 2.2.0 Snapshot Build #1082 (2.2.0~20171116035510) based on Karaf 4.1.2
To: openHAB2 2.2.0 Snapshot Build #1096 (2.2.0~20171125002051) based on Karaf 4.1.3
All tested and working fine (knx, mqtt, astro, mail, pushover, mapdb, influxdb, homekit, weather, nuts)
I will check the Language Server stuff (LSP with VSCode) and report back.
So far, so good⦠Logs are clean and system is fully functional
I installed the snapshot 1099 and this snapshot seems to be usable again and working.
I still got jetty errors but apparently they donāt break openHAB usage.
From what I read here, The āBā and quoted versions are a specific format of Felix Config Admin - which is the service that maintains our userdata/config folder, so it is absolutely correct that files in there have such a format.
Nonetheless, everything in userdata/etc are *.cfg files, which must not use this format as they are āplain OSGiā and thus normal Java property files. I would hence say that it is a bug in Karaf or FileInstall that the Felix ConfigAdmin format is used when files are written to etc. I didnāt figure out yet, why this happens though
Ideally, I would want Karaf not writing to etc at all, but only push changes to ConfigAdmin so that they end up in the config folder. I had a discussion with Karaf people a while ago and it turned out that this isnāt possible - Karaf will always write configurations that are handled through it to the cfg files.
Iāve now spent many many hours trying to get that working better, but so far without much success. Iād love to see anyone from the community helping on such things, but it seems that such technical internas are not that thrilling for anybody to dive into⦠So just as a word of warning: As long as I am alone with such stuff and have to spend complete days on it, I wonāt find time to drive anything else like feature, PR reviews, new releases, etcā¦
Quick note to everyone who is suffering from the āBlacklisting ServiceReferenceā issue - we have a new distro #1103 available that should fully solve this issue (no need for workarounds anymore, all kudos go to @sjka!).
This build also has an improved add-ons install mechanism, which hopefully reduces the situations where people see empty dashboards.
Furthermore I have changed the way the packaging configs are created, so with a bit of luck this might avoid the āadditional quotesā bug in the cfg files - letās touch wood (or better ).
I must say it was a quite cumbersome experience. After upgrading, OpenHAB was extremely slow (using all my CPU) and wouldnāt complete the installation of the UIās. I rebooted and cleared the cache several times. It didnāt work. Then I downgraded back to the previous version (apt-get install openhab2=2.2.0~20171201130444-1), that worked. Then I upgraded again, and I just gave OH 10-15 or so to āsettle downā. That seemed to work. So Iām finally up and running.
I must admit, I still have that workaround in place (org.apache.felix.eventadmin.Timeout=0), but I had my portion of OH issues for this evening (WAF dropped below zero). Iāll try to switch it off tomorrow and see what happens. Iāll share the outcome.
Upgraded an hour ago (coming from #1084), no workarounds needed anymore.
But: I had to reinstall all PaperUI configured (I am not usind the addons.cfg) bindings, actions, ā¦
Works flawlessly, no endless spinning wheels anymore, no need to reload the page. Just a simple ābinding installedā. Nice work, thanks.
It took a little while until everything settled and I too had to delete cache and tmp in between, but that was it.
Also big kudos to @sjka, thx for all your hard work.
I had to reinstall all PaperUI configured (I am not usind the addons.cfg) bindings, actions, ā¦
Didnāt it automatically re-install those? Do you still have a copy of your original userdata/etc/org.openhab.addongs.cfg file?
I too had to delete cache and tmp in between
Are you using the official upgrade script (or are you using apt)? The update script cleans the cache&tmp folders automatically and one time should definitely suffice. What effects did you have after the update that made you clean everything again?
(Although I donāt use the /service/addons.cfg since month). Timestamp org.openhab.addongs.cfg is from 20. Nov. 2017
Nope, Iām using a manual install and this time I deleted everything excluding the conf folder. So maybe the reason I had to reinstall all bindings is the fact that I deleted (on purpose) my userdata folder just to make sure I donāt keep any old files.
Ok, this explains - please use the update script in future as this has quite some logic build in on purpose. And if you use it, you can help us identify potential problems in it - if you invent your own way, you are on your own
Maybe I will try, but since migrating from 1.x to 2.x this script works well and I know what the script is doing (that is not the case for the implemented backup/restore script).
It also deletes cache and tmp during upgrading and once in a while I delete the userdata folder as well to remove any old files, especially this time where we had problems beginning with #1083 and lasting until today.