Diagnotique en erreur

Bonjour,

Mon serveur YunoHost

Matériel: Vieil ordinateur
Version de YunoHost: 4.3.6.2
J’ai accès à mon serveur : En SSH | Par la webadmin | En direct avec un clavier/écran | Tout ça à la fois.
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Contexte : coupure du serveur pendant 2 mois pour cause de de disque plein. Aujourd’hui, j’ai fait de la place (suppression des sauvegardes), mis à jour vers la dernière version disponible de l’OS et… c’est tout. Les certificats avaient expirés, mais je viens de relancer la certification et tout le reste semble fonctionner : les applications répondent correctement.

L’accès à la page “Diagnostique” me retourne un message d’erreur :
Erreur: "500" Internal Server Error
Action: "GET" /yunohost/api/diagnosis?full&locale=fr

Retraçage
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 494, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 599, in process
    return func(**arguments)
  File "/usr/lib/moulinette/yunohost/diagnosis.py", line 112, in diagnosis_show
    add_ignore_flag_to_issues(report)
  File "/usr/lib/moulinette/yunohost/diagnosis.py", line 390, in add_ignore_flag_to_issues
    _diagnosis_read_configuration().get("ignore_filters", {}).get(report["id"], [])
AttributeError: 'NoneType' object has no attribute 'get'

Le log annonce 10 erreurs pour les 10 section de la page Diagnotiques avec le même message d’erreur pour les 10 sections :

Échec du diagnostic pour la catégorie 'basesystem':
Traceback (most recent call last): File "/usr/lib/moulinette/yunohost/diagnosis.py", line 198, in diagnosis_run code, report = hook_exec(path, args={"force": force}, env=None) File "/usr/lib/moulinette/yunohost/hook.py", line 379, in hook_exec returncode, returndata = _hook_exec_python(path, args, env, loggers) File "/usr/lib/moulinette/yunohost/hook.py", line 490, in _hook_exec_python ret = module.main(args, env, loggers) File "/usr/share/yunohost/hooks/diagnosis/00-basesystem.py", line 258, in main return BaseSystemDiagnoser(args, env, loggers).diagnose() File "/usr/lib/moulinette/yunohost/diagnosis.py", line 470, in diagnose add_ignore_flag_to_issues(new_report) File "/usr/lib/moulinette/yunohost/diagnosis.py", line 390, in add_ignore_flag_to_issues _diagnosis_read_configuration().get("ignore_filters", {}).get(report["id"], []) AttributeError: 'NoneType' object has no attribute 'get'

Le bug doit provenir du contenu du fichier /etc/yunohost/diagnosis.yml, mais je ne comprends pas pourquoi exactement.
Est-ce que ce fichier existe sur ton système ? Si oui, est-ce qu’il est vide ?
Pour résoudre le problème, le plus simple serait de le supprimer (peut être en faire une copie avant). Il ne contient que la liste des éléments du diagnostique que tu ignores.

C’était effectivement ça.
Le fichier était entièrement vide, je l’ai supprimé et j’ai relancé un diagnostique : tout semble OK sur la page, plus de message d’erreur.

Merci de ton aide.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.