tigervnc (rarely) blocks on exit, presumably due to an invalid free (according to valgrind) in CloseDownDevices .
Submitted by Stef Van Vlierberghe
Assigned to Xorg Project Team
I'm not familiar with the Xserver code but get regularly issues with tigervnc (a patched X server) getting stuck on exit and this prevents a new one from being started in the same display nr (manual intervention required to kill -9 the Xvnc process that is stuck).
After reporting and discussing the issue with the maintainers, I got informed that the root cause is in the X server, see :
As this is probably a heap corruption combined with a race condition, there is no way to systematically reproduce the effect.
If nothing else can be done, maybe you could advice if there are ways to avoid the free() calls on process exit (as they are completely useless, the kernel will reclaim this memory anyway).
Version: 7.7 (2012.06)