[SIGBUS] Cannot Access Memory apres un Malloc?
Bonjour !
J'ai posté y'a pas longtemps sur un probleme de printf :) Et vous m'aviez aidé il faut dire que c'était tout bete comme moi ! Maintenant mon code qui est censé deplacer des caisses jusqu'a la fin tout seul grace a l'algo A* plante tres bizarrement. Il effectue son travail sans probleme jusqu'au moment où en créant un noeud ( structure de structure de structure ) il efface une partie d'une liste chainee qui n'est pas du tout appellée au moment de la création du noeud en faisant :
Code:
AStar_nouveau_noeud = malloc(sizeof(struct AStar_noeud_t));
Avant cette ligne, je peux acceder aux elements de la liste sans probleme, apres cette ligne j'ai droit a un Cannot Access apres le premier element de la liste. Comment sa se fait ? Un moyen de pallier a çà ? J'ai beau cherché depuis 2jours , sans dormir je ne comprends pas :(
Cordialement et en vous remerciant d'avance :)
les sources et l'exe :
http://atpred.free.fr/test.tar
Re: [SIGBUS] Cannot Access Memory apres un Malloc?
Citation:
Envoyé par predacktor
! Maintenant mon code qui est censé deplacer des caisses jusqu'a la fin tout seul grace a l'algo A* plante tres bizarrement. Il effectue son travail sans probleme jusqu'au moment où en créant un noeud ( structure de structure de structure ) il efface une partie d'une liste chainee qui n'est pas du tout appellée au moment de la création du noeud en faisant :
Code:
AStar_nouveau_noeud = malloc(sizeof(struct AStar_noeud_t));
Quelle est la valeur de AStar_nouveau_noeud après le malloc(). Si c'est NULL, et que tu continues comme ça, normal que plus rien ne fonctionne !
Re: [SIGBUS] Cannot Access Memory apres un Malloc?
Citation:
Quelle est la valeur de AStar_nouveau_noeud après le malloc(). Si c'est NULL, et que tu continues comme ça, normal que plus rien ne fonctionne !
Mais non il a une valeur bien reelle (0x245f0) tte façon j'aurai eu un segmentation fault en attribuant les valeur a ce nouveau noeud s'il était null. Mais c'est vraiment bizarre quand meme qu'apres ce malloc je perds l'acces a ma liste alors que cette fonction n'a aucun lien explicite entre les noeuds et la liste.
Ô codeurs de toujours je fais appel a votre puissante aide sinon je vais tuer un CRS en bas de chez moi avec un écran!
Re: [SIGBUS] Cannot Access Memory apres un Malloc?
Citation:
Envoyé par predacktor
Mais non il a une valeur bien reelle (0x245f0) tte façon j'aurai eu un segmentation fault en attribuant les valeur a ce nouveau noeud s'il était null. Mais c'est vraiment bizarre quand meme qu'apres ce malloc je perds l'acces a ma liste alors que cette fonction n'a aucun lien explicite entre les noeuds et la liste.
C'est peut être simplement parce que précédemment, il y a eu un débordement de tableau qui a massacré le chainage interne des blocs. Ca se manifeste un jour, pourquoi pas sur un malloc()...
Citation:
Ô codeurs de toujours je fais appel a votre puissante aide sinon je vais tuer un CRS en bas de chez moi avec un écran!
T'es à Nation ? J'arrive !