begin process at 2010 03 10 09:28:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

taille max d'un buffer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

taille max d'un buffer

jeudi 4 décembre 2008 à 15:25:24 | taille max d'un buffer

bouzazi

Ce si est un bout de code de mon programme "lss":

    long pduLen;    
    int maxPduLength
    //maxPduLength_ if it is set to 0 this mean thatno control is done in the PDU size
    //if the value is 0 , the maxPduLength will not be taken into account
    //pduLen is the real PDU length

    SSC_DebugTrace <<"maxPduLength_ is set to "<< maxPduLength_ << endl;
    if(maxPduLength_ != 0)
    {
        if (pduLen > maxPduLength_)
            pduLen = maxPduLength_;
    }        
       SSC_DebugTrace <<"PduLen is set to "<< pduLen << endl;
    
       char* buf = new char[pduLen + 1l];
       result = receiveSocketData(buf, (int) pduLen);

Ce programme Marche a merveille ( su plusieurs machine LINUX SUN HP).
a l'exception d'une machine "HP-UX ipb228 B.11.23 U ia64 1545032245" c'est une HP Itamium.
dans ma console j'ai le message suivant:

End of LSS initialisation.
aCC runtime: Uncaught exception of type "bad_alloc".
[HP ARIES32]: Error occured while writing core file for 32 bit
[HP ARIES32]: PA-RISC application /alu/1350OMS9.1/NMC/SEC/7.2.1/lss/bin/lss (got signal 6).
[HP ARIES32]: Core file may not be correct.

dans les fichiers de traces j'ai le message suivant:
  -->SLAC_Sock::fdOk
  <--SLAC_Sock::fdOk
  maxPduLength_ is set to 0
  PduLen is set to 1195986768
  EndLSS by signal 6.


je ne sais pas exactement la cause de se crache de se programme (lss).
Mais je pense que ce problème est due au dépassement de la taille max que je peu alloue a un buffer dans cette machine.
c'est possible aussi que la PDU soit corrompu ou bien sans le caractère NULL (\0) en fin de PDU.

Est ce qu'il a quelqu'un qui peut me dire si le problème provient de l'un des causes que j'ai évoque.
Est ce qu'il a quelqu'un qui peu me donne une façon en c++ comment je peu prévenir c'est deux problème (taille max du buffer sur une machine, PDU corrompu).

Merci
jeudi 4 décembre 2008 à 16:36:50 | Re : taille max d'un buffer

fregolo52

Membre Club
salut

l'utilisation de long et int, c'est pas beau, surtout qu'en 64bits :
- long : 8 octets
- int : 4 octets

Tu as recompilé ton exe sur la machine 64bits ? Ou est ce que tu balades ton exe généré sur ta machine de dév ?
jeudi 4 décembre 2008 à 17:32:55 | Re : taille max d'un buffer

bouzazi

Salut,
merci pour la réponse. Mais je ne pense pas que la combinaison int/long soit l'origine du problème pour deux raison:
1/ces deux variables sont la pour être comparé et savoir si on va utilise la taille du PDU ou bien le MaxPduLength_ pour la création du buffer.
2/ les traces de mon programmes montre que le le crach surviens après cette partie et que le test et l'utilisation de ces 2 variables.

la compilation ce fait sur une machine 64bits
et a ce que je sache le problème surviens sur une machine 64bits


Cette discussion est classée dans : is, hp, pdulen, maxpdulength, lss


Répondre à ce message

Sujets en rapport avec ce message

hp laserjet 1100A [ par gambetta ] bonjour à tousbig probleme sur une hp laserjet 1100 A éqsuipée d'un scanner.Cette imprimante mrche parfaitement avec on soft d'origine sur un vieux MM toujours lire fichier, je vais mourir acause de ça !!!! [ par khalidlyon ] Ensemble pour la scienceBonjour, suite a ma question "lire fichier au secours, et suite a votre réponses, voila ce que j'ai fais.--------------------- [8007000E] Not enough storage is available to complete this operation. [ par mserieyx ] Bonjour,Je développe un programme en Cplusplus faisant appel à ADO pour effectuer des requêtes sur une database.Depuis quelques temps l'exécution des API ORACLE FORMS [ par StevosTeen ] stevosteenJe cherche a utiliser l'API FORMS ORACLE pour charger des modules forms .fmb mais la compilation donne:error LNK2001: unresolved external sy HP Testdrive [ par Imploseur ] Quelqu'un connait-il une alternative au service gratuit Testdrive (ex Compaq, actuel HP)?Ça m'aiderait bien (ainsi que plusieurs personnes que je conn error C2653: 'TCircle' : is not a class or namespace name [ par azkab ] bonjour tt le monde,j ai cette erreur dans mon programme "error C2653: 'TCircle' : is not a class or namespace name"qu'est ce que ca signifie?je suis Besoin d'aide sur lex and yacc [ par jlgrau ] Bonjour,J'utilise Lex and Yacc depuis peu. J'ai fait un petit programme pour parser un fichier texte tout simple. Le parser ne fonctionne pas correcte EM_GETLINE [ par vecchio56 ] Je dois utiliser le message EM_GETLINE pour récupérrer une ligne d'un Rich Edit.Pour lParam, la MSDN dit"Pointer to the buffer that receives a copy of flux et manipulateurs [ par leprov ] salut a tous.j'ai un probleme que je n'arrive pas a m'expliquer, j'espere qu'on pourra m'aider. j'ai un fichier dont je dois extraire des chiffres qui C++ questionaire [ par fcoutel ] Bonjour,On m'a donne un questionnaire a remplir est ce que quelq'un connait les reponses ? <SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: Verda


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales