Accueil - Site des Utilisateurs de Heredis  
 

 plan  contact  liens
août 2008

 

 

Un bogue majeur nommé "Larray"

Description du phénomène
Circonstances
Que faire ?
Mise à jour H7
Fichier vérolé ?

Résumé : dans certaines circonstances imprécises un message d'erreur survient dans Heredis. A sa suite on constate souvent la destruction d'une grande partie des données du fichier généalogique. Ce texte vise à :

vers le haut

Description du phénomène

vers le haut

Ce bogue se déclenche surtout avec Heredis 2000 et d'autant plus facilement que la version utilisée n'est pas la dernière. Pour rappel la dernière version de Heredis 2000 est la 5.2.179, datée du 7 septembre 2000, téléchargeable gratuitement sur le site de BSD. L'installation de ce patch diminue les risques d'apparition de ce bogue sans complètement supprimer le risque.

Sous Heredis 2000 ce bogue arrive encore avec les configurations suivantes :
AMD K6-3 400 Mhz, 64 Mo, - Olivier Laroche
PC PII, 64 M, Windows Me, - Renaud Anzieu

Sous Heredis 2001 ce bogue semble moins fréquent, même s'il s'est déjà produit (trois fois à la date du 17/7/01), mais il faudra attendre encore quelques mois d'utilisation pour confirmer ce sentiment de moindre risque, qui de toute façon n'est pas nul.

Quelques cas certains sont signalés avec la version Heredis 7. La prudence est de mise.

Pour une raison inconnue (nous reviendrons plus loin sur des circonstances possibles de déclenchement), en ouvrant ou en voulant revenir sur Heredis après utilisation d'un autre logiciel ou après une mise en veilleuse de votre ordinateur ... :

Remarques :

  1. Il y a beaucoup de variantes de ce messages d'erreur

  2. Il a été signalé souvent que le second message pouvait revenir en boucle sans possibilité de sortie de Heredis autrement que par une interruption brutale (CTRL+ALT+Suppr).

  3. Il semble que souvent le fichier soit totalement vérolé et inutilisable.

  4. Il est aussi possible que le fichier soit même déjà inutilisable avant l'apparition de ce message d'erreur qui ne fait que constater un état de fait.

  5. Il n'existe qu'une seule parade certaine à ce problème : avoir plusieurs versions de sauvegardes. En effet il est aussi possible que votre dernière sauvegarde soit déjà vérolée. Il vaut donc mieux avoir au minimum 4 ou 5 sauvegardes.

vers le haut

Circonstances

vers le haut

Nous allons tenter ici de donner des témoignages précis sur l'environnement et les tâches à effectuer par l'utilisateur quand le bogue survient :

Introduction : avec version 6.1.1.22 par Renaud Anzieu
Avec la version Heredis 2001 ce problème est devenu extremement rare. Mais on ne peut pas dire qu'il soit totalement éradiqué. A ce jour et "dûment" répertorié les cas de plantage Larray se compte sur les doigts d'une main. Le résultat est néanmoins lourd : la perte définitive de données. En voici un exemple (décembre 2001 et fév 2002).

Précisions techniques :
Le problème semble venir de Hérédis (je ne pense pas que Windows puisse être incriminé). C'est toujours le même message d'erreur qui apparait lorsque le problème se déclare. Ce message mentionne le fichier H6TSTPACKAGE.BPL.

[Ce fichier est en fait ce qu'on appelle avec les outils de programmation Delphi et C++ Builder un package (un paquet en français), c'est-à-dire une collection de composants.Les composants sont des "objets" de base, qui remplissent des fonctions plus ou moins élémentaires dans un logiciel. Le répertoire d'installation d'Hérédis comporte 13 de ces package d'extension .bpl. Ces fichiers sont des packages compilés. (peuvent être considérés comme l'équivalent des DLL d'autres programmes, c'est-à-dire qu'ils pourraient éventuellement être utilisés par d'autres logiciels.]

Il n'est pas certain à 100% que le problème Larray provienne de ce package,mais c'est tout de même fort possible. J'ai constaté que ce package contient les composants de gestion de fichier et des individus, événements, sources, lieux etc …

Pour être plus précis, je pense qu'il s'agit principalement d'un problème de gestion mémoire. Il apparaît nettement un ralentissement des performances proportionnellement au temps d'utilisation d'Heredis. J'ai l'impression qu'au fur et à mesure que les données sont lues dans le fichier source (individus, événements, lieux, sources, ...), elles sont montées en mémoire sans jamais en ressortir.
Précisément, c'est comme si les données,lorsqu'elles sont lues, sont stockées en mémoire, cette dernière n'étant jamais libérée. De plus, le message d'erreur mentionne un dépassement de capacité de la mémoire adressable (FFFFFFFF), comme si une nouvelle tentative de lecture ou d'écriture d'une donnée voulait s'effectuer en dehors de l'espace adressable.Cette technique de stockage en mémoire est probablement voulue, car cela permet de lire beaucoup plus rapidement les données que dans le cas d'un relecture sur disque (les accès mémoire sont beaucoup plus rapides que les accès disques).

J'estime que ce problème doit pouvoir se résoudre, même si ça peut remettre en cause le principe utilisé actuellement par Hérédis : une vérification régulière de l'espace mémoire disponible peut être effectué, et entrainer la libération de la mémoire avant de poursuivre l'utilisation du logiciel.

A moins bien sûr que tout le fichier soit monté en mémoire au moment du lancement d'Hérédis, ce qui ne me semble pas le cas au vu des messages sur la liste indiquant que l'utilisation est confortable même avec des gros fichiers.

SOLUTION :
- ajouter de la mémoire (256 Mo semble suffisant pour se prémunir),
- fermer Hérédis au moins une fois par jour (laisser le PC allumé
sans fermer Hérédis et s'y remettre le lendemain = courrir à la catastrophe).
Emmanuel Rogue (avril 2002)

Je suis de plus en plus persuadé que ce genre de problème est due à la gestion par Windows des allocation / déallocation de mémoire et que Heredis, comme d'autres programmes, en subit les conséquences. J'aimerais bien en avoir confirmation (ou infirmation) et si ce problème est commun aux différentes versions de Windows. Cependant Heredis2001 a au moins l'avantage qu'il signale avoir un problème ce qui n'est pas nécessairement le cas ailleurs. Même sans Heredis activé, et même avec 256 Mo de RAM, il m'est arrivé d'avoir des blocages système ou des manifestations désagréables résolues par un redémarrage Windows :
- en faisant de la saisie par lot de plusieurs dizaines d'images scannées quelque soit le logiciel interfacant avec le scanner
- en ouvrant et manipulant dans Photoshop plusieurs images d'environ 6 Mo chaque
- en manipulant simultanément plusieurs tableaux volumineux avec autant d'occurrences de Word.

(Je suis passé il y a 15 jours à 512 Mo de RAM et ajouté à mon DD de 20 Go un 2° de 80 Go.)

Mike Morice (fév 2002)

H2001 Pro : PII, 64 M, DD occupé à 85%, Windows Me, fichier de 8000 individus et 3 Mo, utilisation simultanée de Outlook 2000, connexion Internet en cours, utilisation intensive depuis plusieurs heures. Apparition du message avec perte totale des Sources et des Liens. Renaud Anzieu

Si on considère la possibilité d'un problème d'occupation mémoire, peut-être faudrait-il également envisager que l'espace libre sur disque dur puisse être trop réduit pour une gestion adéquate de la mémoire virtuelle. Mike Morice.
H2000 : 128 Mo de mémoire vive. Aucun problème "Larray". J'ai fait temporairement l'expérience avec Heredis 2000 de ne mettre qu'une seule barrette de 32 Mo. En allant faire des modifications, (dans le dictionnaire des sources notamment), les plantages et messages divers ne se sont pas fait attendre. Fichier de 40 000 personnes.
Remarques 1) Beaucoup d'ordinateurs sont commercialisés, pour des raisons économiques, avec une insuffisance de mémoire vive ! Pour information, les barrettes mémoire sont vendues à parfois moins de 250 FF (ça peut être aussi beaucoup plus, dépend du système) pour une barrette de 128 Mo 133MHz... Je signale aussi que des barrettes mémoire peuvent être reconnues au lancement de Windows et s'avérer défectueuses après une certaine montée en température. Cela se rétablit en éteignant l'ordinateur quelques instants.
2) Norton Utilities permet de tester la mémoire. Une bonne ventilation des composants est indispensable.
3) Cause possible de défaillance : Windows défaillant. Norton Utilities peut faire beaucoup... Un excellent patch de correction de Win98 (U-PACK11) est également téléchargeable sur le Web. Charles Margueritat.
Ayant à subir le message LArray 1503 en continu, les solutions trouvées (entre autre sur ce forum) pour y remédier ont été pour ma part: augmentation de la mémoire RAM à 96Mo et suivi d'une 'Vérification du fichier' . Robert Descôteaux
J'ai résolu le problème des Larray en téléchargeant le dernier patch correcteur du site BSD (5.2.179); depuis, je n'ai plus de LARRY. J'ai un fichier de 26543 noms, dont 4603 dans un seul patronyme. Je ne crois pas que cela a quelque chose à voir avec le set-up de l'ordinateur; j'ai un Pentium 233mhertz, 164Mg de mémoire vive. Les Larray se produisaient lorsque je faissais de la manipulation de patronyme et de prénoms et surtout les patronymes; changer un patronyme bloquait le patronyme précédant au niveau du prénom de l'individu changé. Rémi Vachon
Avec heredis 2000 et maintenant 2001, je n'ai jamais rencontré ce type d'erreur à la fois sur win 95, 98 et 2000. Mon fichier fait 5000 personnes généralement je n'ouvre que peu d'applications heredis bien sur et word. Joël Richard.
vers le haut

Que faire ?

vers le haut

Avant...

Après...

  1. Sortir immédiatement dès la première alerte et avant même de répondre au message d'erreur. Ne pas toucher au dossier hérédis ouvert

  2. Ouvrir l' Explorateur de fichiers – copier le fichier .HR5 en cause et surtout faites immédiatement une copie du fichier .BAK ailleurs sur le disque.

  3. Fermer les applications et redémarrer Windows. Redémarrer l'ordinateur.

  4. Reprendre la copie de Backup. Renommez son extension en HR5 (ou HR6 ou HR7 ou HR8 selon votre version). En principe le fichier de Backup n'est pas touché par le problème si vous êtes sorti assez vite. Et ainsi vous pouvez réouvrir votre fichier et retrouver toutes vos données, à l'exception des toutes dernières modifications en cours au moment de l'incident
    (NB au passage on remarque que le dossier ENORMEMENT fondu par rapport à son remplaçant)

    (attention : ne pas faire une vérification du fichier - ou alors sur une copie - ça risque d'impacter aussi votre fichier de Backup).

  5. Si aucune de ces procédures ne fonctionnent, repartez de votre dernière Sauvegarde.

  6. Pour aider BSD à résoudre ce bogue majeur vous pouvez aussi leur envoyer votre fichier en précisant au mieux les circonstances.
  7.  

Ca peut se faire après la correction de BSD ou se tenter avant. Pensez à le faire avec des copies.

Conclusion : cette tentative de synthèse n'excuse en rien le fait que Heredis, par un défaut de conception, permette la perte de données normalement enregistrées, mettant en cause le critère le plus important d'un logiciel, même de généalogie, l'intégrité des données.

vers le haut

Mise à jour H7

vers le haut

 

Plusieurs incidents/accidents de ce type sont signalés avec H7.2

Depuis les premiers problèmes signalés avec la version H2000, il y a environ 3 ans, les fichiers des utilisateurs ont grossi. Les contrôles faits par Heredis ont progressé au cours des livraisons de versions. Cependant, il est à remarquer qu'un élément n'a pas toujours évolué en parallèle, c'est la taille mémoire RAM des machines des utilisateurs !

Que les problèmes catastrophiques de fichier soient dus à Windows ou à l'utilisation qu'en fait Heredis ou internes à Heredis, il est en l'état actuel toujours nécessaire de :
- adapter la taille de RAM à la taille du (des) fichier ;
- faire des cessions Heredis d'autant moins longues que la taille RAM est relativement faible ;
- sans parler de copies de sauvegardes ;
- ET contrôler l'état de son/ses fichiers régulièrement.

Avant tout être au moins à jour de patchs pour la version de Heredis utilisée, sinon même passer à Heredis7.2. Heredis2000 reste à mon avis dangereux pour la santé des fichiers. Heredis2001 a marqué un net progrès. Et Heredis7 a à son tour progressé dans la conservation des données enregistrées.

Adapter la taille RAM - il avait été estimé que :
- 16 Mo minimum indiqués par Bsd ne peuvent être pris au sérieux.
- 32 Mo recommandés ne suffiront que pour un fichier de quelques dizaines d'individus.
- 64 Mo deviendront inconfortables (ralentissements) à partir de 3000 individus
- 128 Mo minimum devrait être conseillés pour une utilisation normale quand on atteint les milliers d'individus.
On pourrait empiriquement ajouter que :
- 256 Mo sont à conseiller avant que soit abordée la dizaine de milliers d'individus
- 512 Mo pour les très gros fichiers au delà de 50000 individus

Faire des sessions de durée modérée :
- on peut certainement ouvrir un gros fichier dans peu de mémoire, mais au fur et à mesure des consultations et modifications dans une même session l'expérience commune semble montrer que les risques de destruction augmentent d'autant plus vite que la taille de RAM est relativement faible
- donc fermer et rouvrir son fichier (et Heredis) après une utilisation d'autant plus courte que le rapport taille de fichier à taille RAM est grand
- si la RAM est juste, éviter d'avoir plusieurs programmes ouverts simultanément
- ...

Contrôler l'état de ses fichiers en exécutant l'une ou plusieurs des actions suivantes :
- faire de temps à autre une "Vérification fichier ..." mais ce n'est pas suffisant
- faire de temps à autre une "Recherche multicritères ..." de "Individu/Prénom/Contient/ZZZ" ce qui provoque un balayage complet des noms/prénoms
- faire de temps à autre un export Gedcom de l'ensemble du fichier, et, si ça passe, lancer Heredis et "Ouvrir" le fichier Gedcom résultant pour comparer au moins les compteurs avec le fichier de départ, sans oublier de vérifier le contenu du fichier "xxx.log" (mais le fichier issu du Gedcom ne peut dans plusieurs cas être un moyen de restauration parce que plusieurs types d'information se perde, si ce n'était que les Médias)
- pendant qu'on a un Gedcom complet, rechercher de possibles anomalies à l'aide de programmes comme GedRadio ou VisuGed ou autres
- ...

A noter que ce qui précède n'est qu'une opinion, pas nécessairement étayée par des preuves irréfutables.

 

Témoignage - octobre 2004 : "Étant un utilisateur de H7 depuis sa sortie, je ne croyais pas que cette version souffrait toujours du fameux problème de blocage provoqué par "LArray". À la lecture des envois des utilisateurs de Heredis et de la page Web "Larray", je me pensais au-dessus de tout cà, vu que j'ai un système assez costaud (ram:1 Go , cpu: Intel 3MHz, espace libre des DD:~200Go, Win XP pro, etc, etc).
J'ai un fichier relativement pesant d'environ 55 000 individus, j'ai fais beaucoup de manipulations, insertions, rapports, etc, etc sans n'avoir à subir quoi que ce soit de grave ou bloquant, jusqu'à ce que... effectivement, pour la première fois avec H7, j'ai demandé l'export de ce fichier en format Gedcom afin de faire une recherche à l'aide de l'utilitaire GedRadio et de ses dépendances. Or voilà qu'à la fin de l'export, je ne suis plus capable de fermer Heredis 7 et le fameux LArray apparaît avec toute sa suite de fenêtres, avertissements...
Ayant lu la façon de procéder donnée par M Anzieu sur le site Web quelques minutes avant de demander l'export Ged, j'ai arrêté Heredis par ALT+CTRL+DEL « sans répondre aux messages d'avertissement», renommé mon fichier .bak en .HR7 et tout me semble normal maintenant.
Ceci ne résoud peut-être pas le problème de blocage de M. Cagnat, mais démontre l'importance de lire les pages Web associées à la version d'un bon logiciel de généalogie (Heredis), mais qui manque de fiabilité. Robert Descôteaux"

 

vers le haut

Fichier Vérolé ?

vers le haut

Suite ou avant un problème Larray
Comment savoir si votre fichier est vérolé ? Les deux suggestions qui suivent sont sans garanties.

  1. Si le fichier est intègre la fonction d'exportation Gedcom de la totalité du fichier ne doit pas poser de problème.
  2. - faire une "Recherche multicritères" de "Individus /Prénoms /Contient/ www"
    - comme aucun n'a un tel prénom, cela force Heredis à consulter l'ensemble des individus,
    - vérifier la présence du tout dernier des individus dans une "Recherche par nom",
    - pour ce faire création d'un individu fictif de Patronyme "ZZZ" et prénom "Zzz",
    - si il disparaît c'est qu'il y a un problème,
    - demander (sans l'exécuter) à "Dictionnaire des noms" de supprimer "Les patronymes non utilisés" pour voir si la réponse semble aberrante
    - si doute vérifier quels patronymes sont candidats ce qui permet d'avoir une idée des dernières modifications ayant engendré un/des problème/s
    Attention au fait que "Vérifier fichier .." enregistre d'office ses résultats par dessus le fichier d'origine.
vers le haut