Projet

Général

Profil

Tâche #8949

Scénario #8827: Focus gen_config

Boucle infini possible dans les fills/autos

Ajouté par Emmanuel GARETTE il y a plus de 9 ans. Mis à jour il y a plus de 9 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
Début:
19/09/2014
Echéance:
07/11/2014
% réalisé:

100%

Temps estimé:
1.00 h
Temps passé:
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

Révision 7788692d (diff)
Ajouté par Emmanuel GARETTE il y a plus de 9 ans

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

#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)

Formats disponibles : Atom PDF