L’instance ne se charge plus et impossible d’y accéder aux BO pour corriger le bug. La dérniére manip que j’ai faite était de changer le Field Id dans la foreign key (Facture_Projet_Id) d’une relation entre l’objet “Facture” et “Projet”.
J’ai vu que le lien entre ces deux objet a disparu, surement à cause du Field id dans la relation que j’ai changé (il était vide d’ailleurs)
Pouvez vous nous aider svp à corriger ce bug ? je pense qu’il faut passer par la base de donner et corrigé ce lien entre ces deux BO, je n’ai pas encore la connaissance nécessaire sur les tables de simplicité qui gèrent les BO et les relations.
Je voulais dire je n’arrive toujours pas à ouvrir le business object “Facture”.
Je pense que c’est un lien entre deux business object que j’ai cassé en faisant des tests hier, mais comme je ne peux plus accéder au business object “Facture” je ne peux pas corriger ce probléme. avez vous des préconisation svp ?
Pour corriger votre pb n’ accédez pas à l’objet en question mais passez par Administration > Business object > etc. et rectifiez votre paramétrage si vous pensez que c’est ça votre pb.
OK très bien, maintenant que la situation est débloquée, décrivez nous précisément le paramétrage qui a abouti à cette situation où l’instance est “partie en boucle” afin qu’on regarde si on peut faire quelque chose pour éviter à d’autres ce pb.
Oui si on arrive à isoler ce type de paramétrage ce serait bien.
Dans un cas général, il faudrait créer un mode rescue/sans echec au démarrage pour que simplicité ne charge que ses propres modules systèmes pour pouvoir corriger ce genre de paramétrage qui part en boucle infinie (à mon avis une FK qui pointe sur elle-même ou une boucle sans fin dans les hooks).
Une boucle infinie d’appel de méthode finit en stack-overflow donc ne bloque pas la JVM
Fut un temps ou pouvait faire un dump de la JVM avec tous ses threads + heap : plus facile pour détecter dans les stacks la méthode qui boucle.
Mais une boucle infinie dans une fonction (platform ou object hooks), là on peut rien faire, sauf créer un redémarrage en rescue => pas de hooks, que du system…
Bref @Sofiane94 on voudrait avoir une description précise du paramétrage qui vous a mis dans ce pb.
C’est pas pour vous embêter ou vous faire perdre du temps, c’est pour essayer de comprendre le cas et, si possible, le “blinder” pour les autres qui pourraient éventuellement tomber dans le même cas.
Ce forum est un forum d’entraide, ça marche dans les deux sens . Merci d’avance
Pas de soucis, avec plaisir
en fait mon besoin était de définir le champ qui va servir de “picker” pour un objet liée, j’ai pas trouvé un moyen de le faire visiuellement sur la template, j’ai pensé à modifier dans le Lien entre mes 2 business object : j’ai donc modifié la foreign key et c’est ce qui a causé ce problème
Oui je parlais de hooks qui s’appelleraient en boucle (ex courant : un postSave qui refait un save sur la même instance), ça finit toujours par une exception de stack-overflow.
Mais un while(true) au postLoadGrant, là même un accès I/O à la Gandalf ne passera pas.
OK @Sofiane94, merci pour le retour, peut on voir la définition de l’attribut Facture_Projet_id ?
PS1: le nommage de vos attributs et de vos objets n’est pas très bon, pourquoi n’utilisez vous pas les préfixes de modules et d’objets qui proposent des nommages plus rigoureux/uniques ?
PS2: le template editor permet la création de relations :
Merci David pour les détails, effectivement je me suis rendu compte trop târd.
En tout cas c’est juste un use case justement le but est de monter en compétence sur simplicité.
Avec les éléments fournis je ne vois pas trop pourquoi ce que vous avez paramétré aurait pu provoquer un pb comme celui que vous avez eu (100% de CPU).
Vous aviez aussi paramétré l’object field de la FK ? Mais bon si vous ne l’aviez pas fait, au pire vous auriez eu une simple erreur de requête SQL, pas une instance qui part en boucle…