#0 

30-10-2006 13:23:32

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Salut tlm,
Alors aujourd'hui j'ai commencé un petit projet tout pépère avec mon ami Duke.
Je suis confronté à un drôle de problème donc si quelqu'un avait la solution....
Donc mon problème :
Si je lance mon application depuis l'ide de visual C# express 2005 aucun problèmes.
Par contre dès que je lance mon appli depuis l'extérieur c'est la catastrophe !
Je vous file le bout de code avec le responsable identifié du plantage :

        public static bool device_OnEvent(Event p_event)
        {
            if (p_event.Type == EventType.LogTextEvent)
            {
                //MON RESPONSABLE EST ICI (p_event.LogText)
                msgRecu = p_event.LogText;
                return true;
            }
            return false;
        }

J'ai essayé de ne garder que ma chaine de carractère comme ceci : (msgRecu = ""; ) afin de temporairement désactiver le (p_event.LogText) et là tout se lance sans problème depuis l'extérieur.
J'ai également remarqué que quand j'utilise (p_event.LogText) j'ai quelque fois des plantages sur les menus Windows de mon application.
Quelqu'un à une idée du problème ?
Merci pour votre aide big_smile


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#1 

30-10-2006 13:33:35

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

J'ai eu aussi ce problème et j'ai la triste impression d'avoir distribué une verison 0.6 buggée là dessus.

Maintenant je ne l'ai plus jamais revu, je ne comprend pas d'où il vient car il n'arrive jamais au même moment (et peut parfois ne pas arriver).

Dans tous les cas, prends la version SVN ça devrait aller, je travaille sous Windows depuis 2 jours avec et c'est sans aucun problème.

PS : Le bug semble être produit par une libération de pointeur sous Windows mais le plus étonnant est que quand Visual Studio t'affiche le mode débug après que cette expression ait été levée, tu peux accéder à la valeur de LogText sans aucun problème.


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#2 

30-10-2006 13:37:15

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Ca ressemble fortement à un problème de memory leak se truc, mon appli se lance un coup sur 5 à peu pret.Je vais prendre la version SVN voir comment ça se passe.
Merci pour l'info wink.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#3 

30-10-2006 13:42:23

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

De toute façon je ne le conseillerai jamais assez, aillez toujours le SVN, je comprend pas pourquoi j'ai 1200 downloads et 130 reads sur le SVN.

C'est déconseillé avec Irrlicht car l'API évolue sans cesse et on préfère se dire au début du projet "Je reste avec Irrlicht 1.1"... Mais Irrlicht .NET CP évolue très vite (surtout des bugfixes et des améliorations de perfo), trop vite pour attendre les release tous les mois (même si la 0.7 avec Irrlicht 1.2 est déjà finie et devrait arriver d'un jour à l'autre).


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#4 

30-10-2006 13:49:09

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Bon bein désolé de te décevoir, mais même avec la version SVN le problème est présent :s


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#5 

30-10-2006 14:17:11

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Je vais investiguer mais dur dur de déclencher un bug qu'on a pas sad

A la limite, y a possibilité que tu m'envois ton exécutable ?

PS : Comme je préfère vérifier, tu as bien copié IrrlichtW.dll et Irrlicht.dll de la version SVN aussi ? Parce que le bug est probablement là.

Dernière modification par DeusXL (30-10-2006 14:24:04)


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#6 

30-10-2006 14:55:56

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Oui oui t'inquiètte pas pour ça, j'ai fait tout se qu'il fallait tu peux avoir confiance !


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#7 

30-10-2006 16:00:05

kedu
Modérateur
Date d'inscription: 23-09-2006
Messages: 155

Pour info, sur mon poste, même bug avec l'exécutable compilé par copland sauf que je n'ai pas le message d'erreur juste un sablier (au second lancement de l'appli). (windows xp version familiale)

Hors ligne


#8 

31-10-2006 10:51:25

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Salut,
Je viens d'essayer mon projet avec les dll de ta démo WaterSceneNode récement posé sur le forum et je n'ai plus aucun crash sur les events log

EDIT : J'ai testé en ne remplaçant que IrrlichtW et ça ne plante plus du tout (l'étau se resserre peu à peu) Donc à toi de voir se que tu as changé dans la parti C entre les deux smile


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#9 

31-10-2006 11:22:51

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Il m'a suffit de refaire les fins de fichier sous Visual Studio pour la dll en C, de recompiler et ça a marché impeccable ....
Visual C++ 2005 express semble bien capricieux à se niveau là !

[EDIT]
Fausse joie, ça a marché nickel pendant presque 2h30 et puis d'un coup rebelotte, c'est à ni rien comprendre se truc neutral ...
Le pire c'est que même avec les dll du projet WaterSceneNode ça plante pareil ...


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#10 

01-11-2006 03:04:48

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Bon ! J'arrivais pas à dormir et se bug me travaillait ....
J'ai donc tenté le tout pour le tout et modifié le code du wrapper en C de DeusXL.
Pour l'instant je peux pas assurer le fonctionnement vu que cet aprem j'ai eu 2h30 de répis ou tout marchait très bien, mais j'ai modifié le fichier event.cpp de IrrlichtW justement à la méthode Event_GetLogString et il semblerai que tout soit rentré dans l'ordre.....Je dis bien il semblerai (je le confirmerai après plusieurs heures de test).

DeusXL si tu passes par là voici la modif :
Anciennement :
return UM_STRING(GetEventFromIntPtr(event)->LogEvent.Text);

Nouvellement :
return (M_STRING)(GetEventFromIntPtr(event)->LogEvent.Text);

Comme je l'ai dit, je confirmerai ça après plusieurs heures de test intense car je suis plus sûr de rien, mais si il s'avère que c'est bon, je pense que tu pourras faire la modif afin que tout fonctionne de se côté là.

Voilou @++

[EDIT]
Avec un retour à l'ancienne DLL le plantage est quasi immédiat.
Je pense que se coup ci c'est le bon, je peux le confirmer ça marche!


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#11 

01-11-2006 08:11:43

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Il semblerait que tu ais mis le doigt sur un bug de plateforme (enfin plutôt de compilateur).
Visiblement l'utilisation de certaines fonctions fait parfois planter Windows et dans ce cas là, un cast de style C suffit. Par contre sous Linux c'est l'inverse (je n'ai pas pu tester gcc sur Windows pour voir) et le cast de style C fait planter sad

Je vais investiguer pendant les vacances (et oui je pars !), à mon retour, je soumettrai le bugfix.

En tout cas merci beaucoup pour cette piste !


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#12 

01-11-2006 09:32:49

kedu
Modérateur
Date d'inscription: 23-09-2006
Messages: 155

Ok en tout cas c'est bon de voir qu'il y a moyen de palier ce problème de plantage ; on va pouvoir continuer de pousser IrrlichtCP dans ses derniers retranchements !! lol

Hors ligne


#13 

01-11-2006 10:23:49

wizad
Abonné
Lieu: Caen
Date d'inscription: 30-09-2006
Messages: 106

et avec ça bonne vacances quand même!!!wink

Hors ligne


#14 

01-11-2006 11:13:01

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Hello,
Passe de bonnes vacances alors wink.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#15 

05-11-2006 21:22:45

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Tournée des grands ducs, j'ai commis une tonne de bugfixes dont celui-là (bien que je ne comprenne toujours pas d'où ça vient... remarquez le "__asm mov eax, 120;" il est pas clair non plus big_smile)


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#16 

05-11-2006 22:55:15

kedu
Modérateur
Date d'inscription: 23-09-2006
Messages: 155

Yeahh ça c'est une news agréable à entendre !! C'est ce que l'on appelle des vacances productives ! ^^

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1427 sujets
11117 messages
Dernier membre inscrit: Bidule
20 invités en ligne
Aucun membre connecté
RSS Feed