|
Bas de page | |
---|---|
Auteur | Sujet : [MinGW/Boost.Thread] Segfault multi-threading |
![]() Publicité | Posté le 12-11-2004 à 23:43:30 ![]() ![]() |
Lam's Profil: bas. | Je ne vois pas (pis j'ai mangé trop de gateau, ça ralentit le cerveau). Ceci dit, tu fais un notify alors même que tu as encore le lock, donc ça peut lui déplaire et te causer des trucs étranges.
|
xterminhate Si vis pacem, para bellum. | Je realise la modification et je me reviens vers toi.
--------------- Cordialement, Xterm-in'Hate... |
Lam's Profil: bas. | Tu es sous quel environnement ? (OS, compilo, etc.). Tu as déjà du le dire, mais j'ai une de ces flemmes de chercher... |
xterminhate Si vis pacem, para bellum. | Je travaille sous windows Xp sp 2, et je compile avec MinGW 2.0 (gcc3.2). --------------- Cordialement, Xterm-in'Hate... |
Lam's Profil: bas. | Si tu as gdb, tu dois être capable d'avoir les frames de ton truc (il le fait sous cygwin, donc sous mingw, ça doit le faire aussi). Pense juste à compiler avec -g. |
xterminhate Si vis pacem, para bellum. | En effet, MinGW est fourni avec un outil de debug qui remplace DrWatson. Je constate donc que mon code plante systématique à l'appel des composants logiciels de Boost::Thread (mutex et condition). Comme Boost est fiable, j'en déduis que mon compilo a réellement un pb (configuration multi threading peut etre pas activée). JE vais recompiler avec Visual ou autre.
--------------- Cordialement, Xterm-in'Hate... |
Taz bisounours-codeur | moi j'ai jamais compris ces trucs
|
Taz bisounours-codeur | pour moi il n'y a pas besoin de scoper le lock plus que ça, la définition me semble correcte. je dirais même le contraire. une condition est associée à un lock, il faut demander le verrou dessus tant qu'on la manipule |
Lam's Profil: bas. | C'est bien ce qui m'embête: le code est correct, et je dirais même canonique: c'est typiquement comme ça qu'il faut faire. |
![]() Publicité | Posté le 14-11-2004 à 08:54:30 ![]() ![]() |
Taz bisounours-codeur |
pour moi aussi. c'est pour ça que j'aimerais bien avoir du code compilable + main de test qui montre la défaillance |
xterminhate Si vis pacem, para bellum. | Sans modifier le code source, j'ai mis à jour le compilateur. J'ai aussi recompilé le code avec l'option "-mthreads" (btw, l'option "-pthread" n'est pas reconnue). Je n'ai pas recompilé les librairies Boost.Thread (les dll multithread en paritculier). J'ai relinké mon programme.
Message édité par xterminhate le 14-11-2004 à 11:41:12 --------------- Cordialement, Xterm-in'Hate... |
Taz bisounours-codeur | ça peut ne pas planter tout en violant l'exclusion mutuelle |
el muchacho Comfortably Numb | Fous des traces, je pense que ça peut aider. |
xterminhate Si vis pacem, para bellum. | Apres une douzaine d'heure de test intensif, je n'ai pas eu un seul crash. Je respire enfin ! Tout semble fonctionner correctement. --------------- Cordialement, Xterm-in'Hate... |
el muchacho Comfortably Numb | Je viens de voir que tu compilais avec gcc 3.2 ? Tu es tjrs sous gcc 3.2 ? Il me semble avoir lu qq part que cette version était assez moisie (de façon générale les versions entre la 2.96 et la 3.3.1, il me semble que c'est pas génial, qq peut confirmer ? Taz ?). Message édité par el muchacho le 14-11-2004 à 21:19:38 |
xterminhate Si vis pacem, para bellum. | Clair. Je me demande comment j'ai pu coder autant (dont quelques services winNT multithreads) avec cette version antérieure qui semble peu recommandable ! --------------- Cordialement, Xterm-in'Hate... |
Taz bisounours-codeur | elle l'est pas mais elle a pas vécu très longtemps. t'as qu'à filer ton code, que je teste avec g++-3.3, g++-3.4 et g++-3.5 |
Lam's Profil: bas. |
|
Taz bisounours-codeur | il faut utiliser stlfilt et ça roule. Les messages sont long et verbeux, certes, mais nécessaires à une analyse fine. Même si tu payais, le message ne pourrait pas être meilleur : y a des échecs d'instantiation, il faut affiche le tout déroulé. Je sais pas comment fait VC, mais je vois mal comment on peut simplifier le message sans perdre d'information. |
Taz bisounours-codeur |
est mieux formaté, mais ne change pas en substance Message édité par Taz le 14-11-2004 à 21:53:33 |
Lam's Profil: bas. |
|
Taz bisounours-codeur | ouais alors forte, moins je bosse avec, mieux je me porte. c'est antédéluvien. |
Lam's Profil: bas. |
|
Taz bisounours-codeur | même au niveau du C, c'est la marne. Je sais pas ce que c'est la politique de licence de Forte, mais sur les Solaris surlesquels je bosse, y a tous les gcc récents contre la version de base fournie ... |
![]() Publicité | Posté le ![]() ![]() |
Sujets relatifs | |
---|---|
[C] thread sur SUN et sur linux | [php/mysql]Creation multi table |
[C++] boost & semaphore [ solution boost::condition ] | Winsock et Threads (Boost) : Problème |
[C++] conteneur stl & éléments-objets "thread-safe" | OpenGL : opaque derriere multi blending...ca part en sucette |
multi-compilation avec gcc sous VisualC++ 6 | Problème Thread en java |
arreter un select bloquant depuis un autre thread | [C++/SDL] pb de threading |
Plus de sujets relatifs à : [MinGW/Boost.Thread] Segfault multi-threading |