[SOLVED] Astro binding throws XML parsing error at initialization

Right after starting OH, three warnings are thrown by the Astro binding:

2018-10-14 12:28:00.023 [WARN ] [ig.xml.osgi.XmlDocumentBundleTracker] - The XML document '/ESH-INF/thing/sun.xml' in module 'org.eclipse.smarthome.binding.astro' could not be parsed: The XmlConfigDescriptionProvider must not be null!
java.lang.IllegalArgumentException: The XmlConfigDescriptionProvider must not be null!
	at org.eclipse.smarthome.core.thing.xml.internal.ThingTypeXmlProvider.<init>(ThingTypeXmlProvider.java:81) ~[?:?]
	at org.eclipse.smarthome.core.thing.xml.internal.XmlThingTypeProvider.createDocumentProvider(XmlThingTypeProvider.java:163) ~[?:?]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.acquireXmlDocumentProvider(XmlDocumentBundleTracker.java:180) ~[100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.addingObject(XmlDocumentBundleTracker.java:205) ~[100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.parseDocuments(XmlDocumentBundleTracker.java:351) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.processBundle(XmlDocumentBundleTracker.java:337) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.access$4(XmlDocumentBundleTracker.java:332) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker$2.run(XmlDocumentBundleTracker.java:307) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
	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-10-14 12:28:00.136 [WARN ] [ig.xml.osgi.XmlDocumentBundleTracker] - The XML document '/ESH-INF/thing/moon.xml' in module 'org.eclipse.smarthome.binding.astro' could not be parsed: The XmlConfigDescriptionProvider must not be null!
java.lang.IllegalArgumentException: The XmlConfigDescriptionProvider must not be null!
	at org.eclipse.smarthome.core.thing.xml.internal.ThingTypeXmlProvider.<init>(ThingTypeXmlProvider.java:81) ~[?:?]
	at org.eclipse.smarthome.core.thing.xml.internal.XmlThingTypeProvider.createDocumentProvider(XmlThingTypeProvider.java:163) ~[?:?]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.acquireXmlDocumentProvider(XmlDocumentBundleTracker.java:180) ~[100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.addingObject(XmlDocumentBundleTracker.java:205) ~[100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.parseDocuments(XmlDocumentBundleTracker.java:351) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.processBundle(XmlDocumentBundleTracker.java:337) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.access$4(XmlDocumentBundleTracker.java:332) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker$2.run(XmlDocumentBundleTracker.java:307) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
	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-10-14 12:28:00.249 [WARN ] [ig.xml.osgi.XmlDocumentBundleTracker] - The XML document '/ESH-INF/thing/channels.xml' in module 'org.eclipse.smarthome.binding.astro' could not be parsed: The XmlConfigDescriptionProvider must not be null!
java.lang.IllegalArgumentException: The XmlConfigDescriptionProvider must not be null!
	at org.eclipse.smarthome.core.thing.xml.internal.ThingTypeXmlProvider.<init>(ThingTypeXmlProvider.java:81) ~[?:?]
	at org.eclipse.smarthome.core.thing.xml.internal.XmlThingTypeProvider.createDocumentProvider(XmlThingTypeProvider.java:163) ~[?:?]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.acquireXmlDocumentProvider(XmlDocumentBundleTracker.java:180) ~[100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.addingObject(XmlDocumentBundleTracker.java:205) ~[100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.parseDocuments(XmlDocumentBundleTracker.java:351) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.processBundle(XmlDocumentBundleTracker.java:337) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker.access$4(XmlDocumentBundleTracker.java:332) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at org.eclipse.smarthome.config.xml.osgi.XmlDocumentBundleTracker$2.run(XmlDocumentBundleTracker.java:307) [100:org.eclipse.smarthome.config.xml:0.10.0.201809271800]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
	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) [?:?]

As I really hate unexplained messages in logging, I wonder what causes this. I already uninstalled and reinstalled the binding.
The thing configuration is as simple as can be:

astro:sun:home [ geolocation="51.XXX123,4.XXX553", interval=300]
astro:moon:home [ geolocation="51.XXX123,4.XXX553", interval=300]

(replaced numbers with X for privacy reasons)

I run OH 2.4.0-SNAPSHOT Build #1379.

Did you try clearing the cache?

No (I will put that on my ‘first things to try’ list in case of issues), but after two reboots (for other reasons), the error is gone.

The only reason I can think of is the network configuration change. Because OH/ESH is not able to bind to a specified IP address (only subnet), and OH did bind to the wrong interface (which had no default gateway), I temporarily disabled the other NIC and that made OH bind to the other interface (with default gateway)…

This will be fixed in the next ESH stable release.

1 Like