openHAB 4.0 SNAPSHOT discussion

Upgraded to 3293
Request URL

(http://xx.xx.xx.xx:8080/rest/addons?serviceId=marketplace)

Code 200, Response body

[]

I’m now on snapshot 3293.

Watching the logs at startup shows some stuff that may be relevant:

  β”‚2023-01-25 14:59:25.205 [INFO ] [rketplace.MarketplaceBundleInstaller] - Reinstalling missing marketplace bundle: marketplace:134770                                    β”‚
Caβ”‚2023-01-25 14:59:26.876 [INFO ] [org.openhab.core.Activator          ] - Starting openHAB 4.0.0 (build Build #3293)                                                     β”‚
  β”‚2023-01-25 14:59:27.232 [ERROR] [ity.CommunityMarketplaceAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.202301240310 (150)[org.openhab.core.addon.markeβ”‚
  β”‚tplace.internal.community.CommunityMarketplaceAddonService(159)] : 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:316) ~[?:?]                                     β”‚
  β”‚        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:1000) ~[?:?]                                                 β”‚
  β”‚        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:973) ~[?:?]                                          β”‚
  β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:776) ~[?:?]                                        β”‚
  β”‚        at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1271) ~[?:?]                                  β”‚  00β”‚        at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1222) ~[?:?]                                  β”‚4520β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1200) ~[?:?]                                                    β”‚
20β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1121) ~[?:?]                                                    β”‚
20β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:928) ~[?:?]                                                 β”‚ISSIβ”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:864) ~[?:?]                                                       β”‚  20β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1152) ~[?:?]                                                     β”‚  20β”‚        at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:114) ~[?:?]                                     β”‚  20β”‚        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120) ~[org.eclipse.osgi-3.17.200.jar:?]        β”‚  20β”‚        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:956) ~[org.eclipse.osgi-3.17.200.jar:?]                           β”‚  20β”‚        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.17.200.jar:?]                                     β”‚  20β”‚        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.17.200.jar:?]                        β”‚ DISβ”‚        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936) ~[org.eclipse.osgi-3.17.200.jar:?]         β”‚
20β”‚        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873) ~[org.eclipse.osgi-3.17.200.jar:?]                   β”‚FLINβ”‚        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.17.200.jar:?]              β”‚
20β”‚        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:261) ~[org.eclipse.osgi-3.17.200.jar:?]                       β”‚
20β”‚        at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:495) ~[org.eclipse.osgi-3.17.200.jar:?]                         β”‚
20β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]                                              β”‚
20β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]                                              β”‚
20β”‚        at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]   
20β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]                                         β”‚l]20β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]                                        β”‚l,trβ”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]                                          β”‚
20β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]                                                  β”‚  20β”‚        at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:667) ~[?:?]                                  β”‚
20β”‚        at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:305) ~[?:?]                                                   β”‚
20β”‚        at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:554) ~[?:?]                                                                                β”‚
20β”‚        at org.apache.felix.scr.impl.Activator.access$200(Activator.java:70) ~[?:?]                                                                                     β”‚
20β”‚        at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:421) ~[?:?]                                                                            β”‚
20β”‚        at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]                                                                 β”‚
20β”‚        at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]                                                                  β”‚
20β”‚        at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]                                                                   β”‚
20β”‚        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-7.0.0.jar:?]                                              β”‚
20β”‚        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-7.0.0.jar:?]                                              β”‚
20β”‚        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-7.0.0.jar:?]                                                               β”‚wherβ”‚        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-7.0.0.jar:?]                                                   β”‚
20β”‚        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:944) ~[org.eclipse.osgi-3.17.200.jar:?]                           β”‚
00β”‚        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.17.200.jar:?]                                     β”‚03roβ”‚        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.17.200.jar:?]                        β”‚
20β”‚        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.17.200.jar:?]    β”‚trolβ”‚        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.17.200.jar:?]              β”‚  20β”‚        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.17.200.jar:?]              β”‚trolβ”‚        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.17.200.jar:?]          β”‚  20β”‚        at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.17.200.jar:?]                                                           β”‚ALIZβ”‚        at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.17.200.jar:?]                                                                  β”‚
20β”‚        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445) ~[org.eclipse.osgi-3.17.200.jar:?]                                           β”‚trolβ”‚        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:464) ~[org.eclipse.osgi-3.17.200.jar:?]                                           β”‚
20β”‚        at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) ~[?:?]                                    β”‚IALIβ”‚        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1160) ~[?:?]                                             β”‚
20β”‚        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1041) ~[?:?]                                                                        β”‚ntroβ”‚        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) ~[?:?]                                             β”‚
20β”‚        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) ~[?:?]                           β”‚
20β”‚        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]                                                                                               β”‚
20β”‚        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]                                                                        β”‚
20β”‚        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]                                                                        β”‚
20β”‚        at java.lang.Thread.run(Thread.java:833) [?:?]                                         
20β”‚Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 22448 path $.countries            β”‚
20β”‚        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:270) ~[?:?]                                        β”‚
20β”‚        at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]                                                                                                         β”‚
20β”‚        at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]                                                                                                         β”‚
20β”‚        at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]                                                                                                          β”‚
20β”‚        at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]                                                                                                          β”‚
20β”‚        at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:103) ~[?:?]                                           β”‚
20β”‚        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]                                                                             β”‚
20β”‚        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]                                                                             β”‚wherβ”‚        at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]                                                   β”‚
20β”‚        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]                                                                                 β”‚
20β”‚        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]                                                                          β”‚
20β”‚        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]                                                                         β”‚
20β”‚        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]                                                                   β”‚
20β”‚        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]                                                                                 β”‚
20β”‚        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]                                                                                β”‚d.  β”‚        at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:104) ~[?:?]                                      β”‚
00β”‚        at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:130) ~[?:?]            β”‚2820β”‚        at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:119) ~[?:?]              β”‚
20β”‚        ... 67 more                                                                                                                                                     β”‚itiaβ”‚Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 22448 path $.countries                                                 β”‚
20β”‚        at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]                                                                                     β”‚
20β”‚        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]                                         β”‚
20β”‚        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]                                         β”‚viceβ”‚        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]                                              β”‚
20β”‚        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?]                                        β”‚ hasβ”‚        at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]                                                                                                         β”‚
20β”‚        at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]                                                                                                         β”‚
20β”‚        at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]                                                                                                          β”‚chanβ”‚        at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]                                                                                                          β”‚
20β”‚        at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:103) ~[?:?]                                           β”‚
20β”‚        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]                                                                             β”‚
20β”‚        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]                                                                             β”‚
20β”‚        at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]                                                   β”‚
20β”‚        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]                                                                                 β”‚
20β”‚        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
20β”‚        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]                                                                         β”‚E)20β”‚        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]                                                                   β”‚E)20β”‚        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]                                                                                 β”‚E)20β”‚        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]                                                                                β”‚E)20β”‚        at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:104) ~[?:?]                                      β”‚D)
 tβ”‚        at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:130) ~[?:?]            β”‚
20β”‚        at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:119) ~[?:?]              β”‚D) tβ”‚        ... 67 more

A few seconds later I see:

20β”‚2023-01-25 15:06:27.282 [ERROR] [ity.CommunityMarketplaceAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.202301240310 (150)[org.openhab.core.addon.markeβ”‚
20β”‚tplace.internal.community.CommunityMarketplaceAddonService(49)] : Error during instantiation of the implementation object                                               β”‚
20β”‚java.lang.reflect.InvocationTargetException: null                                                                                                                       β”‚
00β”‚        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]                                                                        β”‚5120β”‚        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]                                                 β”‚
20β”‚        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]                                         β”‚
20β”‚        at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]                                                                             β”‚
20β”‚        at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]                                                                                       β”‚
20β”‚        at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:316) ~[bundleFile:?]                            β”‚
20β”‚        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) [bundleFile:?]                          β”‚
20β”‚        at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) [bundleFile:?]                                     β”‚
20β”‚        at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1000) [bundleFile:?]                                         β”‚
20β”‚        at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:973) [bundleFile:?]                                  β”‚
20β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:776) [bundleFile:?]                                β”‚
20β”‚        at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1271) [bundleFile:?]                          β”‚
20β”‚        at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1222) [bundleFile:?]                          β”‚
20β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1200) [bundleFile:?]                                            β”‚
20β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1121) [bundleFile:?]                                            β”‚
20β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:928) [bundleFile:?]                                         β”‚
20β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:864) [bundleFile:?]                                               β”‚
20β”‚        at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1152) [bundleFile:?]                                             β”‚
20β”‚        at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:114) [bundleFile:?] 
  β”‚        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120) [org.eclipse.osgi-3.17.200.jar:?]         β”‚
20β”‚        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:956) [org.eclipse.osgi-3.17.200.jar:?]                            β”‚
jaβ”‚        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]                                      β”‚the β”‚        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.17.200.jar:?]                         β”‚
  β”‚        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936) [org.eclipse.osgi-3.17.200.jar:?]          β”‚
  β”‚        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873) [org.eclipse.osgi-3.17.200.jar:?]                    β”‚
  β”‚        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.17.200.jar:?]               β”‚
  β”‚        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:261) [org.eclipse.osgi-3.17.200.jar:?]                        β”‚
  β”‚        at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:495) [org.eclipse.osgi-3.17.200.jar:?]                          β”‚
  β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]                                      β”‚
  β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]                                      β”‚
  β”‚        at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]                                        β”‚
  β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]                                 β”‚
  β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]                                β”‚
  β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) [bundleFile:?]                                  β”‚
  β”‚        at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) [bundleFile:?]                                          β”‚
  β”‚        at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:667) [bundleFile:?]                          β”‚
00β”‚        at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:305) [bundleFile:?]                                           β”‚1020β”‚        at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:554) [bundleFile:?]                                                                        β”‚
20β”‚        at org.apache.felix.scr.impl.Activator.access$200(Activator.java:70) [bundleFile:?]                                                                             β”‚
20β”‚        at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:421) [bundleFile:?]                                                                    β”‚
20β”‚        at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]                                                         β”‚}
20β”‚        at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]                                                          β”‚
20β”‚        at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]                                                           β”‚"}20β”‚        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) [osgi.core-7.0.0.jar:?]                                               β”‚} 20β”‚        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) [osgi.core-7.0.0.jar:?]                                               β”‚"}20β”‚        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [osgi.core-7.0.0.jar:?]                                                                β”‚} 20β”‚        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) [osgi.core-7.0.0.jar:?]                                                    β”‚"}20β”‚        at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:944) [org.eclipse.osgi-3.17.200.jar:?]                            β”‚} 20β”‚        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]                                      β”‚"}20β”‚        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.17.200.jar:?]                         β”‚} 20β”‚        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) [org.eclipse.osgi-3.17.200.jar:?]     β”‚  20β”‚        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) [org.eclipse.osgi-3.17.200.jar:?]               β”‚  20β”‚        at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) [org.eclipse.osgi-3.17.200.jar:?]               β”‚  20β”‚        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) [org.eclipse.osgi-3.17.200.jar:?]           β”‚  20β”‚        at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) [org.eclipse.osgi-3.17.200.jar:?]
  β”‚        at org.eclipse.osgi.container.Module.start(Module.java:486) [org.eclipse.osgi-3.17.200.jar:?]                                                                   β”‚
20β”‚        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) [org.eclipse.osgi-3.17.200.jar:?]                            β”‚
jaβ”‚        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) [org.eclipse.osgi-3.17.200.jar:?]                  β”‚the β”‚        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) [org.eclipse.osgi-3.17.200.jar:?]                    β”‚
  β”‚        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) [org.eclipse.osgi-3.17.200.jar:?]                    β”‚
  β”‚        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) [org.eclipse.osgi-3.17.200.jar:?]            β”‚
  β”‚        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) [org.eclipse.osgi-3.17.200.jar:?]                    β”‚
  β”‚        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [org.eclipse.osgi-3.17.200.jar:?]                       β”‚
  β”‚        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.17.200.jar:?]                                      β”‚
  β”‚        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) [org.eclipse.osgi-3.17.200.jar:?]                                    β”‚
  β”‚Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 22448 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:103) ~[?:?]                                           β”‚
00β”‚        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]                                                                             β”‚3020β”‚        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]                                                                             β”‚
20β”‚        at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]                                                   β”‚
20β”‚        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]                                                                                 β”‚
20β”‚        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]                                                                          β”‚
20β”‚        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]                                                                         β”‚
20β”‚        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]                                                                   β”‚
20β”‚        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]                                                                                 β”‚
20β”‚        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]                                                                                β”‚
20β”‚        at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:104) ~[?:?]                                      β”‚
20β”‚        at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:130) ~[?:?]            β”‚
20β”‚        at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:119) ~[?:?]              β”‚
20β”‚        ... 65 more                                                                                                                                                     β”‚
20β”‚Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 22448 path $.countries                                                 β”‚
20β”‚        at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]                                                                                     β”‚
20β”‚        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]                                         β”‚
20β”‚        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]                                         β”‚
20β”‚        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]                                              β”‚
20β”‚        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?] 
  β”‚        at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]                                                                                                         β”‚
20β”‚        at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]                                                                                                         β”‚
jaβ”‚        at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]                                                                                                          β”‚the β”‚        at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]                                                                                                          β”‚
  β”‚        at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:103) ~[?:?]                                           β”‚
  β”‚        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:104) ~[?:?]                                      β”‚
  β”‚        at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:130) ~[?:?]            β”‚
  β”‚        at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:119) ~[?:?]              β”‚
00β”‚        ... 65 more                                 

What’s weird is I’m seeing different behavior from @hmerk . I’m still getting 404 not found.

After restarting once more to get rid of the Shelly warning the same too exceptions appear in the logs.

Strange, I just found the following in my logs

2023-01-25 21:54:23.981 [WARN ] [ity.CommunityMarketplaceAddonService] - Unable to retrieve marketplace add-ons: type must not be empty

Please shut openHAB down, delete the jsondb-files related to the community marketplace and the json 3rd party addon service (org.openhab.marketplace.json and org.openhab.jsonaddonservice.json) and start again.

We should probably do that automatically on upgrade, there is no way to have the community-marketplace providing add-ons that are compatible to both versions in one thread, so they need to be uninstalled and re-installed anyway. The situation for JSON 3rd party is a bit better, but it’s not so easy to fix the old DB.

1 Like

Still the same result but I have to mention, that I did not have

org.openhab.marketplace.json

Do you have β€žshow unpublishedβ€œ (community marketplace setting) or β€žshow incompatibleβ€œ (addon services setting) enabled? It seems that in your case an add-on is missing the type (automation, binding, …) tag on the post.

@rlkoshak has another issue, I believe that one is fixed by deleting the files.

1 Like

Indeed, that was my config. After changing, I can see marketplace addons in the UI and API explorer delivers a very long list :wink:

Thanks @J-N-K :+1:

I have similar issue - if I turn on the Show Unpublished Entries option within Community Marketplace settings, UI will not display any widget from marketplace and the following is logged:

2023-01-26 06:26:35.720 [WARN ] [ity.CommunityMarketplaceAddonService] - Unable to retrieve marketplace add-ons: type must not be empty

Invoking directly from API (as suggested above) will return [].

Turning Show Unpublished Entries off will show marketplace widgets and API also returns a list of items.

Running latest currently avail. snapshot #3293.

EDIT: Created issue - faulty entry in marketplace section will fail to load all add-on(s) Β· Issue #3338 Β· openhab/openhab-core Β· GitHub

There seems to be a faulty topic in the marketplace section that does not specify the type. Iβ€˜ll try to add a check for that, but please open an issue on GitHub, so I donβ€˜t forget. Iβ€˜m currently working on other issues and I think itβ€˜s not super-critical.

1 Like

Interestingly I didn’t have an org.openhab.jsonaddonservice.json file but that’s probably because I’ve not installed anything except from the OH marketplace even though I’ve added Smarthome/J.

After starting OH back up the errors occurred again. Looking back at JOSNDB and I think there’s another file I need to delete, marketplace.ruletemplates.json. After doing that still the errors persist. I’ve some UI Widgets installed from the marketplace too. Perhaps I need to delete the ui_components files? Same behavior after deleting the uicomponents files too.

In case it’s relevant, I have show unpublished enabled as well.

The REST API call still returns 404 not found.

Does the path $.countries point to any clues? I’ve done a search through my remaining JSONDB files and it’s only appearing in backups of the org.openhab.marketplace.json file. :person_shrugging:

Yes, it’s a clear indicator that the marketplace storage is the issue, the exception comes from the place where the storage is read (AbstractRemoteAddonService:103). I don’t understand why that results in a 404, but that’s another issue.

Maybe if you delete the file it is restored from backups?

That’s a thought.

First I tried to restart OH with the file gone just to see if the file gets recreated. If it was restored I would expect the file to return. But the file does not return and the error persists.

Next I deleted (note, I’m really just moving them so if you need to see thier contents I still have them) the backups of the org.openhab.marketpalce.json and marketplace_ruletemplates.json files from the backup folders. The word β€œcountries” no longer appears in any file in the jsondb folder.

That works! :partying_face: Or at least that gets me to @hmerk’s state. I now see that Unable to retrieve marketplace add-ons: type must not be empty warning and the REST API returns an empty array. But that’s progress!

That backup behavior is weird and unexpected. It seems reasonable to use the latest backup when the file disappears I guess, but then the next time OH dumps the JSONDB to file (e.g. at a restart) I would expect it to recreate the β€œreal” file instead of continuing to use the backup file. I’ve no doubt it would create a new file if a change is made, but if it’s going to use the backup I would expect it to restore the backup, not just continue to run off of the backed up file.

Is this expectation unreasonable or do you think I should file an issue?

This one is solved by removing β€žshow unpublished Addonsβ€œ
I could not check all marketplace posts, but definitely found some addons without any tags, which seems to be causing the issue.

Yep. Unfortunately I was hoping to test my new Debounce rule template before I β€œpublished” it but that’s no biggie.

Now if we can get a fix for that ZigBee problem I’ll be back up to 100% on the 4.0 snapshots. :smiley:

1 Like

Added a (potential) fix for Unable to retrieve marketplace add-ons: type must not be empty.

Change ignores add-ons with issues, giving:

2023-01-26 16:19:15.311 [WARN ] [ity.CommunityMarketplaceAddonService] - Ignoring marketplace add-on 'About the Add-on Marketplace category' due: type must not be empty

So I guess About the Add-on Marketplace category is the offending entry :wink: But IMHO it makes sense to skip those with error anyway and still display others …

This looks strange from my perspective. Do you really have the coordinator id twice in the name? Also having two underscores in the name could be an issue. Did you use this combination in openHAB 3 ?

Not the only one, I found a couple of others and just added some tags, but might not have identified all.

I only get that one logged and all others seem fine, at least they don’t fail to parse …

Ah, now I understand. It is failing, cause this post is not tagged as bundle, widget or rule template. It is not the published, beta, stable etc tags.

Since this is not something that the end user can do anything about, I think the log should be DEBUG at most. We don’t want to clutter end users’s logs with errors or warnings they can’t fix and are not their problem.

Yes, these are the same ID’s these Things have been using since OH 2.x in fact. These were auto-discovered so the IDs are what ever the binding used when they were created.

We think we found the root cause (a one line change in the Zigbee binding is required). More details on the issue (link above).

1 Like