Crash du programme sur certaines configurations des paramètres du trombinoscope
Certains choix de valeurs des paramètres proposés par l'IHM du programme Whoswho conduisent à un crash de ce programme. C'est ce qui est décrit dans la suite. Description sommaire du problème
$ cat /etc/lsb-release Environnement d'exécution utilisé
DISTRIB_ID="ManjaroLinux"
DISTRIB_RELEASE="23.1.0"
DISTRIB_CODENAME="Vulcan"
DISTRIB_DESCRIPTION="Manjaro Linux"
$ uname -a
Linux pc-gouv 6.6.7-4-MANJARO #1 (closed) SMP PREEMPT_DYNAMIC Mon Dec 18 03:58:56 UTC 2023 x86_64 GNU/Linux
Installation de l'application Whoswho réalisée
$ flatpak remote-add --if-not-exists flathub Installation du dépôt flathubhttps://flathub.org/repo/flathub.flatpakrepo
Installation de whoswho
$ flatpak install flathub whoswho
Looking for matches…
Found ref ‘app/fr.masson_informatique.WhosWho/x86_64/stable’ in remote ‘flathub’ (system).
Use this ref? [Y/n]:
Required runtime for fr.masson_informatique.WhosWho/x86_64/stable (runtime/org.gnome.Platform/x86_64/44) found in remote flathub
Do you want to install it? [Y/n]:
fr.masson_informatique.WhosWho permissions:
ipc fallback-x11 wayland x11
file access [1] dbus access [2]
[1] xdg-run/gvfsd
[2] org.gtk.vfs.*
ID Branch Op Remote Download
1. [✓] fr.masson_informatique.WhosWho.Locale stable i flathub 8,4 kB / 43,0 kB
2. [✓] org.freedesktop.Platform.GL.default 22.08 i flathub 143,5 MB / 143,1 MB
3. [✓] org.freedesktop.Platform.GL.default 22.08-extra i flathub 16,2 MB / 143,1 MB
4. [✓] org.freedesktop.Platform.openh264 2.2.0 i flathub 1,2 MB / 944,3 kB
5. [✓] org.gnome.Platform.Locale 44 i flathub 6,4 MB / 340,6 MB
6. [✓] org.gtk.Gtk3theme.Yaru-MATE-light 3.22 i flathub 251,7 kB / 172,5 kB
7. [✓] org.gnome.Platform 44 i flathub 342,4 MB / 326,9 MB
8. [✓] fr.masson_informatique.WhosWho stable i flathub 40,0 MB / 34,3 MB
Installation complete.
Avertissement affiché lors du lancement du programme : $ flatpak run fr.masson_informatique.WhosWho Problème constaté
Gtk-Message: 18:35:03.549: Failed to load module "xapp-gtk3-module"
Gtk-Message: 18:35:03.549: Failed to load module "canberra-gtk-module"
À noter qu'après l'affichage de ces avertissements, l'IHM du programme s'est affichée néanmoins normalement.
Les tests décrits ci-dessous ont été réalisés avec les données d'entrée de trombinoscope disponibles sur le site du projet à l'adresse Données de testhttps://framagit.org/Yvan-Masson/WhosWho/-/tree/master/example
Les paramètres proposés par défaut sur l'IHM, à savoir, Jeu de paramètres qui fonctionne
- Titre : epreuvesPhoto [nom du fichier de photos]
- Disposition A4, portrait, 5x6, 150 PPP
- Nom de famille au dessus du prénom
- Trier les photos par nom de famille
La sélection d'un critère de tri différent de celui proposé par défaut - pour mémoire "nom de famille" -, que ce soit "prénom" ou "nom de photo" ont conduit au crash du programme. Jeux de paramètres qui ne fonctionnent pas
Messages affichés dans le shell de lancement du programme
Nom de famille au-dessus du prénom et critère de tri = prénom
Exception in thread Thread-6 (generate_whoswho):
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/app/bin/whoswho", line 1791, in generate_whoswho
sortedPeople = sort_people(self.people, self.sortPicturesBy)
File "/app/bin/whoswho", line 361, in sort_people
for i in order:
UnboundLocalError: local variable 'order' referenced before assignment
Nom de famille au-dessus du prénom et critère de tri = nom de photo
Exception in thread Thread-1 (generate_whoswho):
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/app/bin/whoswho", line 1791, in generate_whoswho
sortedPeople = sort_people(self.people, self.sortPicturesBy)
File "/app/bin/whoswho", line 369, in sort_people
if person[0][1][0] == defaultPic:
NameError: name 'defaultPic' is not defined
Prénom au-dessus du nom de famille et critère de tri = prénom
Exception in thread Thread-3 (generate_whoswho):
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/app/bin/whoswho", line 1791, in generate_whoswho
sortedPeople = sort_people(self.people, self.sortPicturesBy)
File "/app/bin/whoswho", line 361, in sort_people
for i in order:
UnboundLocalError: local variable 'order' referenced before assignment
Prénom au-dessus du nom de famille et critère de tri = nom de photo
Exception in thread Thread-2 (generate_whoswho):
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/usr/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/app/bin/whoswho", line 1791, in generate_whoswho
sortedPeople = sort_people(self.people, self.sortPicturesBy)
File "/app/bin/whoswho", line 369, in sort_people
if person[0][1][0] == defaultPic:
NameError: name 'defaultPic' is not defined