Plantage aléatoire lors de l'aperçu

Hep!

Je vais avoir besoin d’un coup de main là dessus, j’en ai longuement parlé hier sur Discord.
Je suis sur Gdevelop 4.0.92, et je developpe sur la plateforme native. Gros projet, en cours depuis bientôt deux ans, donc un peu flippé si le bug devient récurrent et si je n’arrive pas à m’en défaire.

Lorsque je fais un aperçu de ma scène, aucun problème :

  1. la preview se compile, je joue/test RAS
  2. j’arrete la preview, je la relance, RAS
  3. j’arrete la preview, je la relance, RAS
  4. j’arrete la preview, je la relance… “Compilation en cours…” Gdevelop ne répond pas… crash…

C’est totalement random, ça se produit quand je ne fais aucune modification (très rarement), mais si je manipule des événements, là c’est une fois sur 4 que ça plante à la preview… et sans raison, car je rouvre le projet, je relance l’aperçu, ça tourne (je fais un ctrl+s toutes les 5 secondes donc je perds rien de mon travail).

Pour détailler ce que j’observe, au moment du crash, j’ai “compilation en cours…” dans l’aperçu, et j’ai un les objets de deux calques qui se mettent à clignoter en meme temps que ça crash par dessus le texte “compilation en cours”.

Aucun plantage d’aucune sorte si je fais une compilation en exécutable…

Ce bug me rappelle le réccurent problème de l’objet placé sur un calque inexistant… Mais là ce n’est pas le cas… je suspecte plutôt l’appelle à un objet supprimé dans un event externe, ou une référence à un objet supprimé dans une condition “Pour chaque…”. La console de Gdide_dev ne m’aide rien, elle pointe quelques éléments à éclaircir, mais lors d’un crash, elle crash avec GD, et les alertes potentielles qu’elle sort sont là même quand ça marche.

:unamused: :unamused: :unamused: :unamused:

J’essaie d’aller plus loin pour debugger, notamment j’essaie d’utiliser gdb : [url]GDevelop s'est fermé brusquement ?]

Je suis bloqué là, un truc m’échappe sur le topic à victor : Le débogueur est maintenant prêt.

Quand je fais “r”, il ne se passe rien, il ne lance pas Gdevelop, j 'ai tenté “r gdide_dev.exe” et “r c:\GDevelop\Gdide_dev.exe”, mais il aime pas, que faut-il pour lancer ce truc sous windows avant de faire un bt ?

Need help, je peux encore rollback à une version antérieure de mon projet qui ne produit pas ce problème, mais j’ai toute ma journée de boulot dimanche qui vole si je fais ça… je préférerais comprendre et apprendre à régler ce genre de problèmes pour l’avenir.

Bon pour gdb j’ai trouvé, il faut pas juste taper “gdb gdide.exe”, mais “gdb \chemincomplet\gdide.exe” ; ensuite “r” et ça marche…

Donc quand j’essaie d’ouvrir mon projet qui plante, le projet ne s’ouvre même pas, et voilà le résultat du “bt” :

Coupable : warning: HEAP: Free Heap block 208a2610 modified at 208a2650 after it was freed ?

Comment réglé ça ? J’ai peur que ça ne soit pas de mon niveau…

Hello,

EventsCodeGenerator::GenerateSceneEventsCompleteCode est l’étape de génération du code.
EventsCodeGenerator::PreprocessEventList fait référence à l’insertion d’une liste d’évènements.

Est ce que tu as des liens vers des évènements externes ? Peux tu vérifier si il n’y a pas de boucle ou de liens qui paraissent suspect ? Est ce que tu insère bien TOUT les évènements des évènements externes et pas seulement un groupe ou quelqu’un (si non, tente de changer ça) ?

C’est possible car avec gdb le programme va signaler toute erreur alors que sans, des erreurs peuvent passer et crasher l’application après, c’est le problème des langages assez manuels question gestion mémoire comme C++.

Également je suis interessé pour que tu m’envoie ton fichier de jeu actuel qui fait planter GD afin que je puisse déboguer moi même :slight_smile:

Oui pas mal d’events externe. J’insère l’intégralité des events, pas des morceaux. Rien de suspect à mon sens, ça tournait très bien, pis dimanche ça s’est mis planter à un aperçu sur deux (genre je fais un paerçu, je deplace un event vide dans un event externe, j’enregistre => aperçu => crash.

[/quote]
Oui j’ai cru comprendre lors de mes mooc :slight_smile:

Je t’envoie tout ça en mp.