Forum Solarus-Games francophone

Autres => Informatique => Discussion démarrée par: Cham le 05 Juin 2005 à 17:07

Titre: Nos amis les bugs...
Posté par: Cham le 05 Juin 2005 à 17:07
Voilà, il y a des bugs qui souvent sont droles parce qu'on ne sait absolument pas ce qu'ils signifient...
Me voici en présence d'un assez cocasse :
blue screen qui indique "une thred s'est terminée alors qu'elle avait en main un mutexe"
si quelqu'un a une explication, il est la bienvenue.
Si vous avez d'autres bug comme celui là, vous êtes la bienvenue aussi.(désolé si il y a déjà un topic qui rescence les bugs. En fait je cherche surtout à savoir la signfication de celui que j'ai.)
Titre: Nos amis les bugs...
Posté par: Geomaster le 05 Juin 2005 à 17:18
Un mutex est un objet qui est lié à la synchronisation entre processus (threads) de la même façon que le sont les sémaphores par exemple. Il empêché différents processus d'accèder en même temps à un même segment de mémoire (partagé).

Un mutex, c'est un peu comme si tu imaginais une porte fermée à clé avec à l'entrée de la porte, un panneau contenant 5 clés par exemple. Un processus arrive pour ouvrir la porte, il prend une clé et entre. Lorsque 5 processus sont entrés et qu'un 6éme arrive, il reste devant et s'endort jusqu'à ce qu'un processus ressorte et remette une clé sur le panneau des clés.

L'erreur qui arrive ici, c'est qu'un processus s'est arrêté alors qu'il manipulait un mutex. Bang, bug.
Titre: Re: Nos amis les bugs...
Posté par: sirbibo le 24 Août 2005 à 17:38
Moi aussi j'ai un bug bizzare... Ca c passer en entrant sur Battle net pour jouer a starcraft... quelqun peut m'expliquer?

http://www.freewebs.com/sirbibo/quoi.bmp
Titre: Re: Nos amis les bugs...
Posté par: Isaac le 24 Août 2005 à 18:18
Ce genre de chose arrive souvent.

Apparament,quand tu as quitter la dernière fois,il y a eu un bug.
C'est à dire que le jeu a garder en mémoire accidentellement ta visite,alors ça fait comme si t'étais encore conecté.

Il faut que tu attende.
Titre: Re: Nos amis les bugs...
Posté par: Geomaster le 24 Août 2005 à 20:49
Citation de: sirbibo le 24 Août 2005 à 17:38
Moi aussi j'ai un bug bizzare... Ca c passer en entrant sur Battle net pour jouer a starcraft... quelqun peut m'expliquer?

http://www.freewebs.com/sirbibo/quoi.bmp

Ca arrivait aussi par exemple aux premières heures de l'ADSL. On appelle ça dans ce cas une connexion fantôme. Ton interruption n'a pas été "remarquée" et le serveur du jeu (je suppose que c'est un jeu en ligne) n'a pas détecté ton départ.
Titre: Re: Nos amis les bugs...
Posté par: 19oj19 le 25 Août 2005 à 13:30
Citation de: Geomaster le 05 Juin 2005 à 17:18

Un mutex, c'est un peu comme si tu imaginais une porte fermée à clé avec à l'entrée de la porte, un panneau contenant 5 clés par exemple. Un processus arrive pour ouvrir la porte, il prend une clé et entre. Lorsque 5 processus sont entrés et qu'un 6éme arrive, il reste devant et s'endort jusqu'à ce qu'un processus ressorte et remette une clé sur le panneau des clés.

Euh .. au risque de rie une betise, un mutex, c'est pas avec une seule clé ?? Parce que de mémoire, d'apres mes cours de système, mutex = exclusion mutuelle ^^
Titre: Re: Nos amis les bugs...
Posté par: BenObiWan le 25 Août 2005 à 13:52
Citation de: 19oj19 le 25 Août 2005 à 13:30
Citation de: Geomaster le 05 Juin 2005 à 17:18

Un mutex, c'est un peu comme si tu imaginais une porte fermée à clé avec à l'entrée de la porte, un panneau contenant 5 clés par exemple. Un processus arrive pour ouvrir la porte, il prend une clé et entre. Lorsque 5 processus sont entrés et qu'un 6éme arrive, il reste devant et s'endort jusqu'à ce qu'un processus ressorte et remette une clé sur le panneau des clés.

Euh .. au risque de rie une betise, un mutex, c'est pas avec une seule clé ?? Parce que de mémoire, d'apres mes cours de système, mutex = exclusion mutuelle ^^

La définition donnée par Geomaster correspond plutot à un sémaphore à jetons. Si je me souviens bien un mutex ne permet l'accès que par un seul processus.
Titre: Re: Nos amis les bugs...
Posté par: Geomaster le 26 Août 2005 à 08:00
Citation de: BenObiWan le 25 Août 2005 à 13:52
Citation de: 19oj19 le 25 Août 2005 à 13:30
Citation de: Geomaster le 05 Juin 2005 à 17:18

Un mutex, c'est un peu comme si tu imaginais une porte fermée à clé avec à l'entrée de la porte, un panneau contenant 5 clés par exemple. Un processus arrive pour ouvrir la porte, il prend une clé et entre. Lorsque 5 processus sont entrés et qu'un 6éme arrive, il reste devant et s'endort jusqu'à ce qu'un processus ressorte et remette une clé sur le panneau des clés.

Euh .. au risque de rie une betise, un mutex, c'est pas avec une seule clé ?? Parce que de mémoire, d'apres mes cours de système, mutex = exclusion mutuelle ^^

La définition donnée par Geomaster correspond plutot à un sémaphore à jetons. Si je me souviens bien un mutex ne permet l'accès que par un seul processus.

Effectivement, j'ai un peu extrapolé. Mutux = exclusion mutuelle = ressouce unique donc une seule clé. Désolé.