Tâche #8949
Scénario #8827: Focus gen_config
Boucle infini possible dans les fills/autos
Restant à faire (heures):
0.0
Description
Si on créé un dico avec :
<fill name='calc_val' target='eolesso_adresse'> <param type='eole' name='valeur'>eolesso_adresse</param> </fill>
On a une boucle infini :
>>> from creole.loader import creole_loader >>> a=creole_loader() >>> a.creole.eole_sso return propname in self._getproperties() File "/usr/lib/python2.7/dist-packages/tiramisu/setting.py", line 374, in _getproperties props = copy(self._p_.getproperties(path, default_properties)) File "/usr/lib/python2.7/dist-packages/tiramisu/storage/dictionary/setting.py", line 37, in getproperties return self._properties.get(path, set(default_properties)) [..] RuntimeError: maximum recursion depth exceeded while calling a Python object
Révisions associées
détection des boucles infinies pour les callbacks (fixes #8949 @1h)
Historique
#1 Mis à jour par Emmanuel GARETTE il y a plus de 9 ans
- Statut changé de Nouveau à En cours
#2 Mis à jour par Emmanuel GARETTE il y a plus de 9 ans
- Echéance mis à 07/11/2014
- Assigné à mis à Emmanuel GARETTE
#3 Mis à jour par Emmanuel GARETTE il y a plus de 9 ans
- Statut changé de En cours à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit creole:7788692d639514fa5e8983f91e2d9aa9b6e7d3d9.
#4 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 1.0 à 0.0
testé sur amon 2.4.1:
- ajout de la condition donnée en exemple dans 21_sso.xml
- lancement de genconfig : message d'erreur "Impossible de remplir fills : Plus d'une fonction pour la cible eolesso_adresse"
le message apparait aussi dans les logs de creoled, mais il fonctionne toujours tant qu'il n'est pas relancé.
#5 Mis à jour par Bruno Boiget il y a plus de 9 ans
le message remonté dans le test n'était pas le bon (il y avait 2 conditions). après avoir commenté la fonction calc d'origine:
Creoled - Impossible de charger la configuration Creole.boucle infinie détectée pour le callback de eolesso_adresse (ok aussi dans gen_config)