p**** de malloc de mon ***

p**** de malloc de mon *** - C - Programmation

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.
 
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 ? [:ciler]


Message édité par chrisbk le 25-10-2004 à 16:36:17

---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 25-10-2004 à 16:35:32   

Reply

Marsh Posté le 25-10-2004 à 16:39:13    

http://www.zuschauerpost.de/zupo/images90/98-derrick.jpg
meme eux ils sechent, si vous m'aidez pas je suis foutu [:icon9]


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 25-10-2004 à 16:57:02    

1/change d'algo [:spamafote]
2/recode malloc :gratgrat:
3/fait du java [:petrus75]
 


---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
Reply

Marsh Posté le 25-10-2004 à 16:58:20    

chrisbk a écrit :

une idée ? [:ciler]


 
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 :D
 
ah, et quand vous dites que vos .so sont fait main, cela veut dire que vous générez vous-même l'assembleur?

Reply

Marsh Posté le 25-10-2004 à 16:58:38    

1/rien a voir [:petrus75]
2/nan, pas le premier soir  [:fande--]
3/peux pas [:chrisbk]
 
(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)


---------------
NP: HTTP Error 764 Stupid coder found
Reply

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 :D


 
en gros, j'avais :
 
 

Code :
  1. malloc(10*1024); //passe
  2. malloc(2*1024*1024); //plante


 
pas evident pour comprendre la couille quoi
 

DocMaboul a écrit :


ah, et quand vous dites que vos .so sont fait main, cela veut dire que vous générez vous-même l'assembleur?


 
Non, mon sadomasochisme s'arrete a l'utilisation du C
 
 


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 25-10-2004 à 17:03:05    

chrisbk a écrit :

en gros, j'avais :
 
 

Code :
  1. malloc(10*1024); //passe
  2. malloc(2*1024*1024); //plante


 
pas evident pour comprendre la couille quoi


 
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.

Reply

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)

Reply

Marsh Posté le 25-10-2004 à 17:42:52    

heuh [:petrus75]
la c'etait un exemple hein ?


---------------
NP: HTTP Error 764 Stupid coder found
Reply

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 :D

Reply

Marsh Posté le 25-10-2004 à 18:19:21   

Reply

Marsh Posté le 25-10-2004 à 18:24:10    

chrisbk a écrit :

1/rien a voir [:petrus75]
2/nan, pas le premier soir  [:fande--]
3/peux pas [:chrisbk]
 
(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)


 
1/si tu arrives à te passer de malloc en faisant des trucs cochons ca resoud ton problème :d
2/sale allumeur :o
 
(ca manque de charme, plus aucun mystère :/)


---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
Reply

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 :D


 
:gratgrat:


---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
Reply

Marsh Posté le 25-10-2004 à 18:28:34    

je sais, lis les deux messages qui precedent

Reply

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 :d


---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
Reply

Marsh Posté le 25-10-2004 à 18:37:08    

ca veut dire que ta compris ce que je voulais faire comprendre

Reply

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 :D


 
non,pu depuis que j'utilise pampers for linux

Reply

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 ?

Reply

Marsh Posté le 25-10-2004 à 23:47:07    

+1 avec doc mesboules.
T'as moyen d'utiliser purify?


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

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?  :sol:


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

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" :D

Reply

Marsh Posté le 26-10-2004 à 08:24:18    

t'as essayé avec electricfence ?

Reply

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 [:joce]


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 26-10-2004 à 08:54:39    

tiens chrisbk ca me rappele un pseudo (chrisbook)

Reply

Marsh Posté le 26-10-2004 à 08:55:23    

couak a écrit :

tiens chrisbk ca me rappele un pseudo (chrisbook)


 
[:mlc]
 
c'est moi[:wam] (enfin, dans ma jeunesse)
 
t'es qui ?


Message édité par chrisbk le 26-10-2004 à 08:57:30

---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 26-10-2004 à 09:05:41    

mp

Reply

Marsh Posté le 26-10-2004 à 09:07:21    

des retrouvailles :love:
c'est touchant

Reply

Marsh Posté le 26-10-2004 à 09:08:59    

[:black_lord]


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed