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 -- [EMAIL PROTECTED] OpenPGP 0xD9D50D8A
dice.tar.gz
Description: Binary data
signature.asc
Description: Digital signature

