Bookworm migration problems, yunohost package fails to upgrade

What type of hardware are you using: VPS bought online
What YunoHost version are you running: 12.0.9.2 yunohost and 11.3.0 yunohost-admin
How are you able to access your server: SSH
Are you in a special context or did you perform specific tweaking on your YunoHost instance ?: Nope

Describe your issue

I’ve used the webadmin to upgrade to bookworm and there’s a problem with the yunohost package when I try to upgrade. The below log is from trying to repair things with an aptitude full-upgrade and shows the same error as from the console:

The following packages will be upgraded: 
  libconfig-inifiles-perl yunohost-admin 
The following partially installed packages will be configured:
  yunohost 
2 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/6,122 kB of archives. After unpacking 1,098 kB will be used.
Do you want to continue? [Y/n/?] 
Reading changelogs... Done               
Setting up yunohost (12.0.9.2) ...
Regenerating configuration, this might take a while...
Traceback (most recent call last):
  File "/usr/bin/yunohost", line 108, in <module>
    main()
  File "/usr/bin/yunohost", line 97, in main
    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 115, in cli
    ).run(args, output_as=output_as, timeout=timeout)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/cli.py", line 498, in run
    ret = self.actionsmap.process(args, timeout=timeout)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 561, in process
    return func(**arguments)
           ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/yunohost/app.py", line 1662, in app_ssowatconf
    default_app = _get_raw_domain_settings(domain).get("default_app")
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
dpkg: error processing package yunohost (--configure):
 installed yunohost package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 yunohost
E: Sub-process /usr/bin/dpkg returned an error code (1)
Setting up yunohost (12.0.9.2) ...
Regenerating configuration, this might take a while...
Traceback (most recent call last):
  File "/usr/bin/yunohost", line 108, in <module>
    main()
  File "/usr/bin/yunohost", line 97, in main
    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 115, in cli
    ).run(args, output_as=output_as, timeout=timeout)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/cli.py", line 498, in run
    ret = self.actionsmap.process(args, timeout=timeout)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 561, in process
    return func(**arguments)
           ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/yunohost/app.py", line 1662, in app_ssowatconf
    default_app = _get_raw_domain_settings(domain).get("default_app")
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
dpkg: error processing package yunohost (--configure):
 installed yunohost package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 yunohost

Share relevant logs or error messages

.

Hello !
“Same” probleme here -___-’

Traceback (most recent call last):
File “/usr/bin/yunohost”, line 108, in
main()
File “/usr/bin/yunohost”, line 97, in main
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 115, in cli
).run(args, output_as=output_as, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/interfaces/cli.py”, line 498, in run
ret = self.actionsmap.process(args, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/actionsmap.py”, line 561, in process
return func(**arguments)
^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/log.py”, line 486, in func_wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/dyndns.py”, line 383, in dyndns_update
dyndns_update(domain, force=force, dry_run=dry_run)
File “/usr/lib/python3/dist-packages/yunohost/log.py”, line 486, in func_wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/dyndns.py”, line 475, in dyndns_update
for category in dns_conf.keys():
RuntimeError: dictionary changed size during iteration

I think I’ve solved this: I had an entry under /etc/yunohost/domains which had no default_app: set. That appears to be the NoneType in question: having populated that, regenerating works.

I did check prior to this and yunohost domain info <mydomain> shows the app correctly, but it has to be in the file too.

After that, upgrading the package works again. So I’ve re-ran sudo apt-get dist-upgrade and let that finish, which it has done successfully. After rebooting things were fine.