Projet

Général

Profil

Actions

Anomalie #6192

fermé

PHP Fatal error: Call to a member function getOption() on a non-object in /…/FDL/Class.Doc.php on line 6954

Ajouté par Jérôme Augé il y a environ 10 ans. Mis à jour il y a environ 10 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
25/02/2016
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:
Principaux fichiers impactés:
Complexité:
Contrôle:
Thème:
Socle technique
Régression:
Non

Description

1) PHP Fatal error: Call to a member function getOption() on a non-object in /…/FDL/Class.Doc.php on line 6954

Suite à une migration d'une installation pre-3.2 vers 3.2.19, lors de la consultation d'un document d'une famille donnée on a l'erreur suivante :

PHP Fatal error: Call to a member function getOption() on a non-object in /…/FDL/Class.Doc.php on line 6954
PHP Stack trace:
PHP 1. {main}() /…/index.php:0
PHP 2. ActionRouter->executeAction() /…/index.php:77 â
PHP 3. executeAction() /…/WHAT/Class.ActionRouter.php:37
PHP 4. Action->execute() /…/WHAT/Lib.Main.php:339
PHP 5. Layout->gen() /…/WHAT/Class.Action.php:618
PHP 6. Layout->ParseZone() /…/WHAT/Class.Layout.php:620
PHP 7. preg_replace_callback() /…/WHAT/Class.Layout.php:290
PHP 8. Layout->{closure:/…/WHAT/Class.Layout.php:286-289}() /…/WHAT/Class.Layout.php :290
PHP 9. Layout->execute() /…/WHAT/Class.Layout.php:288
PHP 10. Action->execute() /…/WHAT/Class.Layout.php:364
PHP 11. viewcard() /…/WHAT/Class.Action.php:602
PHP 12. Doc->viewDoc() /…/FDL/viewcard.php:186
PHP 13. Doc->viewbodycard() /…/FDL/Class.Doc.php:6762

Cette stacktrace est pour dynacase-core 3.2.19, et le code concerné (ligne 6945 en 3.2.19) doit être ligne 7073 (en 3.2.20).

L'erreur semblait provenir du fait que la famille contenait deux définitions de MODATTR pour des attributs qui n'existaient plus en 3.2.19 :

  1335 |                      | :us_domain           | 
  1335 |                      | :us_iddomain         | 

2) Call to undefined method stdClass::getTab()

Sur la même installation, une erreur "Call to undefined method stdClass::getTab()" était levée ligne 212 dans `Class.DocAttribute.php` :

 if ($this->fieldSet && ($this->fieldSet->id != BasicAttribute::hiddenFieldId)) return $this->fieldSet->getTab();

Cette erreur était apparemment dû à un attribut référençant une frame qui n'existe plus.

Mis à jour par Marc Claverie il y a environ 10 ans

  • Statut changé de Nouveau à Pris en compte
  • Version cible mis à 3.2.21

> détection de l'absence d’attribut et envoyer un message d'erreur spécifique (explicite)
> pas de code de check au run-time des structures de familles (problématique liée à des migration 3.x vers 3.2. ou des changements par le développeur en phase de développement). En 3.2 check à l'import.

Mis à jour par Marc Claverie il y a environ 10 ans

  • Assigné à mis à Jérôme Augé

Mis à jour par Éric Brison il y a environ 10 ans

  • Statut changé de Pris en compte à Assigné

Mis à jour par Jérôme Augé il y a environ 10 ans

  • % réalisé changé de 0 à 100

Mis à jour par Éric Brison il y a environ 10 ans

  • Statut changé de Assigné à Intégré

Appliqué par commit commit:dynacase-core|aa87fbf154a6bf2214f7e4ee23dab64b931f0ceb.

Actions

Formats disponibles : Atom PDF