Bugs suite mise à jour system

What type of hardware are you using: Old laptop or computer
What YunoHost version are you running: 11.2.30.2
How are you able to access your server: The webadmin
SSH

Describe your issue

Bonjour,
Mes dernières tentatives de mises à jour de nextcloud et collabora ont échouées avec les messages d’erreurs ci-dessous.
Je venais juste de faire les mises à jour system avec succès.
Nextcloud et collabora restent fonctionnel et le shell nextcloud est aussi accessible.
Les erreurs semblent concerner des fichiers python mais je ne discerne pas vraiment l’endroit et la cause du bug.
Pouvez vous m’aider ou m’orienter pour résoudre ce problème ?
Merci

Share relevant logs or error messages

:~$ sudo yunohost app upgrade nextcloud
Info: Now upgrading nextcloud…
Info: Creating a safety backup prior to the upgrade
Info: Collecting files to be backed up for nextcloud…
Info: Declaring files to be backed up...
Info: /home/yunohost.app/nextcloud will not be saved, because 'BACKUP_CORE_ONLY' is set.
Info: Backing up the MySQL database...
Info: Backup script completed for nextcloud. (YunoHost will then actually copy those files to the archive).
Info: Creating a backup archive from the collected files…
Info: The archive will contain about 1.3GB of data.
Success! Backup created: nextcloud-pre-upgrade1
Traceback (most recent call last):
  File "/usr/bin/yunohost", line 77, in <module>
    yunohost.cli(
  File "/usr/lib/python3/dist-packages/yunohost/__init__.py", line 41, in cli
    ret = moulinette.cli(
  File "/usr/lib/python3/dist-packages/moulinette/__init__.py", line 110, in cli
    Cli(
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/cli.py", line 500, in run
    ret = self.actionsmap.process(args, timeout=timeout)
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 574, in process
    return func(**arguments)
  File "/usr/lib/python3/dist-packages/yunohost/app.py", line 735, in app_upgrade
    manually_modified_files_before_install = manually_modified_files()
  File "/usr/lib/python3/dist-packages/yunohost/regenconf.py", line 679, in manually_modified_files
    for category, infos in regenconf_categories.items():
AttributeError: 'NoneType' object has no attribute 'items'

Le bug prend de l’ampleur ce matin…
j’ai des failed sur le renouvellement de certificat et le fonctionnement de borg !

Voilà les logs pour le renouvellement du certificats d’un de mes domaines : https://paste.yunohost.org/raw/xuziqobafi

Je retrouve l’erreur python :

argument of type 'NoneType' is not iterable
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/yunohost/certificate.py", line 390, in certificate_renew
    _fetch_and_enable_new_certificate(domain, no_checks=no_checks)
  File "/usr/lib/python3/dist-packages/yunohost/certificate.py", line 485, in _fetch_and_enable_new_certificate
    _regen_dnsmasq_if_needed()
  File "/usr/lib/python3/dist-packages/yunohost/certificate.py", line 886, in _regen_dnsmasq_if_needed
    regen_conf(["dnsmasq"])
  File "/usr/lib/python3/dist-packages/yunohost/log.py", line 483, in func_wrapper
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/yunohost/regenconf.py", line 177, in regen_conf
    conf_hashes = _get_conf_hashes(category)
  File "/usr/lib/python3/dist-packages/yunohost/regenconf.py", line 559, in _get_conf_hashes
    if category not in categories:
TypeError: argument of type 'NoneType' is not iterable

Pensez-vous que c’est ma dernière mise à jour systeme qui s’est mal passé ?
Dois-je faire un downgrade ?

Mon problème est toujours présent…
J’ai tenté un apt get install yunohost --reinstall qui à échoué :frowning:
Voilà les logs https://paste.yunohost.org/raw/ikuracahol
Ci-dessous le retour bash :

sudo apt install yunohost --reinstall
[sudo] password for xxxx: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  linux-image-5.10.0-30-amd64
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/1,249 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 76456 files and directories currently installed.)
Preparing to unpack .../yunohost_11.2.30.2_all.deb ...
Unpacking yunohost (11.2.30.2) over (11.2.30.2) ...
Setting up yunohost (11.2.30.2) ...
Regenerating configuration, this might take a while...
Info: The operation 'Regenerate system configurations 'all'' could not be comple
ted. Please share the full log of this operation using the command 'yunohost log
 share 20240930-201906-regen_conf-all' to get help
Traceback (most recent call last):
  File "/usr/bin/yunohost", line 77, in <module>
    yunohost.cli(
  File "/usr/lib/python3/dist-packages/yunohost/__init__.py", line 41, in cli
    ret = moulinette.cli(
  File "/usr/lib/python3/dist-packages/moulinette/__init__.py", line 110, in cli
    Cli(
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/cli.py", line 500, 
in run
    ret = self.actionsmap.process(args, timeout=timeout)
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 574, in p
rocess
    return func(**arguments)
  File "/usr/lib/python3/dist-packages/yunohost/tools.py", line 313, in tools_re
gen_conf
    return regen_conf(names, with_diff, force, dry_run, list_pending)
  File "/usr/lib/python3/dist-packages/yunohost/log.py", line 483, in func_wrapp
er
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/yunohost/regenconf.py", line 177, in rege
n_conf
    conf_hashes = _get_conf_hashes(category)
  File "/usr/lib/python3/dist-packages/yunohost/regenconf.py", line 559, in _get
_conf_hashes
    if category not in categories:
TypeError: argument of type 'NoneType' is not iterable
dpkg: error processing package yunohost (--configure):
 installed yunohost package post-installation script subprocess returned error e
xit status 1
Errors were encountered while processing:
 yunohost
Updating coolwsd systemplate
E: Sub-process /usr/bin/dpkg returned an error code (1)

Que puis je faire ? Je suis vraiement à cours d’idée…

C’est pour partager le log de cette opération.
Sinon, première étape, faire une sauvegarde sur un support ou un serveur externe.
Par la suite, partager le résultat du diagnostic.
Sinon, ton disque est un hdd ou un ssd ?
Que donnent :
sudo smartctl -H -i /dev/sdX
Puis
sudo smartctl -t short /dev/sdX
Attendre une ou deux minutes puis
sudo smartctl -l selftest /dev/sdX
N’oublie pas de remplacer sdX par l’identifiant de ton disque

J’imagine que le fichier /etc/yunohost/regenconf.yml est vide … On peut le confirmer avec : sudo ls -l /etc/yunohost/regenconf.yml et sudo grep -v '^ ' /etc/yunohost/regenconf.yml

Par contre ça n’explique pas comment on est arrivé là sans avoir + de détail sur ce qui s’est passé exactement … Eventuellement un disque qui se serait rempli …

C’est bien ce fichier regenconf.yml qui est vide…
J’ai remarqué le bug suite à une mise à jour system via l’api yunohost.
Les disques ne sont pas plein même si rempli au 2/3.

Est-il possible de régénérer regenconf.yml ?
Ou je peux aller fouiller dans une sauvegarde et simplement reprendre le contenu du fichier ?

Merci pour votre aide !

Bonben le fichier n’est clairement pas censé être vide … Si tu partages le résultat de ls -l /etc/yunohost/regenconf.yml on pourrait voir la date de modif ce qui donnerait une indication précise de quand le fichier a été modifié pour la dernière fois, et ensuite corréler ça à l’opération qui avait lieu à ce moment précis dans tes journaux …

Mais bon si tu veux une solution simple et rapide, normalement faire un sudo rm /etc/yunohost/regenconf.yml devrait résoudre le problème, mais ça nous dira pas l’origine du problème

Voilà le retour de la commande :
-rw------- 1 root root 0 Sep 22 08:33 /etc/yunohost/regenconf.yml
De mémoire c’est à cette date que j’ai fait la mise à jour system (via yunohost) suite à laquelle les premières erreurs sont apparues

Moké ben je propose qu’on creuse avec sudo yunohost log list | grep "path" | grep "20240922" pour lister les opérations de ce jour là avec les heures exactes

1 Like

la commande sudo yunohost log list | grep "path" | grep "20240922" ne renvoie rien…

En faisant juste sudo yunohost log list | grep "path" le retour le plus ancien remonte au 20240927 :

 path: /var/log/yunohost/categories/operation/20240927-220132-backup_create.yml
 path: /var/log/yunohost/categories/operation/20240927-220158-backup_create.yml
path: /var/log/yunohost/categories/operation/20240927-220223-backup_create.yml
 path: /var/log/yunohost/categories/operation/20240927-220454-backup_create.yml
path: /var/log/yunohost/categories/operation/20240927-220522-backup_create.yml

J’ai juste mis les logs du 27 parce que les autres affichent mes domaines mais ils sont tous de cette forme :

path: /var/log/yunohost/categories/operation/20240928-042501-letsencrypt_cert_renew-mondomaine.org.yml

C’est normal que je n’ai pas de logs avant le 27/09 ?? :thinking:

My bad il faut sans doute augmenter la limite du nombre d’entrées afficher :

sudo yunohost log list --limit 500 | grep "path" | grep "20240922"

Ah oui la il y a des retours :

    path: /var/log/yunohost/categories/operation/20240922-063325-letsencrypt_cert_renew-walrus.tf.yml
    path: /var/log/yunohost/categories/operation/20240922-064944-tools_upgrade.yml
    path: /var/log/yunohost/categories/operation/20240922-065213-app_config_set-nextcloud.yml
    path: /var/log/yunohost/categories/operation/20240922-065401-app_config_set-nextcloud.yml
    path: /var/log/yunohost/categories/operation/20240922-065734-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-073455-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-220003-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-220034-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-220105-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-220132-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-220157-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-220223-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-220507-backup_create.yml
    path: /var/log/yunohost/categories/operation/20240922-220549-backup_create.yml