openHAB 4.0 Milestone discussion

There was a change to now correctly pass the slot names down to the component. You can consider the old implementation as a bug, the new implementation is correct.

The text slot is „thrown away“ during parsing because it is only supported for media list, see the Framework7 docs: List Item Vue Component | Framework7 Vue Documentation.

The logger configuration was adjusted to suppress these events from the log, it seems that the log4j2.xml file was not updated during upgrade. You may have modified it, then apt asked if it should update it from the package maintainer and you chose the pre-selected option „Keep my version“.
You can manually updated your /var/lib/openhab/etc/log4j2.xml, you can find the 4.0.0 Milestone 2 version on GitHub: openhab-distro/distributions/openhab/src/main/resources/userdata/etc/log4j2.xml at 4.0.0.M2 · openhab/openhab-distro · GitHub.

2 Likes

Just updated… Worked before update from M1. Something changed again?

2023-04-17 16:06:20.259 [WARN ] [s.internal.SingleValueTransformation] - couldn't transform response because transformationService of type 'SCRIPT' is unavailable
2023-04-17 16:06:20.260 [WARN ] [ernal.handler.ModbusDataThingHandler] - Channel switch will not be updated since transformation was unsuccessful. Channel is expecting the following data types [OnOffType, UnDefType]. Input data: number value 0 (value type 'bit' taken into account) and bool value false. Transformation: CascadedValueTransformationImpl(SingleValueTransformation [transformation=SCRIPT:js:invertstate_read.script, transformationServiceName=SCRIPT, transformationServiceParam=js:invertstate_read.script])
2023-04-17 16:06:20.261 [WARN ] [s.internal.SingleValueTransformation] - couldn't transform response because transformationService of type 'SCRIPT' is unavailable
2023-04-17 16:06:20.262 [WARN ] [ernal.handler.ModbusDataThingHandler] - Channel switch will not be updated since transformation was unsuccessful. Channel is expecting the following data types [OnOffType, UnDefType]. Input data: number value 0 (value type 'bit' taken into account) and bool value false. Transformation: CascadedValueTransformationImpl(SingleValueTransformation [transformation=SCRIPT:js:invertstate_read.script, transformationServiceName=SCRIPT, transformationServiceParam=js:invertstate_read.script])
2023-04-17 16:06:20.565 [WARN ] [s.internal.SingleValueTransformation] - couldn't transform response because transformationService of type 'SCRIPT' is unavailable
2023-04-17 16:06:20.566 [WARN ] [ernal.handler.ModbusDataThingHandler] - Channel switch will not be updated since transformation was unsuccessful. Channel is expecting the following data types [OnOffType, UnDefType]. Input data: number value 0 (value type 'bit' taken into account) and bool value false. Transformation: CascadedValueTransformationImpl(SingleValueTransformation [transformation=SCRIPT:js:invertstate_read.script, transformationServiceName=SCRIPT, transformationServiceParam=js:invertstate_read.script])

See

The tl;dr is the rules language being used drives the service ID instead of the generic SCRIPT for all languages. You can now also use an appropriate file extension based on the language used (e.g. use mytransform.js instead of mytransform.script). Finally, there is now support for creating transformations through the UI.

3 Likes

I decided to give the latest milestone a spin by copying my OH3 docker folders and spinning up a test container and it seems blockly is broken for me. I only have the JavaScript Scripting and Jython bindings installed for automation and on both existing blockly rules which I have opened and saved as indicated in the migration instructions and new ones, anything that deals with items generates this error. Is there something else I need to do? I double checked and I don’t have anything hanging around in /addons and bundle:list only shows 4.0.0.M2 so I don’t think I have a stale binding hanging out anywhere

2023-04-17 09:25:52.951 [ERROR] [b.automation.script.javascript.stack] - Failed to execute script:

org.graalvm.polyglot.PolyglotException: ReferenceError: "itemRegistry" is not defined

	at <js>.:program(<eval>:4) ~[?:?]

	at org.graalvm.polyglot.Context.eval(Context.java:399) ~[?:?]

	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458) ~[?:?]

	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426) ~[?:?]

	at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262) ~[java.scripting:?]

<truncated for brevity>

    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[bundleFile:9.4.50.v20221201]

	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[bundleFile:9.4.50.v20221201]

	at java.lang.Thread.run(Thread.java:833) ~[?:?]

2023-04-17 09:25:52.979 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'de1c5f01ec' failed: org.graalvm.polyglot.PolyglotException: ReferenceError: "itemRegistry" is not defined

Edit: Nevermind. I restarted one more time to do something else and it seems to have fixed itself. Weird.

I tried to upgrade from a recent snapshot to M2 yesterday and it completely broke the android app’s (most recent play store version) ability to render MainUI pages (sitemaps still worked). I was getting some sort of openGL error. Rebooting OH didn’t fix the problem, force stopping the app didn’t fix the problem, rebooting the phone didn’t fix the problem. I didn’t have a ton of time to troubleshoot (which is why I don’t have the exact error logs) so I rolled back to my snapshot container for the rest of the day with the intent to troubleshoot this morning.

Booted up the M2 container this morning and everything worked flawlessly…:person_shrugging:

M2 is now the most error free 4 version I’ve tried. Now that my js profiles and transforms are all back (and UI defined no less), with the exception of two marketplace bindings that haven’t made the transition yet, I appear to have all 3.4 functionality and more. Bravo all, and thank you!

8 Likes

Having a problem with CPU pinning at 100% (and over)
Started on M1, switched to a snap shot build a week or so back then over the weekend loaded up 4.0M2
Having to restart openHAB every few hours at this point
I have read this entire thread as well as the 4.0 snapshot thread
I’ve turned off zwave nightly heal when still on M1
Last night uninstall amazon echo binding, didn’t help
This is a system upgraded from a OH3 version running Mint on a desktop PC
stats:

runtimeInfo:
  version: 4.0.0
  buildString: "Build #3416"
locale: en-US
systemInfo:
  configFolder: /etc/openhab
  userdataFolder: /var/lib/openhab
  logFolder: /var/log/openhab
  javaVersion: 17.0.6
  javaVendor: Private Build
  osName: Linux
  osVersion: 4.15.0-175-generic
  osArchitecture: amd64
  availableProcessors: 4
  freeMemory: 192426664
  totalMemory: 996147200
  startLevel: 70
bindings: null
clientInfo:
  device:
    ios: false
    android: false
    androidChrome: false
    desktop: true
    iphone: false
    ipod: false
    ipad: false
    edge: false
    ie: false
    firefox: true
    macos: false
    windows: false
    cordova: false
    phonegap: false
    electron: false
    nwjs: false
    webView: false
    webview: false
    standalone: false
    pixelRatio: 1
    prefersColorScheme: light
  isSecureContext: true
  locationbarVisible: true
  menubarVisible: true
  navigator:
    cookieEnabled: true
    deviceMemory: N/A
    hardwareConcurrency: 4
    language: en-US
    languages:
      - en-US
      - en
    onLine: true
    platform: Linux x86_64
  screen:
    width: 1366
    height: 768
    colorDepth: 24
  support:
    touch: false
    pointerEvents: true
    observer: true
    passiveListener: true
    gestures: false
    intersectionObserver: true
  themeOptions:
    dark: dark
    filled: true
    pageTransitionAnimation: default
    bars: light
    homeNavbar: default
    homeBackground: standard
    expandableCardAnimation: default
  userAgent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/112.0
timestamp: 2023-04-18T11:36:36.666Z

When it does that, use top -H -p <pid of openHAB > so you can see which thread is consuming all the CPU.

I’ve updated from 4.0 M1 → M2 and now I’m seeing a bunch of logs for a bunch of items updating state even though the state hasn’t changed. Is this related to that log4j2.xml update? I did have a customized log4j2.xml file and kept my original version.

Heading over there to check in a bit, just saw the logs during a quick check from my phone.

Logged item changes seem to be my Powerview blinds, LED Lights and phone presence.

2 Likes

Heh, yup, I’ve got the same problem. Diffing against what apt would have installed, these new lines look very important:

               <Logger level="ERROR" name="openhab.event.ItemStateUpdatedEvent"/>
               <Logger level="ERROR" name="openhab.event.GroupStateUpdatedEvent"/>

Adding them manually fixed it.

5 Likes

That did it, thanks!

ok, thanks for the tip. About ten hours running and all is normal

So i have also thought that 4.x builds have been extra “chatty” with item update events across a wide variety of items. I hesitated to mention anything as i believed most of this is from bindings polling, and updating channels at regular intervals (even though the values are the same), but i don’t remember seeing this volume of updates in the logs before. Also these updates then trigger Group updates, which compound the events, but again, maybe this is normal and i just did not notice it before?

EDIT
Missed @ccutrer post, this seems like my issue exactly. Thanks!

I didn’t follow the PR closely but two new Item events were created: ItemStateUpdatedEvent and GroupStateUpdatedEvent which were needed to better support UoM in events (only the Item knows what the UoM is supposed to be so the event needs to come from the Item) and provide a unique event to distinguish between ItemStateEvent which is telling an Item to change state and ItemStateUpdatedEvent which is the Item announcing it changed state. PR is Add ItemStateUpdatedEvent and enable group channel-links by J-N-K · Pull Request #3141 · openhab/openhab-core · GitHub.

But of course, if you keep your old log4j2.xml file after upgrading, the two new statements needed to suppress these new events in events.log will be missing.

Note, for particularly advanced rules writers, I believe that rules now trigger on the ItemStateUpdateEvent instead of ItemStateEvent so if you have a rule that does checks for the type of the event that triggered it you may need to make changes to your rule. For example, I had to add ItemStateUpdatedEvent to https://community.openhab.org/t/threshold-alert-and-open-reminder-4-0-0-0-4-1-0-0/144863:

...
//~~~~~~~~~~~~~ Body
// If triggered by anything other than an Item event, check the config
// Otherwise process the event to see if alerting is required
if(this.event === undefined) {
  console.debug('Rule triggered without an event, checking config.');
  init();
}
else {
  switch(event.type) {
    case 'ItemStateEvent':
    case 'ItemStateChangedEvent':
    case 'ItemStateUpdatedEvent':
      console.loggerName = loggerBase+'.'+event.itemName;
      console.debug('Processing an Item event');
      procEvent(event.itemName, stateToValue(event.itemState));
      break;
    default:
      console.debug('Rule triggered without an Item event, checking the rule config');
      cache.private.clear();
      init();
  }
}

I need to consider if I need to add GroupStateUpdatedEvent as well in case users of the template want to change the rule trigger.

so it ran away again
Here is result of top -H -p <pid of openHAB >:

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
22366 openhab   20   0 6331156 1.929g  24160 R 99.9 25.3 686:26.25 safeCall-queue                               
13386 openhab   20   0 6331156 1.929g  24160 S  0.3 25.3   1:04.75 OH-httpClient-c                              
13428 openhab   20   0 6331156 1.929g  24160 S  0.3 25.3   0:48.27 OH-usb-serial-d                              
13514 openhab   20   0 6331156 1.929g  24160 S  0.3 25.3   2:24.84 RXTXPortMonitor                              
13556 openhab   20   0 6331156 1.929g  24160 S  0.3 25.3   0:32.60 ZWaveReceiveInp                              
12869 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:00.00 java                                         
13022 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:00.58 java                                         
13023 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:04.63 GC Thread#0                                  
13024 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:00.01 G1 Main Marker                               
13025 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:01.12 G1 Conc#0                                    
13026 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:00.14 G1 Refine#0                                  
13027 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:41.21 G1 Service                                   
13028 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:04.58 VM Thread                                    
13029 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:00.06 Reference Handl                              
13030 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:00.02 Finalizer                                    
13031 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:00.00 Signal Dispatch                              
13032 openhab   20   0 6331156 1.929g  24160 S  0.0 25.3   0:01.63 Service Thread 

obviously safeCall-queue thread is pinning it
hope this helps somebody because I don’t have a clue

After updating I have some trouble with the marketplace too. Leading to eating up a lot of RAM & CPU, mostly freezed Main UI and (at least) the presistance is not working due to this.
the bundle id mentioned in the log is the marketplace itself.
Does anyone know what is going wrong here?
bundle:list:
151 │ Waiting │ 80 │ 4.0.0.M2 │ openHAB Core :: Bundles :: Marketplace Add-on Services

log:

2023-04-20 15:16:50.153 [ERROR] [ity.CommunityMarketplaceAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.M2 (151)[org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService(49)] : Error during instantiation of the implementation object

java.lang.reflect.InvocationTargetException: null

	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]

	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]

	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]

	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]

	at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]

	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920) ~[?:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220) ~[org.eclipse.osgi-3.18.0.jar:?]

	at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:118) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:547) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:534) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88) ~[?:?]

	at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2612) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2078) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2061) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:336) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]

	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]

	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]

	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]

	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]

	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]

	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]

	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) ~[?:?]

	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) ~[?:?]

	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) ~[?:?]

	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) ~[?:?]

	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) ~[?:?]

	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]

	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]

	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]

	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-8.0.0.jar:?]

	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-8.0.0.jar:?]

	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-8.0.0.jar:?]

	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-8.0.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) ~[org.eclipse.osgi-3.18.0.jar:?]

Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 5662 path $.countries

	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:270) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]

	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]

	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]

	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]

	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]

	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]

	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]

	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]

	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]

	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]

	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]

	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]

	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]

	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]

	... 101 more

Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 5662 path $.countries

	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]

	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]

	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]

	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]

	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]

	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]

	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]

	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]

	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]

	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]

	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]

	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]

	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]

	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]

	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]

	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]

	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]

	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]

	... 101 more

2023-04-20 15:16:50.180 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.0.0.M2 (177)[org.openhab.core.io.rest.core.internal.addons.AddonResource(165)] : Could not get service from ref {org.openhab.core.addon.AddonService}={service.id=354, service.bundleid=151, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), showUnpublished=false, component.name=org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService, service.config.label=Community Marketplace, component.id=49, service.config.factory=false, service.config.category=system, service.config.description.uri=system:marketplace, service.pid=[org.openhab.marketplace, org.openhab.marketplace], enable=true}

2023-04-20 15:16:50.181 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.0.0.M2 (177)[org.openhab.core.io.rest.core.internal.addons.AddonResource(165)] : DependencyManager : invokeBindMethod : Service not available from service registry for ServiceReference {org.openhab.core.addon.AddonService}={service.id=354, service.bundleid=151, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), showUnpublished=false, component.name=org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService, service.config.label=Community Marketplace, component.id=49, service.config.factory=false, service.config.category=system, service.config.description.uri=system:marketplace, service.pid=[org.openhab.marketplace, org.openhab.marketplace], enable=true} for reference AddonService

2023-04-20 15:16:50.189 [ERROR] [ity.CommunityMarketplaceAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.M2 (151)[org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService(49)] : Error during instantiation of the implementation object

java.lang.reflect.InvocationTargetException: null

	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]

	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]

	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]

	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]

	at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]

	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:776) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) ~[?:?]

	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]

	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]

	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]

	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]

	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]

	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) ~[?:?]

	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) ~[?:?]

	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) ~[?:?]

	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) ~[?:?]

	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) ~[?:?]

	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]

	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]

	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]

	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-8.0.0.jar:?]

	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-8.0.0.jar:?]

	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-8.0.0.jar:?]

	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-8.0.0.jar:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) ~[org.eclipse.osgi-3.18.0.jar:?]

Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 5662 path $.countries

	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:270) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]

	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]

	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]

	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]

	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]

	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]

	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]

	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]

	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]

	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]

	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]

	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]

	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]

	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]

	... 65 more

Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 5662 path $.countries

	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]

	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]

	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]

	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]

	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]

	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]

	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]

	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]

	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]

	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]

	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]

	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]

	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]

	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]

	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]

	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]

	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]

	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]

	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]

	... 65 more

2023-04-20 15:16:52.727 [INFO ] [.core.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007

2023-04-20 15:16:55.295 [INFO ] [e.automation.internal.RuleEngineImpl] - Rule engine started.

For the benefit of others, Consistent 100% CPU use of safeCall-queue thread - #12 by Andrew_Rowe covers the thread pool queue issue in more detail.

2 Likes

There are some posts above on this topic and generally attributed to a marketplace binding that does not have both OH3 and OH4 capability. I had this problem with the Sony binding when I tried 4M1. I had to revert back to OH3.4 and switched to the AndroidTV binding because it was advertised as OH4 “ok” and worked on my Sony. Surprisingly I had same problem today when upgrading back to 4M2. (I forgot the advice above to delete the marketplace bindings :frowning_face:) IMO I think the safest route is to delete all the marketplace bindings before upgrading because once you get the error on OH4 it is going to be harder. Then readd them once you are safely running on OH4.

I was able to recover today by removing everything except an {} in the jsondb file /var/lib/openhab/jsondb/org.openhab.marketplace.json then use karaf to restart the waiting (151) bundle. That got the marketplace going. On the Marketplace UI the AndroidTV binding was shown as installed (and working the whole time), I deleted and readded it. That repopulated the Jsondb file and everything is fine it seems (I haven’t restarted OH yet).

Don’t know if this will work for you

I get a message when I access openhab-cli console on 4.0M2 (upgraded today from 3.4.2).

Failed to load native library:jansi-2.4.0-33daa7c169760e92-libjansi.so. osinfo: Linux/arm
java.lang.UnsatisfiedLinkError: /var/lib/openhab/tmp/jansi-2.4.0-33daa7c169760e92-libjansi.so: /var/lib/openhab/tmp/jansi-2.4.0-33daa7c169760e92-libjansi.so: cannot open shared object file: No such file or directory

It happens right after I enter “habopen”

I think this is just a timing issue because everything works ok and I can see that the files referenced are created. They also go away neatly when the session is closed.

1 Like

After updating to OH4.0M2 I receive the following error messages:

2023-04-24 09:02:28.338 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'avmfritz:FRITZ_DECT_200:bb78fd66:11630024xxxx' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-04-24 09:02:28.367 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'avmfritz:FRITZ_DECT_200:bb78fd66:11630024xxxx': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-04-24 09:02:28.381 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'avmfritz:FRITZ_DECT_200:bb78fd66:08761005xxxx' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-04-24 09:02:28.384 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'avmfritz:FRITZ_DECT_200:bb78fd66:08761005xxxx': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-04-24 09:02:28.396 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'avmfritz:FRITZ_DECT_210:bb78fd66:11657035xxxx' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-04-24 09:02:28.398 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'avmfritz:FRITZ_DECT_210:bb78fd66:11657035xxxx': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-04-24 09:02:28.409 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'avmfritz:FRITZ_DECT_200:bb78fd66:11630022xxxx' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-04-24 09:02:28.411 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'avmfritz:FRITZ_DECT_200:bb78fd66:11630022xxxx': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-04-24 09:02:28.424 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'avmfritz:FRITZ_DECT_200:bb78fd66:11630011xxxx' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-04-24 09:02:28.426 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'avmfritz:FRITZ_DECT_200:bb78fd66:11630011xxxx': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-04-24 09:02:28.437 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'avmfritz:FRITZ_Powerline_546E:bb78fd66:34_31_C4_D4_XX_XX' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-04-24 09:02:28.439 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'avmfritz:FRITZ_Powerline_546E:bb78fd66:34_31_C4_D4_XX_XX': {thing/channel=Type description for {0} not found although we checked the presence before.}

Anyone knowing if this is addressed already?

I think it is known, but not yet fixed. Advice was to ignore for now.
openHAB 4.0 SNAPSHOT discussion - Setup, Configuration and Use / News & Important Changes - openHAB Community