[crossfire] Valgrind results

Alex Schultz alex_sch at telus.net
Sat Mar 26 13:10:56 CST 2005


Andreas Kirschbaum wrote:

>
     
     I'm currently trying to fix this problem. There are at least two bugs as
     
     >
     
     far as I can see:
     
     >
     
     
     >
     
      - The server keeps sending the image information for face 0 over and
     
     >
     
        over.
     
     >
     
     
     >
     
        This seems incorrect to me (both sending it over and over, and
     
     >
     
        sending it at all), because the client already preallocates the face
     
     >
     
        0 as a black face.
     
     >
     
     
     >
     
      - The client (that is, all clients) cannot handle "updated" face
     
     >
     
        information: the function create_and_rescale_image_from_data() does
     
     >
     
        not free the previous contents of pixmaps[] before writing the new
     
     >
     
        value
     
     >
     
     
     >
     
     
     Ah... so most of this leakage likely is the combination of both bugs: 
the server keeps sending face 0 over and over, that counts to the client 
as a face update, and each time face 0 is sent, the old face 0 (which is 
exactly the same anyways) isn't freed properly. Is that correct?

I also seem to be seeing the X memory usage increasing alot with CF, 
which appears to be upstream leaks triggered by cfclient. As I 
understand, the leaks in X itself aren't being tracked by valgrind as 
that memory isn't owned by cfclient, and running all of X in valgrind 
would be impractically slow. So exactly why cf is causing X itself to 
leak may be more difficult to track down.

Thanks,
Alex Schultz (aka Rednaxela)

    
    


More information about the crossfire mailing list