Un peu HS ton mail ;-)
C'est le genre de bugs classiques avec C ou C++ (qui font souvent pr�f�rer Java)
Je ne pense pas que ce soit un bug de la STL, essaie un outil du style checker (checkergcc) ou electric fence ou valgrind. Tu as d� faire une erreur de programmation.
Bon courage, Micka�l
Pierre THIERRY a �crit :
Hello,
je suis en train de me mettre � �crire une biblioth�ques de classes en C++, qui me servira ensuite pour des logiciels de jeu (principalement du jeu de r�le).
Je commence par les d�s, et je suis tomb� sur un os : une de mes classes comprend un m�thode qui est cens�e d�sallouer des objets dont les pointeurs sont stock�s dans un conteneur de la STL, qui est un membre priv� de la classe, et vider celui-ci au passage.
Avec trois types diff�rents, j'obtiens trois bugs diff�rents, l'un tr�s grave.
Si c'est un vector<MonType*>, impossible de vider. un pop_back() quand size() renvoit 1 fait passer � un �tat o� size() renvoit 33635908 (2^25+81476, je trouvais que c'est �trangement � proche � d'une puissance de 2),
Si c'est un deque<MonType*>, au bout de quelques secondes, la machine plante lamentablement, impossible de passer sur une console texte ou de tuer le serveur X. Seule possibilit�, les Magic Keys du kernel, SIUB. Et lorsque la machine red�marre, kernel panic. Un red�marrage suppl�mentaire et elle d�marre comme une fleur.
Si c'est un list<MonType*>, le programme segfaulte apr�s ou pendant la suppression du dernier �l�ment.
Je recommande de lancer la version deque ainsi :
./test & sleep 4 ; kill %+
Est-ce que quelqu'un saurait me dire ce qui se passe, ou au moins me filer des pistes sur la fa�on de le d�couvrir ?
Au passage, est-ce que ce n'est pas un bug gravissime dans le noyau (probablement dans l'ordonnancement) qu'un plantage pareil puisse arriver ?
Probl�matiquement, Nowhere man
-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

