IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[0.9.31] Erreur "heap dump by heaptrc unit" à la sortie [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Invité
    Invité(e)
    Par défaut [0.9.31] Erreur "heap dump by heaptrc unit" à la sortie
    Bonjour,

    Après un mois de non-utilisation de Lazarus et comme j'ai un peu de temps (ici en Normandie, c'est le début des vacances scolaires), mais pour en gagner (du temps), comme Lazarus n'est plus sur mes appareils, j'ai voulu installer la dernière release win32 SVN 0.9.31 pour modifier un de mes anciens programmes (ajouter une fonction).

    La dernière release a l'air (cf plus bas) de fonctionner normalement mais quand je la quitte, j'ai ce message d'erreur aussi bien sur mon portable que sur mon appareil de développement (pas la même, cela dépend de l'appareil utilisé, des composants installés, et du projet). Mais même avec un projet simple :

    .

    Est-ce normal (l'erreur existait mais n'était pas signalée)... où quelque chose est-il à préciser ?

    J'ai voulu également installer une indylaz... Pffff... L'interface d'installation des composants est buggée au niveau de l'ajout des fichiers. J'ai dû carrément modifier à la main le indylaz.lpk pour l'installer en une fois...

    Beacoup plus grave, je rencontre également un problème bizarre avec la nouvelle version dans un traitement [Lecture Fichier.ini encodé en UTF8 et repéré comme tel --> TStringList (Nom des rep à sauvegarder) --> Tab.zipper (Abbrevia)]. Avec un Fichier.ini encodé en ANSI cela passe sans problème. Donc lors de la détection de l'encodage UTF8, j'ai modifié la programmation pour "régler" le problème.

    Avec la nouvelle SVN, aucun problème à la compilation mais plantage systématique de l'exe lorsque le "problème UTF8" est rencontré. Compilé avec la vieille SVN 0.9.31, l'exe "passe". Les directives de compilation entre les 2 versions sont strictement les mêmes. Alors, ne seraient-elles pas interprêtées de la même façon dans les 2 releases ?

    J'ai la désagréable impression d'être revenu "à la mauvaise période" alors que quand j'ai arrêté, il y a un mois, je n'avais aucun prob. avec la SVN 0.9.31 que j'utilisais (je viens de vérifier)... et qui me permettait de compiler justement le programme à corriger, programme qui m'a servi à archiver mes vieilles sources et codes lazarusiens .

    A titre d'information - ce n'est pas essentiel pour ma modification, je corrige et recompile avec ma vieille version-, pour ceux qui ont suivi l'évolution de Lazarus depuis un mois, c'est dû à la sortie de la 0.9.30 tous ces prob. sur la 0.9.31 d'autant qu'en lisant le forum, il semble que la 0.9.30 n'ait pas l'air de vraiment présenter les caractères de finition requis pour posséder une numérotation paire ?

    J'ai un peu de temps mais pas celui de l'installer sur mon Ubuntu pour voir si c'est propre à la version Win32.

    Cordialement. Gilles
    Dernière modification par Alcatîz ; 24/04/2011 à 08h12. Motif: titre plus explicite pour les moteurs de recherche ;)

  2. #2
    Membre éclairé Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Points : 790
    Points
    790
    Par défaut
    Bonjour

    Tu as installé le dernier snapshot journalier, donc tu as du lire ceci:
    BEWARE: These snapshots are generated automatically and are untested. The only thing we can say is, that the compiler found the source good enough to compile.

    Il ne faut pas oublier que ce n'est pas une release officielle, juste une version de travail pour les développeurs. Des régressions sont malheureusement possible. Par exemple, la version 0.9.31 du 23 avril peut compiler correctement une source alors que celle plus récente du 24 avril ne le pourra peut-être pas. D'où l'intérêt de remonter les problèmes rencontrés sur le Bug Tracker.

    Pour ma part, j'utilise la 0.9.31 du 15 janvier 2011 et comme je n'ai pas eu de problème majeur avec celle-ci, je me suis abstenu de faire toute mise à jour.

    J'ai toujours en ma possession l'exécutable d'installation de cette release, si tu est intéressé, je peux te la mettre en ligne.

    Pat.
    À +
    Pat.


    Si vous avez trouvé chaussure à votre pied... euh solution à votre problème, n'oubliez pas de clôturer le sujet en le marquant comme:
    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    Windows 8.1, Lazarus 1.8.2 SVN 57369 FPC 3.0.4 x86_64-win64-win32/win64

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour Pat,

    Merci, je dispose d'un grand nombre de "vieilles" versions.

    La plaisanterie toute lazarusienne des versions stables et instables, je pratique depuis longtemps (0.9.24)... et me suis suffisamment impliqué sur le bug tracker pour connaître le système un peu (euh disons) chaotique de l'Evolution: j'aime ainsi rappeler que la dernière version stable 0.9.28 ne savait pas gérer les colonnes invisibles des TStringGrids et que le patch a été proposé dans la 0.9.31 et non pas la 0.9.29 en attendant la 0.9.30 qui se faisait... attendre.

    Aussi ne serait-il pas étonnant, par exemple, qu'une 0.9.31 qui fonctionnait bien se transforme en 0.9.31 qui ne fonctionne plus... pour rester compatible avec une 0.9.30 qui devrait être "stable" et ceci dans la mesure de vos propos : "Seule la 1.0 sera considérée comme stable"... Ce qui en soit est discutable parce qu'en attendant la 1.0, il faut bien des programmeurs réguliers et expérimentés pour utiliser Lazarus et de manière suffisamment stable pour qu'un programme écrit il y a un mois avec une 0.9.31 fonctionne aujourd'hui avec la dernière 0.9.31... La moquerie est facile mais il faut bien reconnaître qu'en dehors de toutes ses qualités, à ce sujet (la gestion des versions), Lazarus prête bien le flanc.

    Pour redevenir sérieux, en réalité, ici finalement, c'est une question de réglages par défaut et d'affichage explicite ou non des réglages. C'est une mauvaise manie de l'Equipe Lazarus. La partie "Réglage de la machine" change de présentation régulièrement et en même temps les réglages par défaut... Ce qui ne simplifie évidemment pas le repérage des modifications par défaut. Je me rappelle d'un {H+} qui avait disparu par défaut... avec des conséquences que l'on peut imaginer lors de la création de nouvelles pages avec la nouvelle version dans un programme qui avait déjà été réalisé avec une ancienne version...

    Comme j'ai pris du recul et ma retraite avec Lazarus que je n'utilise plus qu'épisodiquement... et qui donc était désinstallé de mes PC, le snapshot me semblait plus rapide (et plus habituel) que de décompresser mes archives (et mes vieilles versions). Dans un premier temps, j'ai dû m'y résoudre. Mais ce n'est pas vraiment pas satisfaisant :

    "When the program exits, or when you request it explicitly... If you use the -gh switch, the compiler will insert the unit by itself, so you don't have to include it in your uses clause"...
    L'information datée de Nov 2010 sur Reference for unit 'heaptrc' permet de régler partiellement le problème (pas d'affichage à la sortie) --> Options par défaut de la dernière 0.9.31 : -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa. Mais il n'empêche que le problème subsiste. Ce n'est pas en cassant le thermomètre que la température baisse.

    Dans une vieille C:\lazarus\0.9.29-27844-fpc-2.4.3-20101025, la case Option est vide et par défaut les directives ne contiennent pas -gh, contrairement à celles de la nouvelle 0.9.31 qui la contient par défaut. J'ai donc ajouté -gh dans les directives. Un message du même type apparaît. Le rapport indique une erreur "... should be... ".

    Est-ce significatif ? Autrement dit:
    1. L'erreur signifiée existe-t-elle ? (ie l'add-on heaptrc est-il fiable ?)
    2. Si oui, quelle incidence sur le bon fonctionnement du programme ou sur ses "bonnes" relations avec l'OS ?
    Pour le problème UTF8 évoqué dans ma question, c'est réglé aussi. Une incompréhension entre Lazarus et "Abbrevia qui fonctionne en mode Delphi". Et là, c'est totalement de ma faute. J'ai oublié de reporter un réglage "par défaut" personnel.

    Bon, je ne vais pas plus loin dans mes recherches... sinon je vais redevenir "accro"... et je dois bien reconnaître qu'il ne faudrait pas grand chose.

    Merci pour votre aide.
    Cordialement. Gilles
    Dernière modification par Invité ; 25/04/2011 à 10h37. Motif: Orthographe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JNI]erreur Java heap space
    Par dsryam dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 26/06/2009, 21h49
  2. Erreur Java Heap Space
    Par lylau dans le forum Développement de jobs
    Réponses: 14
    Dernier message: 26/05/2009, 11h04
  3. ImageIO.read erreur Java Heap Space
    Par GrooveRage dans le forum Graphisme
    Réponses: 1
    Dernier message: 12/03/2008, 21h33
  4. [débutant] erreur "indice de liste hors limites(1)"
    Par lidouka dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo