meme avec les free et delete j'obtient un segmentation fault.
DDD me donne la ligne l'erreur et c'est :
new Image(*blob);
j'ai posté sur la liste d'imagemagick, quelqu'un m'a dit que c'etait peut etre l'image qui est foireuse, mais j'en doute bien, parceque je ne teste qu'un seule site et j'ai obtenue pratiquement toutes les images (chaque fois un peu avant le crash), donc ...
faute d'inattention, mais c'est pas ça le probleme, j'ai beau essyé de trouvé l'anomalie (tiens c'est Neo) mais sans aucun resultat satisfaisant ; j'ai quand meme reussi à faire marcher le programme quelques instant avant le crash, alors je poste mon code source en attendant qu'une âme charitable (avec des yeux de faucon) y jette un coup d'oeil (ça risque d'etre long, mais je suis vraiment desesperé).
il s'agit d'un proxy qui compresse les images : classe Server :
int server::start()
{
if((socket_server = socket(AF_INET, SOCK_STREAM, 0)) < 0){
std::cout<<"Socket creation error !\n"<<std::endl;
return EXIT_FAILURE;
}
merci tout les deux pour ces suggestions, je vais faire et je vous tiendrai au courant.
juste une autre chose, est-ce que vous pouvais me donner un example de ce que Obsidian a dit ("modifié d'une façon incorrecte"), ça pourais m'aider a identifier l'erreur.
oui je pense que je vais changer de distro, car j'ai lu dans le forum de fedora qu'elle avait un probleme avec les cartes de chip nvidia, et donc pas moyen de le contourner.
non non, ce que j'ai fais, je l'ai fais sur le modem;i.e. j'ai ouvert l'adresse 10.0.0.2 ( c'est l'adresse du modem) avec firefox, j'ai eu l'interface de configuration et j'ai fais l'ajout de l'entree.
ce que tu me dis là, je pense , n'agit pas sur le modem.
merci quand meme
desolé pour ce retard,
j'ai essayé toutes les solution proposées mais toujours aucun resultat,
alors je me suis demandé s'il y avait une interface graphique pour iptables, je pense que cela m'aidera un peu.
et merci à tous
merci a toi mildred pour le lien,
a presentje ne peux pas tester si ça marche, mais dès que j'en aurai l'occasion je le ferai, et je vous donnerai les resultats.
merci a tous.
merci pour ta solution, mais j'avais reflichis à ça, et ça n'a toujours pas marché.
pour le pppd, je ne sais pas ce qu'est exactement, mais je pense que je ne l'utilise pas.
merci quand meme.
met le 1er CD et reboote to pc
a l'invite
boot:
tu ecris "linux rescue"
quand le mini shell arrive tu fais "chroot /mnt/sysimage"
et puis
sfdisk -d /dev/hda | sfdisk --no-reread --force /dev/hda
dans les erreurs de dependances j'ai aussi 'iconv' et 'xft' qui manquent et a cause desquels j'ai perdu une journee (entrain de les chercher sur) mais sans resultat.
yum *-devel a tres bien marche (glib2 mis a jour) merci
mais quand j'ai recompile gtk , make n'a pas reussi (all recursive), j'ai decide alors d'installer gtk avec yum mais lui aussi a decide de me causer des problemes:
erreur de dependance libgtk-1.2.so.0 , libgdk1.2.so.0
et xft conflicts xorg-x11-libs..
et qq packages que j'ai telecharge moi meme.
ce que je n'arrive pas a comprendre, est q'en cherchant j'ai trouve ces 2 libg?k.1.2.so.0 dans /usr/lib/
si vous avez une solution pour ça, remerci...
merci AMHA, mais quand j'ecris 'dhclient' il me repond que cette commande n'existe pas;
quant a 'ifconfig eth0 dhcp' c'est ce qu'il me repond : 'dhcp: Unknown host'.
bonjour brahici
mon provider est WANADOO-EEPAD en Algerie
je ne suis pas en degoupé
***ifcofig:
lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:756 errors:0 dropped:0 overruns:0 frame:0
TX packets:756 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:77442 (75.6 Kb) TX bytes:77442 (75.6 Kb)
***eaglediag -msc:
.
.
module loaded? OK
modem operational? OK
.
pppd launched? KO
/etc/resolv.conf should contain the DNS
.
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
ping IP? KO
test DNS resolution ? KO
bonjour
j'ai telecharge eagle-usb 2.0.0 et la configuration s'etait tres bien deroule mais quand je tape 'adslstart' , la commande semble s'executer (je la trouve d'ailleur dans les processus actifs , en utilisant 'top') ,mais la connexion ne demarre pas (ADSL et PWR du modem sont allumes)
remercei!
[^] # Re: Des précisions ?
Posté par let_me_in . En réponse au message mode matériel. Évalué à 1.
si j'active le mode native du sata du bios, linux demarre mais pas windows, si par contre je le desactive c'est linux qui ne demarre pas.
je vais tester cette solution et je vous tiendrai au courant.
merci encore
[^] # Re: Re:
Posté par let_me_in . En réponse au message memory corruption. Évalué à 1.
meme avec les free et delete j'obtient un segmentation fault.
DDD me donne la ligne l'erreur et c'est :
new Image(*blob);
j'ai posté sur la liste d'imagemagick, quelqu'un m'a dit que c'etait peut etre l'image qui est foireuse, mais j'en doute bien, parceque je ne teste qu'un seule site et j'ai obtenue pratiquement toutes les images (chaque fois un peu avant le crash), donc ...
si quelqu'un a une autre idée je prends.
merci.
[^] # Re:
Posté par let_me_in . En réponse au message memory corruption. Évalué à 1.
a+
[^] # Re:
Posté par let_me_in . En réponse au message memory corruption. Évalué à 1.
faute d'inattention, mais c'est pas ça le probleme, j'ai beau essyé de trouvé l'anomalie (tiens c'est Neo) mais sans aucun resultat satisfaisant ; j'ai quand meme reussi à faire marcher le programme quelques instant avant le crash, alors je poste mon code source en attendant qu'une âme charitable (avec des yeux de faucon) y jette un coup d'oeil (ça risque d'etre long, mais je suis vraiment desesperé).
il s'agit d'un proxy qui compresse les images :
classe Server :
int server::start()
{
if((socket_server = socket(AF_INET, SOCK_STREAM, 0)) < 0){
std::cout<<"Socket creation error !\n"<<std::endl;
return EXIT_FAILURE;
}
if(bind(socket_server,
(struct sockaddr*)&sockaddr_server,
server_len
) < 0){
std::cout<<"Socket bind error !\n"<<std::endl;
return EXIT_FAILURE;
}
if(listen(socket_server, 50) < 0){
std::cout<<"Socket listen error !\n"<<std::endl;
return EXIT_FAILURE;
}
std::string stri;
while (1){
PSOCKET_GROUP socketGroup;
struct sockaddr_in sockaddIn;
unsigned int sockaddrLen;
pthread_t threadSender, threadReceiver;
sigset_t sig_mask;
sockaddrLen = sizeof(sockaddIn);
socketGroup = (PSOCKET_GROUP) malloc ( sizeof(SOCKET_GROUP) );
socketGroup->socketToClient = accept(socket_server,
(struct sockaddr *)&sockaddIn,
&sockaddrLen
);
socketGroup->socketToServer=-1;
sigaddset(&sig_mask, SIGPIPE);
pthread_sigmask(SIG_BLOCK, &sig_mask, NULL);
pthread_create(&threadReceiver,
NULL,
proxyThread,
( void* ) socketGroup
);
}
}
void* server::proxyThread( void* socketAdress )
{
BUFFER buff, buff2, tmp, allReceive;
int port, socketToHost, len;
long int receivedLen=0;
PSOCKET_GROUP sockG;
sockG = static_cast<PSOCKET_GROUP>(socketAdress);
buff = (BUFFER) malloc (100*MAX_RECEIVE*sizeof(char));
buff2 = (BUFFER) malloc (1000*MAX_RECEIVE*sizeof(char));
allReceive = (BUFFER) malloc (1000*MAX_RECEIVE*sizeof(char));
Connection* con = new Connection ();
len=con->receiveData( sockG->socketToClient, buff );
buff[len]=0;
shutdown(sockG->socketToClient,0);
if ((tmp=strstr(buff,"keep-alive\r\n"))) {
strncpy(tmp, "close\r\n", 7);
strcpy(tmp + 7, tmp + strlen("keep-alive\r\n"));
}
sockG->socketToServer =con->sendData( "",
3128,
buff,
len
);
free(buff);
while((
len=read(sockG->socketToServer, buff2, 100*MAX_RECEIVE*sizeof(char)))>0){
memcpy(allReceive+receivedLen, buff2, len);
receivedLen+=len;
}
free(buff2);
char *document=NULL, *header=NULL, *docType=NULL;
Text text;
long int docLength, i;
header = HTTPParser::getHeader(allReceive);
docLength = HTTPParser::getDocumentLength(header);
if (docLength>200){
docType = HTTPParser::getDocumentType(header);
if(strncmp(docType, "image/jpeg", strlen("image/jpeg"))==0||
strncmp(docType, "image/png", strlen("image/png"))==0||
strncmp(docType, "image/tiff", strlen("image/tiff"))==0
){
Compression *comp = new Compression(1, sockG->threadContext);
document = HTTPParser::getDocument(allReceive);
int j = strlen(text.getStrInt(docLength));
Magick::Blob* blob = new Magick::Blob((const void *)document, docLength);
Magick::Blob retBlob = comp->getCompressedImage(blob);
i = text.getStrPos(header, "Content-Length: ", 0)+strlen("Content-Length: ");
char *newHeader = text.strReplace(header,
text.getStrInt(docLength),
i,
j
);
memset(allReceive, 0, 1000*MAX_RECEIVE*sizeof(char));
memcpy(allReceive,
newHeader,
strlen(header)
);
memcpy(allReceive + strlen(header), (char *)retBlob.data(), retBlob.length());
receivedLen = retBlob.length() + strlen(header);
delete comp;
free(newHeader);
free(header);
}
}
write(sockG->socketToClient, allReceive, receivedLen);
free(allReceive);
delete con;
shutdown(sockG->socketToClient, 2);
close(sockG->socketToClient);
shutdown(sockG->socketToServer, 2);
close(sockG->socketToServer);
pthread_exit(NULL);
}
classe HTTPParser
BUFFER HTTPParser::getDocument( BUFFER buff )
{
int taille;
char * ret;
taille = getDocumentLength( buff );
ret = (char *) malloc (taille*sizeof(char));
memcpy(ret, strstr(buff, "\r\n\r\n")+sizeof("\r\n\r\n")-1, taille);
return ret;
}
BUFFER HTTPParser::getHeader( BUFFER buff )
{
char * buffer;
int ind;
for (ind=0; buff[ind]!='\r'||buff[ind+1]!='\n'||buff[ind+2]!='\r'||buff[ind+3]!='\n'; ind+=1);
buffer = (char*) malloc ((ind+5)*sizeof(char));
strncpy(buffer, buff, (ind+4)*sizeof(char));
return buffer;
}
int HTTPParser::getDocumentLength(BUFFER header)
{
if (!strstr(header, "Content-Length: "))return -1;
return atoi(strstr(header, "Content-Length: ")+strlen("Content-Length: "));
}
BUFFER HTTPParser::getDocumentType( BUFFER header )
{
char *buff, *tmp;
int ind;
Text text;
tmp = strstr(header, "Content-Type: ")+strlen("Content-Type: ");
ind = text.getCharPos(tmp, '\r');
buff = (char*) malloc ((ind+1)*sizeof(char));
strncpy(buff, tmp, ind);
return buff;
}
classe Compression :
Magick::Blob Compression::getCompressedImage( Magick::Blob *blob )
{
Magick::Image* image = new Magick::Image(*blob);
Magick::Blob retBlob;
image->magick( "JPEG" );
image->quality(this->getQuality());
image->write(&retBlob);
delete image;
return retBlob;
}
classe Text :
int Text::getStrPos(char* str, char* c, int searchStart)
{
int i;
printf("getStrPos\n");
for ( i = searchStart; str[i]; i++)
if (strncmp( str+i, c, strlen(c) )==0)break;
if(!str[i]) return -1;
return i;
}
char* Text::getStrInt(int val)
{
char *retVal;
std::stringstream ss;
std::string str;
ss << val;
ss >> str;
retVal = (char *) calloc (str.size()+1, sizeof(char));
strcpy(retVal, str.c_str());
return retVal;
}
int Text::getCharPos(char* str, char c)
{
int i;
for (i=0; str[i]!=c; i++);
return i;
}
char* Text::strReplace(char* dest, char* replacement, int pos, int offset)
{
char* retStr;
retStr = (char*) calloc (strlen(dest), sizeof(char));
strncpy(retStr, dest, pos);
strncpy(retStr+pos, replacement, strlen(replacement));
strncpy(retStr+pos+strlen(replacement), dest+pos+offset, strlen(dest+pos+offset));
if (strstr(retStr, "\r\n\r\n"))
*(strstr(retStr, "\r\n\r\n")+strlen("\r\n\r\n"))=0;
return retStr;
}
voila le main contient juste un
Server serv=new Server(8080);
server->start();
avec ça si je configure firefox, qulques images s'affichent avant le BAM.
merci déja pour avoir lis le source et remerci si vous me donner une suggestion et enfin mille merci si vous me trouver l'anomalie.
[^] # Re: Re:
Posté par let_me_in . En réponse au message memory corruption. Évalué à 1.
merci encore
[^] # Re: Re:
Posté par let_me_in . En réponse au message memory corruption. Évalué à 2.
merci encore
[^] # Re:
Posté par let_me_in . En réponse au message memory corruption. Évalué à 1.
juste une autre chose, est-ce que vous pouvais me donner un example de ce que Obsidian a dit ("modifié d'une façon incorrecte"), ça pourais m'aider a identifier l'erreur.
merci encore
[^] # Re: re:
Posté par let_me_in . En réponse au message memory corruption. Évalué à 1.
merci d'ailleurs pour la reponse rapide.
# re:
Posté par let_me_in . En réponse au message memory corruption. Évalué à 1.
<code>image.read(blob);</code>
PS : je n'arrive pas à editer le premeir poste, desolé pour le double.
[^] # Re: Magick++-config et -lexpat
Posté par let_me_in . En réponse au message [Magick++] undefined reference to .... Évalué à 1.
PS: je n'ai meme pas ajouté le -lexpat.
[^] # Re: pour info
Posté par let_me_in . En réponse au message probleme lors de l'installation. Évalué à 1.
merci a toi.
[^] # Re: Man route
Posté par let_me_in . En réponse au message modem-corecess 3113. Évalué à 1.
ce que tu me dis là, je pense , n'agit pas sur le modem.
merci quand meme
# toujours rien
Posté par let_me_in . En réponse au message partage de connexion. Évalué à 1.
j'ai essayé toutes les solution proposées mais toujours aucun resultat,
alors je me suis demandé s'il y avait une interface graphique pour iptables, je pense que cela m'aidera un peu.
et merci à tous
[^] # Re: firewall builder
Posté par let_me_in . En réponse au message partage de connexion. Évalué à 1.
a presentje ne peux pas tester si ça marche, mais dès que j'en aurai l'occasion je le ferai, et je vous donnerai les resultats.
merci a tous.
[^] # Re: ppp0 -> eth1
Posté par let_me_in . En réponse au message partage de connexion. Évalué à 1.
pour le pppd, je ne sais pas ce qu'est exactement, mais je pense que je ne l'utilise pas.
merci quand meme.
[^] # Re: script
Posté par let_me_in . En réponse au message partage de connexion. Évalué à 1.
# re:rpm et dependances
Posté par let_me_in . En réponse au message rpm et dependances. Évalué à 1.
yum install 4.1.10a.rpm
si yum est installé bien sure.
# re probleme
Posté par let_me_in . En réponse au message probleme pour booter winfowsXP apres installatio de fedora 3. Évalué à 0.
a l'invite
boot:
tu ecris "linux rescue"
quand le mini shell arrive tu fais "chroot /mnt/sysimage"
et puis
sfdisk -d /dev/hda | sfdisk --no-reread --force /dev/hda
cela doit marcher
[^] # Re: yum
Posté par let_me_in . En réponse au message gtk+-2.6.0. Évalué à 0.
mais je l'ai recompile avec --prefix=/usr et ça a tres bien marche
[^] # Re: c'est encore moi
Posté par let_me_in . En réponse au message gtk+-2.6.0. Évalué à 0.
[^] # Re: yum
Posté par let_me_in . En réponse au message gtk+-2.6.0. Évalué à 0.
mais quand j'ai recompile gtk , make n'a pas reussi (all recursive), j'ai decide alors d'installer gtk avec yum mais lui aussi a decide de me causer des problemes:
erreur de dependance libgtk-1.2.so.0 , libgdk1.2.so.0
et xft conflicts xorg-x11-libs..
et qq packages que j'ai telecharge moi meme.
ce que je n'arrive pas a comprendre, est q'en cherchant j'ai trouve ces 2 libg?k.1.2.so.0 dans /usr/lib/
si vous avez une solution pour ça, remerci...
[^] # Re: Question?
Posté par let_me_in . En réponse au message connexion. Évalué à 0.
pour Windows, j'ai tout simplement installe le driver qui vient avec le modem(sagem fast800,LLC Bridge 0/35) et tout a marche.
merci quand meme.
[^] # Re: AMHA
Posté par let_me_in . En réponse au message connexion. Évalué à 0.
quant a 'ifconfig eth0 dhcp' c'est ce qu'il me repond : 'dhcp: Unknown host'.
merci quand meme.
[^] # Re: plus d'infos
Posté par let_me_in . En réponse au message startadsl de eagle-usb2.0.0, RedHat Enterprise Linux. Évalué à 1.
mon provider est WANADOO-EEPAD en Algerie
je ne suis pas en degoupé
***ifcofig:
lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:756 errors:0 dropped:0 overruns:0 frame:0
TX packets:756 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:77442 (75.6 Kb) TX bytes:77442 (75.6 Kb)
***eaglediag -msc:
.
.
module loaded? OK
modem operational? OK
.
pppd launched? KO
/etc/resolv.conf should contain the DNS
.
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
ping IP? KO
test DNS resolution ? KO
***eaglestat:
Tx Rate 64 Rx Rate 128
FEC 966 Margin 16 Atten 40 dB
VID-CPE 0 VID-CO 28 HEC 17
VPI 0 VCI 35 Delin GOOD
Cells Tx 57 Cells Rx 312174
Pkts Tx 45 Pkts Rx 123436
OAM 0 Bad VPI 1 Bad CRC 29
Oversiz. 0
[^] # Re: Arf, autre probleme
Posté par let_me_in . En réponse au message probleme avec sagem fast 800. Évalué à 1.