[Corrigé] CC Divers et inconstants [Corrigé]

Voir le sujet précédent Voir le sujet suivant Aller en bas

[Corrigé] CC Divers et inconstants [Corrigé]

Message par skypop le Sam 10 Sep - 3:00

Aujourd'hui (10 septembre) vers 01:30 on a commencé à voir apparaître des bus en série sur Computer Craft.

à la base il s'agissait juste de wrap des périphériques, ce qui renvoyait des erreurs "java.lang.ArrayIndexOutOfBoundsExection"
Quelques fois, on a aussi eu des messages d'erreur succincts : "188" ou "182"

On a pu tester ça dans différents chunks au spawn et ailleurs.

Personnellement j'ai testé les périphériques suivants : WorldInterface, modem, disk drive
Alors que le programme peripheral pouvait parfaitement les lister, on ne pouvait pas les assigner à une variable.
En gros (lua mode console) :
Code:
peripheral.wrap("left")
pouvait renvoyer une table
Code:
p = peripheral.wrap("left")
renvoyait une erreur. Idem pour peripheral.find()

Aussi testé peripheral.call() qui a tantôt fonctionné, tantôt pas...

Des programmes lancés en startup fonctionnaient parfaitement, quand bien même il utiliserait ces périphériques.
J'ai eu exactement la même erreur en utilisant la commande "mv"

Par moment, l'écran avait du mal à se rafraîchir. Le clavier répondait, ce qu'on écrit est pris en compte sans retard, mais pas son affichage.

Bref, j'ai pas pigé grand chose à cette série de bug, sinon que ça ne devait pas forcément être lié au périphériques.
J'espère que ça aide quand même à situer le problème.

Screenshots:









Dernière édition par skypop le Sam 10 Sep - 11:20, édité 1 fois
avatar
skypop

Messages : 94
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

Re: [Corrigé] CC Divers et inconstants [Corrigé]

Message par skypop le Sam 10 Sep - 11:19

Après en avoir discuté in-game avec Shira, il semble que ce genre de bugs se produit quand le thread CC est saturé.
ça se résous tout seul au reboot du serveur (à 04h00 et 16h00 si je me souviens bien)

Pas de solution, à moins que chacun veille à coder raisonnablement, notamment sur l'usage des boucles. Il faut songer à temporiser quand la boucle risque de tourner longtemps. En utilisant sleep() ou os.pullEvent().
avatar
skypop

Messages : 94
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum