π
<-

NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby parisse » 30 Apr 2021, 07:55

Donc ce serait peut-etre un probleme interne a Omega.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3663
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby redgl0w » 30 Apr 2021, 08:03

Fime wrote:Apres cette MAJ j'ai donc repris le développement très vite et j'ai pondu un script d'environ 16ko (et le jeu étais pas fini !). Enfin, bref, ma calculatrice s'est reset quand j'ai voulu entrer dans l'application suites (et j'avais pas fait de backup le soir précédent, j'vous jure j'étais sur le cul \o/ ).

Depuis que numworks a corrigé le problème avec le gc (donc depuis qu'on est sur omega 1.21 (cf. le bug)), je n'ai pour l'instant jamais eu de crash avec omega...
Fime wrote:Donc ma remarque/question est la suivante : je ne m'y connais pas très bien en architecture système, mais n'y a-t-il pas un risque de "collision" de mémoire entre applications qui causerais des bugs?
Est-ce que ce potentiel problème a été pris en compte ?

Dans le cas de external (à la base) et de toutes les autres apps sur numworks, elles s'executent dans un buffer commun. Augmenter le sizeof d'une app n'est donc pas censé influencer les autres applications, tant que ce buffer arrive à rentrer dans la ram.

Fime wrote:D'autant plus que numworks, eux (qui on conçu le système) limitent leur tas à seulement un tier de celui de Omega (comme on l'a dit, environ 33ko). Serais-ce par mesure de sécurité ?

Un contre exemple tout simple est le fait qu'avant ils le limitaient à 16Ko, et encore moins avant. La seule sécurité qu'ils prennent en le gardant bas est que s'ils augmentaient le heap python, ils seraient d'une certaine manière bloqués avec cette valeur là, car un retour en arrière casserait la compatibilité avec bon nombre de scripts.
Image
User avatar
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 62.7%
 
Posts: 285
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Grenoble
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENSIMAG 1A
Twitter: Gl0wRed
GitHub: RedGl0w

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby redgl0w » 30 Apr 2021, 08:06

parisse wrote:Donc ce serait peut-etre un probleme interne a Omega.

J'ai réfléchi, et une autre origine d'une problème serait que la mémoire qui est malloc n'est peut être pas à 0 (il faudrait que je relise précisément les détailles pour m'en assurer).
Image
User avatar
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 62.7%
 
Posts: 285
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Grenoble
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENSIMAG 1A
Twitter: Gl0wRed
GitHub: RedGl0w

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby Lionel Debroux » 30 Apr 2021, 08:14

Hmm ? Si l'utilisation de calloc (malloc+memset) modifie des comportements, ça veut dire que le code est incorrect (UMRs), et en général, c'est ça qu'il faut corriger.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby Bobb » 30 Apr 2021, 08:16

Bonjour,
A ce que je comprends, il y aurait deux interpréteurs python sur une numworks avec KhiCas ?

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 0.3%
 
Posts: 319
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby redgl0w » 30 Apr 2021, 08:19

Lionel Debroux wrote:Hmm ? Si l'utilisation de calloc (malloc+memset) modifie des comportements, ça veut dire que le code est incorrect (UMRs), et en général, c'est ça qu'il faut corriger.

Code: Select all
void *_sbrk (int nbytes)
retourne une adresse qui n'est pas forcément à 0, ça j'en suis plutôt sûr (pas à 100% quand même). Mais je n'ai pas trouvé l'info si lorsqu'on malloc / calloc, par défaut il memset0 la mémoire fraichement retournée par _sbrk...
Image
User avatar
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 62.7%
 
Posts: 285
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Grenoble
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENSIMAG 1A
Twitter: Gl0wRed
GitHub: RedGl0w

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby Fime » 30 Apr 2021, 08:29

redgl0w wrote:
parisse wrote:Donc ce serait peut-etre un probleme interne a Omega.

J'ai réfléchi, et une autre origine d'une problème serait que la mémoire qui est malloc n'est peut être pas à 0 (il faudrait que je relise précisément les détailles pour m'en assurer).


Ma mauvais fois dit :
Vous integrez des fonctionnalités potentielement dangereuse qui touchent à la memoire sans savoir ce que ça peut causer ...


Sinon pourquoi ne pas "rétrograder" à 64ko, pour moi ça serait suffisant je pense ...
User avatar
Fime
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 0%
 
Posts: 12
Joined: 05 Nov 2020, 19:35
Location: Lyon - France
Gender: Male
Calculator(s):
MyCalcs profile
Class: INSA Lyon promo 67
GitHub: fime-space

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby redgl0w » 30 Apr 2021, 08:33

Fime wrote:
redgl0w wrote:
parisse wrote:Donc ce serait peut-etre un probleme interne a Omega.

J'ai réfléchi, et une autre origine d'une problème serait que la mémoire qui est malloc n'est peut être pas à 0 (il faudrait que je relise précisément les détailles pour m'en assurer).


Ma mauvais fois dit :
Vous integrez des fonctionnalités potentielement dangereuse qui touchent à la memoire sans savoir ce que ça peut causer ...

Avec python, je n'ai pour l'instant jamais eu de problèmes personnellement (depuis que numworks ont fix leur problème, donc je parle uniquement de la 1.22).
Pour external, le heap python n'a vraiment rien à voir avec ça, et je crois plus à un problème dans l'affichage des apps dans le menu home (il y a eu bien un memory leak dedans, alors pourquoi pas d'autres problèmes ?).
Image
User avatar
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 62.7%
 
Posts: 285
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Grenoble
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENSIMAG 1A
Twitter: Gl0wRed
GitHub: RedGl0w

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby parisse » 30 Apr 2021, 09:00

Je n'ai pas regarde dans le code source, mais je trouverais quand meme bizarre que MicroPython suppose quoi que ce soit sur la memoire renvoyee par malloc lors de l'initialisation du tas.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3663
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: NumWorks Omega 1.21 : 100K de heap pour scripts Python !

Unread postby critor » 30 Apr 2021, 09:05

parisse wrote:
redgl0w wrote:Quelques suggestions de tests pour isoler mieux le probleme: reduire la taille du tas micropython dans les parametres de KhiCAS et voir si les programmes de critor tournent ou pas.


J'ai réduit le tas à 16K. Cela ne fait pas disparaître les diverses anomalies de l'édition Omega de KhiCAS. Voici une série de manipulations déclenchant 3 anomalies différentes, montrées en vidéo ci-après :
  • je passe le tas à 16K
  • je charge le script de remplissage du tas et le lance
  • anomalie n°1 : après 0,2s, bizarrement, l'affichage se fige, je dois appuyer sur une touche pour avoir la suite
  • je charge ensuite le script de seuil sur les flottants et lance seuil(0.008)
  • après 7s, le script semble peut-être se terminer vu le changement dans la barre de titre
  • anomalie n°2 : mais il se termine sans rien afficher, ni résultat ni exception
  • la calculatrice s'éteint après 15s
  • anomalie n°3 : quand je rallume la calculatrice, elle affiche bizarrement une exception KeyboardInterrupt



Pour les anomalies n°2 et 3, je ne les ai pas avec l'édition Delta de KhiCAS.
Pour l'anomalie n°1, je ne sais pas. Je ne dispose que d'une seule NumWorks N0110, donc c'est assez lourd pour moi d'avoir à chaque fois non seulement à changer de firmware, mais en plus à réinstaller l'application KhiCAS vu que ses éditions Omega et Delta ne sont pas interchangeables.

Il me semble que l'appli distribuée par Omega a été recompilée de façon différente. Peut-être n'est-ce pas le firmware Omega, mais cette recompilation qui induit cette collection de dysfonctionnements...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

PreviousNext

Return to News NumWorks

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
851 utilisateurs:
>836 invités
>7 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)