Bug plantage Basic TI-84 Plus CE et TI-83 Premium CE
Posted: 29 Mar 2015, 11:30
Pour la rentrée 2015, Texas Instruments introduit une nouvelle génération de calculatrices couleur basées sur la technologie eZ80 :
Nous ne sommes donc pas étonnés dans ce contexte de voir apparaître de nouveaux bugs.
Contrairement aux modèles antérieurs, Il est en effet désormais possible de faire planter la calculatrice en seulement quelques lignes de TI-Basic :
Nous obtenons donc quasi immédiatement un blocage du système sur l'écran illustré ci-contre avec tous les OS 5.0 testés, le dernier en date étant le 5.0.0.0089.
Ce programme bien évidemment inutile a été obtenu par suppression progressive de lignes à partir d'une version de développement de notre programme CEXP.
(la version publiée de CEXP a été prévue pour ne pas déclencher le problème)
Les caractères minuscules sont ici obtenus via le menu statistiques - et non par l'éditeur de TI-Connect CE.
Nous n'arrivons pas à réduire davantage - des suppressions de lignes, ou modifications/suppressions de caractères au niveau des chaînes font disparaître le problème.
Cela ne semble donc pas être une instruction isolée qui serait problématique, mais bien une combinaison d'instructions, ici des chaînes et listes faisant appel à la dernière réponse dans une boucle.
Nous supposons que une ou plusieurs des instructions ont un effet de bord non souhaité sur l'environnement, et que par corruptions successives cela finit par perturber les instructions suivantes.
Au cours de nos tentatives de réduction du code du programme CEXP alors problématique, il nous est arrivé mais avec beaucoup plus de lignes que le problème ne plante pas le système, mais déclenche une erreur qu'il ne devrait pas (erreur de dimension sur une affectation de liste qui ne devrait pas échouer).
Dans ce cas-là nous pouvions justement constater la corruption partielle des données de l'environnement.
En effet sur capture d'écran ci-contre, nous notons une liste n'ayant rien à voir avec le calcul saisi (elle aurait du se terminer par 1 et 0).
Elle contient notamment des nombres impossibles à saisir (exposant de puissance de 10 supérieur en valeur absolue à 99, affichage du symbole radian 'r' au milieu de la mantisse d'un nombre...).
Le bug a été signalé à Texas Instruments.
Mais en attendant sa correction, il est donc possible de faire joujou avec sa calculatrice CE en générant des comportements non documentés !
Comme on dit à propos de Microsoft Windows, "It's not a bug, it's a feature" !
- la TI-83 Premium CE pour la France
- la TI-84 Plus CE-T pour l'Europe
- la TI-84 Plus CE pour l'Amérique du Nord
Nous ne sommes donc pas étonnés dans ce contexte de voir apparaître de nouveaux bugs.
Contrairement aux modèles antérieurs, Il est en effet désormais possible de faire planter la calculatrice en seulement quelques lignes de TI-Basic :
- Code: Select all
While not(getKey
"abcd...........
"Searc.."+Ans
{1→⌊A
End
Nous obtenons donc quasi immédiatement un blocage du système sur l'écran illustré ci-contre avec tous les OS 5.0 testés, le dernier en date étant le 5.0.0.0089.
Ce programme bien évidemment inutile a été obtenu par suppression progressive de lignes à partir d'une version de développement de notre programme CEXP.
(la version publiée de CEXP a été prévue pour ne pas déclencher le problème)
Les caractères minuscules sont ici obtenus via le menu statistiques - et non par l'éditeur de TI-Connect CE.
Nous n'arrivons pas à réduire davantage - des suppressions de lignes, ou modifications/suppressions de caractères au niveau des chaînes font disparaître le problème.
Cela ne semble donc pas être une instruction isolée qui serait problématique, mais bien une combinaison d'instructions, ici des chaînes et listes faisant appel à la dernière réponse dans une boucle.
Nous supposons que une ou plusieurs des instructions ont un effet de bord non souhaité sur l'environnement, et que par corruptions successives cela finit par perturber les instructions suivantes.
Au cours de nos tentatives de réduction du code du programme CEXP alors problématique, il nous est arrivé mais avec beaucoup plus de lignes que le problème ne plante pas le système, mais déclenche une erreur qu'il ne devrait pas (erreur de dimension sur une affectation de liste qui ne devrait pas échouer).
Dans ce cas-là nous pouvions justement constater la corruption partielle des données de l'environnement.
En effet sur capture d'écran ci-contre, nous notons une liste n'ayant rien à voir avec le calcul saisi (elle aurait du se terminer par 1 et 0).
Elle contient notamment des nombres impossibles à saisir (exposant de puissance de 10 supérieur en valeur absolue à 99, affichage du symbole radian 'r' au milieu de la mantisse d'un nombre...).
Le bug a été signalé à Texas Instruments.
Mais en attendant sa correction, il est donc possible de faire joujou avec sa calculatrice CE en générant des comportements non documentés !
Comme on dit à propos de Microsoft Windows, "It's not a bug, it's a feature" !