This issue has shown that, when we introduce new providers and propagate the configs to users, then remove the config ("asf" was removed and renamed to "default"), user configuration breaks
- #6358

One way of dealing with this is checking at startup time whether the configured providers are available, and if not, log a warning and fall back to the default provider.
"""
        Lists all the services which have a provider that has been initialized
        :return: a list of service names
        """
        return [
            service
            for service in self.list_available()
            if super(ServicePluginManager, self).get_service_container(service)
        ]
    def exists(self, name: str) -> bool:
        return name in self.list_available()
    def get_state(self, name: str) -> Optional[ServiceState]:
        if name in self._services:
            
            return super().get_state(name)
        if not self.exists(name):
            
            return None
        
        provider = self.get_active_provider(name)
        if self.plugin_errors.has_errors(name, provider):
            return ServiceState.ERROR
        return ServiceState.AVAILABLE
    def get_service_container(self, name: str) -> Optional[ServiceContainer]: