I found an 8 years old bug in Xorg

The author discovered a simple but significant Xorg bug that went unnoticed for 8 years. The bug involved GrabServer function in the X server, which caused windows to disappear while holding the server lock. Through debugging with eBPF and uprobe, the author found that the bug stemmed from a misuse of epoll in the X server, leading to connection errors that were not properly handled. This bug went unnoticed due to the unique nature of X11 compositors like picom, which required the heavy use of the server lock. The solution highlighted the importance of proper error handling and the use of innovative debugging tools.


To top