p**** de malloc de mon *** - C - Programmation
Marsh Posté le 25-10-2004 à 16:39:13
meme eux ils sechent, si vous m'aidez pas je suis foutu
Marsh Posté le 25-10-2004 à 16:57:02
1/change d'algo
2/recode malloc
3/fait du java
Marsh Posté le 25-10-2004 à 16:58:20
chrisbk a écrit : une idée ? |
Oui: le bug ne se trouve pas au niveau du malloc (bien évidemment) mais ailleurs. A mon avis, il y a une ou des instructions dans votre code qui corrompent les structures internes utilisées par malloc. Pour en être sûr le mieux serait de faire le même appel à malloc quelques lignes de code auparavant et voir si ça plante. Si c'est le cas, ben... bonne chance
ah, et quand vous dites que vos .so sont fait main, cela veut dire que vous générez vous-même l'assembleur?
Marsh Posté le 25-10-2004 à 16:58:38
1/rien a voir
2/nan, pas le premier soir
3/peux pas
(bon sinon j'ai trouvé, c'etait une ecriture a un endroit A qui se faisait la ou elle devrait pas, et a mon endroit A + 58 ca fait planter malloc, ne cherchons pas plus loin)
Marsh Posté le 25-10-2004 à 17:00:05
DocMaboul a écrit : Pour en être sûr le mieux serait de faire le même appel à malloc quelques lignes de code auparavant et voir si ça plante. Si c'est le cas, ben... bonne chance |
en gros, j'avais :
Code :
|
pas evident pour comprendre la couille quoi
DocMaboul a écrit : |
Non, mon sadomasochisme s'arrete a l'utilisation du C
Marsh Posté le 25-10-2004 à 17:03:05
chrisbk a écrit : en gros, j'avais :
|
Le premier ne devait pas planter parce que votre implémentation de malloc utilise différentes structures selon la taille à allouer et là, elles n'étaient pas corrompues. C'est pour ça que lorsqu'on a ce genre de saloperie avec le runtime C, il vaut mieux faire exactement le même appel que celui qui plante pour déterminer si oui ou non cela vient bien d'un contexte corrompu.
Marsh Posté le 25-10-2004 à 17:41:37
tu passe la taille a allouer directement en parametre de malloc ? o_O
Pourquoi ne pas plutot passer par des constantes (plus facile a modifier, et plus clair dans le code)
Marsh Posté le 25-10-2004 à 17:42:52
heuh
la c'etait un exemple hein ?
Marsh Posté le 25-10-2004 à 18:19:21
et il faudrais aussi recuperer le resultat du malloc dans un pointeur, sinon spabien ca fui
Marsh Posté le 25-10-2004 à 18:24:10
chrisbk a écrit : 1/rien a voir |
1/si tu arrives à te passer de malloc en faisant des trucs cochons ca resoud ton problème
2/sale allumeur
(ca manque de charme, plus aucun mystère )
Marsh Posté le 25-10-2004 à 18:24:55
cris56 a écrit : et il faudrais aussi recuperer le resultat du malloc dans un pointeur, sinon spabien ca fui |
Marsh Posté le 25-10-2004 à 18:30:00
cris56 a écrit : je sais, lis les deux messages qui precedent |
je comprenais pas trop l'intéret du post koi
Marsh Posté le 25-10-2004 à 18:37:08
ca veut dire que ta compris ce que je voulais faire comprendre
Marsh Posté le 25-10-2004 à 22:35:54
cris56 a écrit : et il faudrais aussi recuperer le resultat du malloc dans un pointeur, sinon spabien ca fui |
non,pu depuis que j'utilise pampers for linux
Marsh Posté le 25-10-2004 à 23:26:11
chrisbk a écrit : non,pu depuis que j'utilise pampers for linux |
Et pourquoi est-ce que ça roulait avec valgrind ?
Marsh Posté le 25-10-2004 à 23:47:07
+1 avec doc mesboules.
T'as moyen d'utiliser purify?
Marsh Posté le 25-10-2004 à 23:57:13
el muchacho a écrit : Et pourquoi est-ce que ça roulait avec valgrind ? |
parce que valgrind est un interpreteur?
Marsh Posté le 26-10-2004 à 00:03:55
el muchacho a écrit : Et pourquoi est-ce que ça roulait avec valgrind ? |
Parceque ça fesait 3 mois que celui-ci fesait une alerte à cet endroit et qu'il considerait que ça devais être "normal"
Marsh Posté le 26-10-2004 à 08:42:36
Respirons
Kristoph a raison, sauf que c'est 1 semaine, pas 3 mois
Couak: efence = crash des le debut, pamafote, pamoncode, je sais, mal, baffe dans le gueule et clé de bras
schnaps : pas de purify
sinon je repete : le probleme est resolu. Vous pouvez tous reprendre une vie normale, merci de votre aide
Marsh Posté le 26-10-2004 à 08:55:23
couak a écrit : tiens chrisbk ca me rappele un pseudo (chrisbook) |
c'est moi (enfin, dans ma jeunesse)
t'es qui ?
Marsh Posté le 25-10-2004 à 16:35:32
bon, je lance cette question sans pouvoir fournir trop de précisions paske en fait j'ai aucune idée de ce qu'il se passe, en esperant que quelqu'un se rapelle des symptomes.
![[:ciler] [:ciler]](https://forum-images.hardware.fr/images/perso/ciler.gif)
j'ai un .so (s'inscrivant dans une suite de .so) fait main. Jle developpe, jfais des tests, ca roule. J'essaye avec une nouvelle image de test et pof, segfault.
Allons bon.
J'enquete, je farfouille et je m'apercois que la ligne coupable est un malloc() des plus banals, qui alloue en gros 2Meg de ram.
je lance avec valgrind, et la, surprise, pas de plantage
je bricole un peu, et je remarque que si j'alloue (en gros) moins de 50ko ca plante pas sur la malloc, mais si je demande plus alors c'est segfault in da face
(pour le fun j'ai essayé avec calloc au lieu de malloc et ca debloque tjs autant)
une idée ?
Message édité par chrisbk le 25-10-2004 à 16:36:17
---------------
NP: HTTP Error 764 Stupid coder found