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)