Ces derniers jours, plusieurs utilisateurs Windows nous ont signalé la même chose : après une utilisation normale, CNC Code ne démarrait plus. Pas une erreur de temps en temps. Elle ne s'ouvrait tout simplement plus, et ne s'ouvrait pas non plus à la tentative suivante. Ceux qui se sont retrouvés dans cette situation se sont vus exclus de leur propre programme sans avoir rien fait de mal, et c'est le genre de problème qui nous dérange le plus.
Nous avons trouvé la cause, et cela vaut la peine de la raconter car elle est moins exotique qu'il n'y paraît.
Un fichier de deux lignes
CNC Code conserve un petit fichier avec les préférences de l'interface : la langue choisie, la dernière vue, peu de choses. Ce fichier est réécrit entièrement chaque fois que quelque chose change. Si, au moment précis où il est en train d'être réécrit, l'ordinateur s'éteint, se met en veille, ou si le programme est fermé de force, le fichier conserve la bonne longueur mais contient du vide à l'intérieur.
À la réouverture, l'application va le lire, ne trouve rien de lisible et s'arrête. Et comme ce fichier reste tel quel, elle s'arrête aussi le lendemain, et le surlendemain encore. Un détail insignifiant qui bloque tout.
Ce que nous avons changé
Maintenant, avant même de le lire, l'application examine ce fichier. S'il est illisible, elle le met de côté et démarre tout de même. Seules les préférences de l'interface sont perdues, comme la langue : licences, projets, programmes et bibliothèques d'outils restent tous à leur place.
Nous avons aussi fait un pas de plus, pour qu'un tel problème ne soit plus possible une deuxième fois : depuis cette mise à jour, l'application écrit ses propres fichiers soit entièrement, soit pas du tout. L'état intermédiaire où un fichier semble exister mais n'existe pas n'existe plus.
Dans la même mise à jour, nous corrigeons deux autres fermetures intempestives qui nous avaient été signalées : l'une se produisait en faisant glisser la barre de défilement pendant que la liste en dessous était reconstruite, l'autre en ouvrant un menu pendant qu'un écran était encore en train d'apparaître. Des cas de quelques instants, difficiles à reproduire à volonté, et donc particulièrement pénibles à trouver.
Si cela vous est arrivé et que vous n'avez pas encore mis à jour
Vous pouvez débloquer l'application tout de suite. Fermez CNC Code, appuyez simultanément sur la touche Windows et la touche R, collez ceci dans la fenêtre "Exécuter" et appuyez sur Entrée :
%APPDATA%\it.benstudios\cnc_codeUn dossier s'ouvre. Supprimez le fichier indiqué et rouvrez le programme. Vous ne perdrez que les préférences de l'interface.
Merci à ceux qui nous l'ont signalé
Un problème qui se présente par intermittence, sur une seule machine, ne se découvre que si quelqu'un prend la peine de nous l'écrire. Ceux qui l'ont fait nous ont fait gagner des semaines. Si vous rencontrez quelque chose qui ne va pas, ouvrir un ticket depuis l'application est le moyen le plus rapide de nous le faire savoir : chaque signalement arrive vraiment sur notre bureau.




