While playing around with Xephyr, I found out that the bring-up/tear-down cycles it goes through when repeatedly connecting single clients to a running sessions caused its memory usage to grow constantly.
Running under valgrind brought to light a number of leaks and other assorted issues (such as usage of uninitialized memory). The attached patchets fixes most of the ones that are directly ascribable to the server and its structure. The patches are mostly trivial, but for a couple of them alternative (more fine-grained) approaches would also be possible. I went with the simplest ones to avoid overcomplicating the code. (Most of the remaining leaks are Mesa's responsbility, with the glsl_types not being properly freed, and affect Xephyr only via swrast_dri, so they are not part of this series. Giuseppe Bilotta (5): xkb: initialize tsyms Xephyr: free driverPrivates on Fini randr: ProcRRGetOutputInfo: initialize memory randr: properly cleanup on crtc and output destroy glx: free fbconfigs on destroy glx/glxscreens.c | 7 +++++++ hw/kdrive/ephyr/ephyr.c | 2 ++ randr/rrcrtc.c | 6 ++++++ randr/rroutput.c | 7 ++++++- xkb/xkbUtils.c | 2 +- 5 files changed, 22 insertions(+), 2 deletions(-) -- 2.14.1.439.g647b9b4702 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
