Xorg hangs use 99% of CPU on systemd reboot

Barry Scott barry.scott at onelan.co.uk
Thu Jul 2 08:26:19 PDT 2015


The attached patch works around an issue we hit after we
ported from Fedora 20 to Fedora 21.

When systemd reboot starts something happens to dbus that
causes Xorg to loop hard using 99% CPU in WaitForSomething.

The reason for the loop is that the bus_info.fd in dbus-core.c
has been closed. But the expected Disconnected signal is not
received by the messages filter.

The patch works around this issue by removing the fd from the
fd_set that is feed into the Select in WaitForSomething by
calling RemoveGeneralSocket from within wakeup_handler in
dbus-core.c.

When systemctl is used to stop and restart Xorg outside of the
reboot it works without any problems.

Barry

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20150702/c8b68d1f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-server-loops-in-WaitForSomething-when-dbus-closed-by.patch
Type: text/x-patch
Size: 1502 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20150702/c8b68d1f/attachment.bin>


More information about the xorg-devel mailing list