Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [Résolu]Crash fin d'application  (Lu 3808 fois)

0 Membres et 1 Invité sur ce sujet

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
[Résolu]Crash fin d'application
« le: Janvier 26, 2014, 09:27:18 pm »
Comme mentionné ici : https://github.com/SFML/SFML/issues/30
le bug n'est toujours pas résolu sur la 2.1, que ce soit en statique ou dynamique , le bug est présent.
Sous Windows 7, c'est problématique , toutes mes applications qui utilise le module audio reste en tache de fond, obligé de killer le processus manuellement. C'est pas tip-top.
j'ai compris que Laurent devais modifier "en profondeur" ce module, mais en attendant, quelqu'un à t'il réussi à bricolé une béquille en modifiant les sources directement ?

Merci d'avance.
« Modifié: Janvier 29, 2014, 08:07:53 pm par Cpl.Bator »

Arneast

  • Newbie
  • *
  • Messages: 13
    • Voir le profil
    • E-mail
Re : Crash fin d'application
« Réponse #1 le: Janvier 26, 2014, 10:46:10 pm »
J'ai trouvé une "solution" pour ma part :
J'ai été sur le site d'openAl télécharger leur dernière release , j'ai mis ce nouveau dll et depuis ça ne crache plus en fin du programme et à l'air de marcher parfaitement.
Seulement j'essaye en ce moment d'aller sur leur site et il a l'air down temporairement...
http://www.openal.org/

J'ai récupérer leur dossier , il y avait une dll 32 bits et 64 bits avec un nom différent de l'openal inclus avec la SFML , il faut renommer le 32 bits en openal32.dll et remplacer.
Pour avoir chercher pas mal de temps la solution, je crois avoir compris que Laurent n'estimais pas que ma solution était la bonne , mais après tout , tu peut juste tenter et voir si ça te plait ;)

Mon dll fonctionnel pour la SFML2.1 pèse exactement "393 Ko (402 553 octets)" dans les propriétés.
Bonne chance

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
Re : Crash fin d'application
« Réponse #2 le: Janvier 26, 2014, 11:24:54 pm »
Merci de ta réponse, mais cela n'a hélas pas marché pour moi.
J'ai la bonne dll , elle fait exactement la même taille, je l'ai collé dans system32 et aussi dans la racine de mon projet. plantage systématique...

Arneast

  • Newbie
  • *
  • Messages: 13
    • Voir le profil
    • E-mail
Re : Crash fin d'application
« Réponse #3 le: Janvier 27, 2014, 12:30:04 am »
Zut , j'esperais faire un heureux.
J'avais essayer d'autre choses avant comme changer l'ordre du linkage qui avait eu l'air d'être sans effet , mais je vois qu'actuellement j'ai l'ordre
#pragma comment(lib, "sfml-system-d.lib")
#pragma comment(lib, "sfml-main-d.lib")
#pragma comment(lib, "sfml-graphics-d.lib")
#pragma comment(lib, "sfml-window-d.lib")
#pragma comment(lib, "sfml-audio-d.lib")
#pragma comment(lib, "sfml-network-d.lib")

avec la dll 1.17 d'openal32.dll sous windows 7 et ça passe... mystère suprême. :/
Je précise que Laurent avait dit que si l'ordre influait , c'était de la moule seulement.
" LaurentGomila commented 3 months ago

No it is not caused by wrong libraries order. Neither is it a proper fix. It's just luck, and it may not even work for everyone.
"
Mais dans tous les cas on est désespérer de résoudre ça de nous mêmedonc allons aux techniques désespérées...

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
Re : Crash fin d'application
« Réponse #4 le: Janvier 27, 2014, 11:28:04 am »
Marche pas non plus, de mon coté la SFML est lié statiquement en plus , je croyais résoudre le problème de cette façon... Peu t'on conclure que la partie audio est buggé sous Windows ?
Y a forcement une solution fiable à ce problème, car c'est vraiment embêtant?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Crash fin d'application
« Réponse #5 le: Janvier 27, 2014, 11:39:48 am »
La seule solution qui marchera à coup sûr est de modifier SFML pour que l'instance de AudioDevice ne soit jamais détruite (une fuite mémoire récupérée par l'OS, c'est toujours mieux qu'un crash).

Comme je l'ai déjà dit, pas de solution propre pour le moment tant que je n'ai pas modifié en profondeur la gestion du device audio.
Laurent Gomila - SFML developer

Arneast

  • Newbie
  • *
  • Messages: 13
    • Voir le profil
    • E-mail
Re : Crash fin d'application
« Réponse #6 le: Janvier 27, 2014, 01:11:56 pm »
De mon coté la SFML est liée dynamiquement, a tout hasard as tu essayer aussi en dynamique?
Aussi je compile avec la SFML 2.1 précompilée pour GCC TDM 4.7 (celui à 15Mo) , et je compile visiblement mon projet avec GCC 4.7.1 avec le flag  -std=c++11 .

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
Re : Crash fin d'application
« Réponse #7 le: Janvier 27, 2014, 09:23:07 pm »
en dynamique , c'est pareil.
Laurent , j'ai commenté le destructeur de cette manière :

AudioDevice::~AudioDevice()
{/*
    // Destroy the context
    alcMakeContextCurrent(NULL);
    if (audioContext)
        alcDestroyContext(audioContext);

    // Destroy the device
    if (audioDevice)
        alcCloseDevice(audioDevice);*/

}

Mais le problème persiste, je mis prend mal ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Crash fin d'application
« Réponse #8 le: Janvier 27, 2014, 10:37:52 pm »
Dans ALCheck.cpp, ici :

static AudioDevice globalDevice;

Essaye d'allouer globalDevice dynamiquement, de sorte qu'il ne soit jamais détruit.

Mais si ce que tu as fait n'a pas marché, peut-être que ça non plus...
Laurent Gomila - SFML developer

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
Re : Crash fin d'application
« Réponse #9 le: Janvier 29, 2014, 08:07:40 pm »
Merci, c'est la solution de secours qui fonctionne enfin.

 

anything