<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1458" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2>Je viens de 
m'occuper de ce problème. TestReadWriteReadCompare normalement 
passe.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Par contre, j'ai toujours des problèmes avec le 
ShowDicom...</FONT></DIV>
<DIV><FONT face=Arial size=2>J'ai constaté le phénomène suivant :</FONT></DIV>
<DIV><FONT face=Arial size=2> - on récupère la HashTable des tags du header 
(par référence... tres important) : méthode GetTagHT</FONT></DIV>
<DIV><FONT face=Arial size=2> - on essaye de parcourir cette hash table et 
cela plante.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Si on essaye de passer la hash table par copie 
(donc sans la référence) alors cela plante directement</FONT></DIV>
<DIV><FONT face=Arial size=2>à l'appel de cette méthode. J'avais déjà vu cela 
concernant les objets de la STL avec MSVC6 (toute </FONT></DIV>
<DIV><FONT face=Arial size=2>plateforme confondue). Et c'etait dû à des 
problèmes de link incremental.</FONT></DIV>
<DIV><FONT face=Arial size=2>Si quelqu'un en sait plus la dessus... je suis 
preneur de toute information. Merci.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Benoit</FONT></DIV>
<DIV><FONT face=Arial size=2> </DIV>
<DIV><BR></DIV></FONT>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=jean-michel.rouet@philips.com 
  href="mailto:jean-michel.rouet@philips.com">jean-michel.rouet@philips.com</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=mathieu.malaterre@kitware.com 
  href="mailto:mathieu.malaterre@kitware.com">Mathieu Malaterre</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Cc:</B> <A title=dcmlib@creatis.insa-lyon.fr 
  href="mailto:dcmlib@creatis.insa-lyon.fr">Mailing list gdcm</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, November 10, 2004 9:59 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Dcmlib] gdcm version 0.6: 
  correction</DIV>
  <DIV><BR></DIV><BR><FONT face=sans-serif size=2>Bonjour Mathieu,</FONT> 
  <BR><BR><FONT face=sans-serif size=2>On 09/11/2004 21:09:59 Mathieu Malaterre 
  wrote:<BR>><BR>>Qu'est-ce que tu entends par probleme. Ca passe bien sur 
  toutes les<BR>>machines (ou presque). Est-ce que c'est un warning avec 
  valgrind ?<BR>></FONT> <BR><BR><FONT face=sans-serif size=2>Mon probleme 
  est le suivant: ctest ne passe pas, j'ai un segfault sur windows 2000 (la 
  mémoire ne peut pas etre "written"), car</FONT> <BR><BR><FONT face=sans-serif 
  size=2>Le membre Decompressed est alloué avec une longeur 
  DecompressedSize</FONT> <BR><FONT face=sans-serif size=2>En ensuite le tableau 
  est rempli a l'aide d'un fread sur une longeur PixelDataLength</FONT> 
  <BR><BR><FONT face=sans-serif size=2>En dans le cas de l'image 
  siemens_gbs_iii-16-acr_nema_1.acr, il se trouve que PixelDataLength > 
  DecompressedSize</FONT> <BR><FONT face=sans-serif size=2>donc on lit plus de 
  donnée (je ne parle pas de pb de debordement en fin de fichier) que le tableau 
  ne peut en contenir, d'ou un debordement de tableau</FONT> <BR><BR><FONT 
  face=sans-serif size=2>Je suis le seul a observer ce probleme ?</FONT> 
  <BR><FONT face=sans-serif size=2>Est-ce un probleme du a CVS pour recuperer 
  les images binaires dans gdcmData ?</FONT> <BR><FONT face=sans-serif 
  size=2>J'ai vu a ce propos un mail ce matin concernant les -kb -ko pour les 
  fichiers binaires. Il serait peut interessant, pour etre sur que l'on dispose 
  des bonnes images, de commiter egalement le checksum md5 des images binaires. 
  </FONT><BR><FONT face=sans-serif size=2>dans mon cas: </FONT><BR><BR><FONT 
  face=sans-serif size=2>$ md5sum 
  ./gdcmData/SIEMENS_GBS_III-16-ACR_NEMA_1.acr</FONT> <BR><FONT face=sans-serif 
  size=2>83c49fddf19b535867567720dfa97b07 
  *./gdcmData/SIEMENS_GBS_III-16-ACR_NEMA_1.acr</FONT> <BR><BR><BR><FONT 
  face=sans-serif size=2>Je n'utilise pas valgrind, mais Rational Purify. Lui 
  aussi se plaint:</FONT> <BR><BR><FONT face=sans-serif size=2><B>[E] ABW: Array 
  bounds write in memcpy {1 occurrence}</B></FONT> <BR><FONT face=sans-serif 
  size=2>    Writing 4095 bytes to 0x043a2ff9 (512 bytes at 0x043a3df8 
  illegal)</FONT> <BR><FONT face=sans-serif size=2>    Address 
  0x043a2ff9 is 127489 bytes into a 131072 byte block at 0x04383df8</FONT> 
  <BR><FONT face=sans-serif size=2>    Address 0x043a2ff9 points to a 
  C++ new block in heap 0x04190000</FONT> <BR><FONT face=sans-serif 
  size=2>    Thread ID: 0x888</FONT> <BR><FONT face=sans-serif 
  size=2>   <B> Error location</B></FONT> <BR><FONT face=sans-serif 
  size=2>        memcpy         
  [MSVCP71D.dll]</FONT> <BR><FONT face=sans-serif size=2>      
    std::char_traits<char>::copy(char *,char const*,UINT) 
  [iosfwd:448]</FONT> <BR><FONT face=sans-serif size=2>      
    
  std::basic_streambuf<char,char_traits<char>::std>::xsgetn(char 
  *,int) [streambuf:302]</FONT> <BR><FONT face=sans-serif size=2>    
      
  std::basic_streambuf<char,char_traits<char>::std>::sgetn(char 
  *,int) [streambuf:113]</FONT> <BR><FONT face=sans-serif size=2>    
      
  std::basic_istream<char,char_traits<char>::std>::read(char *,int) 
  [istream:657]</FONT> <BR><FONT face=sans-serif size=2>      
    
  gdcm::PixelConvert::ReadAndDecompressPixelData(basic_ifstream<char,char_traits<char>::std>::std 
  *) [gdcmpixelconvert.cxx:612]</FONT> <BR><FONT face=sans-serif size=2>  
               }</FONT> <BR><FONT 
  face=sans-serif size=2>              
   else if ( IsDecompressed )</FONT> <BR><FONT face=sans-serif 
  size=2>               {</FONT> 
  <BR><FONT face=sans-serif size=2><B>         => 
         fp->read( (char*)Decompressed, 
  PixelDataLength);</B></FONT> <BR><FONT face=sans-serif size=2>    
                if ( fp->fail() || 
  fp->eof())//Fp->gcount() == 1</FONT> <BR><FONT face=sans-serif 
  size=2>                  {</FONT> 
  <BR><FONT face=sans-serif size=2>            
           dbg.Verbose( 0, 
  "PixelConvert::ReadAndDecompressPixelData: "</FONT> <BR><FONT face=sans-serif 
  size=2>        gdcm::File::GetDecompressed(void) 
  [gdcmfile.cxx:515]</FONT> <BR><FONT face=sans-serif size=2>    
      gdcm::File::GetImageData(void) [gdcmfile.cxx:309]</FONT> 
  <BR><FONT face=sans-serif size=2>        main   
          [testreadwritereadcompare.cxx:57]</FONT> <BR><FONT 
  face=sans-serif size=2>        mainCRTStartup 
  [crtexe.c:398]</FONT> <BR><FONT face=sans-serif size=2>      
    _safe_se_handler_count [TestReadWriteReadCompare.exe]</FONT> <BR><FONT 
  face=sans-serif size=2>  <B>  Allocation location</B></FONT> 
  <BR><FONT face=sans-serif size=2>        new(UINT)   
     [newop.cpp:10]</FONT> <BR><FONT face=sans-serif size=2>  
        <>=(UINT)      [newaop.cpp:7]</FONT> 
  <BR><FONT face=sans-serif size=2>        
  gdcm::PixelConvert::AllocateDecompressed(void) 
  [gdcmpixelconvert.cxx:97]</FONT> <BR><FONT face=sans-serif size=2>  
                 delete [] 
  Decompressed;</FONT> <BR><FONT face=sans-serif size=2>      
          }</FONT> <BR><FONT face=sans-serif size=2>  
            </FONT><BR><FONT face=sans-serif 
  size=2><B>         =>   Decompressed = new 
  uint8_t[ DecompressedSize ];</B></FONT> <BR><FONT face=sans-serif 
  size=2>            }</FONT> <BR><FONT 
  face=sans-serif size=2>            
  </FONT><BR><FONT face=sans-serif size=2>          
    /**</FONT> <BR><FONT face=sans-serif size=2>        
  gdcm::PixelConvert::ReadAndDecompressPixelData(basic_ifstream<char,char_traits<char>::std>::std 
  *) [gdcmpixelconvert.cxx:586]</FONT> <BR><FONT face=sans-serif size=2>  
        gdcm::File::GetDecompressed(void) 
  [gdcmfile.cxx:515]</FONT> <BR><FONT face=sans-serif size=2>    
      gdcm::File::GetImageData(void) [gdcmfile.cxx:309]</FONT> 
  <BR><FONT face=sans-serif size=2>        main   
          [testreadwritereadcompare.cxx:57]</FONT> <BR><FONT 
  face=sans-serif size=2>        mainCRTStartup 
  [crtexe.c:398]</FONT> <BR><FONT face=sans-serif size=2>      
    _safe_se_handler_count [TestReadWriteReadCompare.exe]</FONT> 
  <BR><BR><BR><BR><BR><BR><FONT face=sans-serif size=2>Le titre de ce mail est 
  peut etre trompeur car je teste la version "courante" de cvs (updaté 
  hier).</FONT> <BR><BR><BR><FONT face=sans-serif size=2>./src/gdcmBinEntry.cxx: 
              $Revision: 1.35 $</FONT> <BR><FONT 
  face=sans-serif size=2>./src/gdcmDebug.cxx:       
   $Revision: 1.10 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDicomDir.cxx:             
  $Revision: 1.77 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDicomDirElement.cxx:      $Revision: 1.22 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmDicomDirImage.cxx:   
       $Revision: 1.13 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDicomDirMeta.cxx:         $Revision: 1.14 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmDicomDirObject.cxx:   
      $Revision: 1.7 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDicomDirPatient.cxx:      $Revision: 1.18 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmDicomDirSerie.cxx:   
       $Revision: 1.20 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDicomDirStudy.cxx:        $Revision: 1.17 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmDict.cxx:     
      $Revision: 1.51 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDictEntry.cxx:           
   $Revision: 1.28 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDictSet.cxx:      $Revision: 1.44 $</FONT> 
  <BR><FONT face=sans-serif size=2>./src/gdcmDirList.cxx:     
   $Revision: 1.25 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDocEntry.cxx:             
  $Revision: 1.29 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmDocEntrySet.cxx:          $Revision: 
  1.25 $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmDocument.cxx:   
            $Revision: 1.118 $</FONT> <BR><FONT 
  face=sans-serif size=2>./src/gdcmElementSet.cxx:         
    $Revision: 1.26 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmException.cxx:           
   $Revision: 1.22 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmFile.cxx:         $Revision: 1.152 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmGlobal.cxx:     
    $Revision: 1.6 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmHeader.cxx:       $Revision: 1.198 $</FONT> 
  <BR><FONT face=sans-serif size=2>./src/gdcmHeaderHelper.cxx:     
      $Revision: 1.43 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmJPEGFragment.cxx:         $Revision: 1.1 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmJPEGFragmentsInfo.cxx: 
             $Revision: 1.4 $</FONT> <BR><FONT 
  face=sans-serif size=2>./src/gdcmJpeg.cxx:         
  $Revision: 1.28 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmJpeg12.cxx:       $Revision: 1.26 $</FONT> 
  <BR><FONT face=sans-serif size=2>./src/gdcmJpeg16.cxx:       
  $Revision: 1.5 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmJpeg2000.cxx:             
  $Revision: 1.13 $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmJpeg8.cxx: 
         $Revision: 1.11 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmPixelConvert.cxx:         $Revision: 1.25 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmRLEFrame.cxx:   
            $Revision: 1.1 $</FONT> <BR><FONT 
  face=sans-serif size=2>./src/gdcmRLEFramesInfo.cxx:       
   $Revision: 1.3 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmSQItem.cxx:       $Revision: 1.35 $</FONT> 
  <BR><FONT face=sans-serif size=2>./src/gdcmSeqEntry.cxx:       
        $Revision: 1.34 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmTS.cxx:           $Revision: 1.28 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmUtil.cxx:     
      $Revision: 1.60 $</FONT> <BR><FONT face=sans-serif 
  size=2>./src/gdcmVR.cxx:           $Revision: 1.22 
  $</FONT> <BR><FONT face=sans-serif size=2>./src/gdcmValEntry.cxx:   
            $Revision: 1.34 $</FONT>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>Dcmlib mailing 
  list<BR>Dcmlib@creatis.insa-lyon.fr<BR>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib<BR></BLOCKQUOTE></BODY></HTML>