The X server seems to leak pretty badly (11 MB during a short session although it might just be initialization code) in _XSERVTransMakeAllCOTSServerListeners(). While I can't seem to find this function, valgrind seems to think the allocation is at Xtrans.c:1217. The only reference to the function I can find is Xtrans.h:431 in a macro expansion.
I just realized the reason I was unable to find this symbol earlier was because I was running my distribution's xtrans-1.2 package. Nevertheless, it doesn't look like this has been fixed in git since that release. Here is the full valgrind backtrace, ==3846== 11,825,408 bytes in 1,678 blocks are still reachable in loss record 145 of 145 ==3846== at 0x4A0867E: malloc (vg_replace_malloc.c:207) ==3846== by 0x4F6715: Xalloc (utils.c:1303) ==3846== by 0x4FC1F8: _XSERVTransMakeAllCOTSServerListeners (Xtrans.c:1217) ==3846== by 0x4F3BF3: CreateWellKnownSockets (connection.c:434) ==3846== by 0x434014: main (main.c:289)
I believe this is fixed. Closing.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.