Le royaume de Eric Buist >> Informatique >> Problèmes marquants >> Quelques bogues résolus >> Bogues logiciels résolus | ||
Me contacter | Plan du site | |
<< SirCam, un autre virus | Quand KDE se fait vieux et parle chinois... | Tentatives de (re)jouer à King's Quest >> |
Ce bogue plutôt étrange ne s'est pas produit chez moi mais à l'Université de Montréal. Bien qu'à l'université, je sois davantage confronté au bugX et qu'il vaille mieux inscrire les bogues dans cette lignée, celui-là fait classe à part!
Durant mon stage d'été 2002 au laboratoire d'optimisation, mon compagnon de stage et moi éprouvions constamment des difficultés à obtenir des machines libres dans le laboratoire. Nous avons pu solutionner ce petit problème en utilisant les ordinateurs du 3311 puis ceux du 3189 lorsque le 3311 fut fermé. Les machines étaient libres en quantité, car peu d'étudiants se trouvaient là. Toutefois, lors de la semaine du 12 août, ces machines n'étaient pas disponibles puisque les laboratoires étudiants étaient en cours de rénovation. Les ordinateurs allaient être mis à jour au système RedHat Linux 7.3 et les claviers et souris, nettoyés.
Il fallut donc utiliser les machines du laboratoire d'optimisation. Seuls un vieux Sun, deux PC Linux et une poignée de machines Windows étaient libres. Un des PC Linux possédait un écran donnant mal aux yeux après quelques minutes d'utilisation, mais il fallut malgré tout l'utiliser; pas le choix...
Mercredi après-midi, le 14 août 2002, mon compagnon ne put trouver de machine Linux libre et dut se brancher sur une machine Windows XP et par l'entremise du logiciel X-Win32, il put obtenir un serveur X sous Windows. Il put ainsi établir une connexion XDMCP et obtenir un écran de branchement à Phobos. Toutefois, Phobos avait été mise à jour à KDE 3 par le passage à RedHat 7.3 qui avait eu lieu la semaine d'avant. Le premier démarrage de KDE 3 modifia les fichiers de configuration afin de les mettre à jour.
Les résultats sur KDE 2 furent catastrophiques, comme je le découvrirais le lendemain matin. Lors de son branchement sur une machine Linux, mon ami obtint un Bureau KDE plutôt inhabituel. Des icônes avaient disparu et l'horloge de la barre des tâches était un vieux modèle analogique. De plus, s'il réduisait une fenêtre en icône, elle disparassait au lieu de se poser dans la barre des tâches! L'environnement ne travaillait plus adéquatement.
KDE avait décidément pris de l'âge et il semblait nécessaire de le réinitialiser. Je suggérai donc d'utiliser la commande rm -rf ~/.kde. Un nouveau branchement et toujours pas de changement. Il tenta de supprimer .kde et Desktop, rien à faire. Pire encore, les répertoires revenaient au nouveau démarrage. Une intervention divine semblait requise, ce qui se traduit au DIRO par l'aide du support technique. Un administrateur pourrait, pendant que l'utilisateur en difficulté n'était pas branché, supprimer le répertoire .kde et tout devrait rentrer dans l'ordre.
Il tenta en dernier recours de se rebrancher sous GNOME et put obtenir un environnement de travail plus potable. Toutefois, GNOME n'est pas supporté par le département d'informatique et de recherche opérationnelle de l'universitée, si bien que mon ami et moi voulions retrouver KDE. Bien que n'étant pas (encore...) touché par le bogue, je souhaitais aider mon ami à s'en sortir.
Il tenta de se brancher sur une autre machine, mais cela ne modifia en rien l'état de son système. En auscultant encore et encore mon répertoire et son répertoire, je découvris que le répertoire .kde réapparaissait à la fermeture de KDE. Ainsi, KDE garde les paramètres incorrects en mémoire et les remet en place lors de la fermeture.
Il était clair que court-circuiter KDE s'avérait nécessaire. Je suggérai donc de supprimer .kde et Desktop, puis d'appuyer sur CTRL-ALT-Backspace afin de fermer X sans autoriser KDE à sauver des options invalides. Il les sauvegarda malgré tout et la vieille configuration problématique revenait, comme le vieillissement qu'il est impossible d'enrayer.
Je suggérai finalement de se débrancher puis se rebrancher en mode failsafe. Cela n'ouvrit qu'une fenêtre de terminal et permit de supprimer les fichiers nuisibles sans faire intervenir KDE. Un nouveau branchement et KDE 2 réapparut, avec son apparence correcte! Les paramètres étaient perdus, mais la fonctionnalité, récupérée!
Vendredi, le 16 août 2002, dernière journée de mon stage, il y eut un nouveau manque de machines. Cette fois-ci, aucune machine Linux, aussi simple que cela, n'était disponible. Mon ami, ne voulant pas briser de nouveau sa configuration KDE, se résolut à lire tandis que je voyais une chance de tester la connexion X sous Windows! Je me branchai donc sur la seule machine Windows 2000 qui restait et me rendit compte que X-Win32 était absent.
J'installai alors WeirdX, un serveur X en Java, et tentai de me brancher avec cela. Il me fallut plusieurs tentatives mais enfin, je pus me brancher sur Phobos et obtenir un écran KDE 3. En fait, j'avais voulu me brancher sur une machine Linux du laboratoire, mais celles-ci n'acceptaient pas les connexions XDMCP. Toutefois, le serveur WeirdX était très lent et la machine manquait de mémoire; la solution n'était pas convenable.
En fin d'après-midi, je dus me rebrancher sur une machine Linux afin d'effectuer des corrections demandées par mon superviseur Pierre L'Écuyer. Je découvris alors que mon KDE avait lui aussi contracté le virus de la vieillesse symbolisé par l'horloge analogique. Je savais toutefois quoi faire, cette fois. Je me débranchai, appuyai sur CTRL-ALT-F2 pour obtenir une console puis m'y branchai. Contrairement au mode failsafe, j'obtiendrais avec la console une fonte plus grande. Je tapai rm -rf .kde et rm -rf Desktop, puis enfin exit. Je retournai sous X avec ALT-F7 puis me rebranchai; tout revint à la normale. Il me fallut reconfigurer le clavier français canadien, car ce réglage avait été effacé.
Vendredi, le 13 septembre 2002, ce fut la première séance de travaux pratiques en technologies de l'Internet (IFT3220). La première heure se passa dans une classe, mais la seconde eut lieu dans un laboratoire d'ordinateurs. Je dus alors me brancher sur un poste RedHat 7.3, sur KDE 3.
J'obtins alors des menus et des boutons écrits dans une fonte illisibles, on aurait dit du chinois. Et peut-être en était-ce, après tout! Je ne pouvais accéder aux menus, ni aux préférences. Une louable tentative a consisté à le faire via l'icône sur la barre des tâches, mais je ne parvenais pas à lire les menus!
Avant d'en conclure que la machine était problématique, je finis par me débrancher, je retournai sur la console et supprimai .kde et .kderc. Tout rentra dans l'ordre. Je dus bien entendu reconfigurer le clavier.
Le nouveau bogue n'est en fait dû qu'aux inconsistances de mes manipulations. Il se résoud simplement en supprimant les fichiers de configuration de KDE hors de son contrôle. Toutefois, ce bogue ne se produit jamais en situation normale, car plusieurs versions concurrentes de KDE ne cohabitent pas sur le même système. Je voulais le relater, car il est comique et il est dommage que je n'aie pas pensé suffisamment vite pour effectuer des captures d'écran!
Au début de l'été 2003, le problème connut un retour en force. Contrairement à ce que j'espérais, le laboratoire d'optimisation avait encore des machines RedHat 7.1 avec KDE 2. Il apparut, pour envenimer encore les choses, des machines RedHat 8 avec KDE 3! Ainsi, KDE 2 et KDE 3 cohabitaient dans le même laboratoire et d'autres que moi vécurent des problèmes similaires aux miens sans pouvoir les résoudre complètement. Le passage de KDE 3 à KDE 2 avait aussi un autre effet caché. Il se créait un processus KDEINIT en live lock qui prenait 99% du CPU. Parfois, les raccourcis clavier cessaient de fonctionner, les menus étaient inaccessibles et il devenait impossible de quitter KDE normalement. Le processus KDEINIT en live lock restait actif au-delà de la fermeture de la session, nuisant de façon significative au prochain utilisateur se branchant sur la machine. Pour supprimer le processus, il fallait que l'utilisateur se rebranche sur la machine et le tue manuellement ou que la machine soit redémarrée. J'avais découvert que l'incompatibilité se situait dans le répertoire .kde uniquement; inutile de supprimer Desktop et quoi que ce soit d'autre! La solution finale résiderait ainsi dans l'élaboration d'un commutateur de lien symbolique qui permettrait de posséder plusieurs répertoires de configuration KDE.