Bug 8228 - X server eats 100% CPU after acpid restart
: X server eats 100% CPU after acpid restart
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/xorg-x11-server)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-10-15 17:31 by
Modified: 2005-10-31 23:05 (History)


Attachments
acpi.patch (1.52 KB, patch)
2005-10-16 11:50, Valery Inozemtsev
no flags Details | Diff
acpi.patch (1.73 KB, patch)
2005-10-16 15:24, Valery Inozemtsev
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-10-15 17:31:29
xorg-x11-server-6.8.99.900-alt7

После перезапуска acpid (который в конфигурации по умолчанию выполняется
периодически при ротации логов - в /etc/logrotate.d/acpid вызывается
/sbin/service acpid condrestart) X-сервер начинает пожирать всё доступное
процессорное время.  После переключения на другую консоль и обратно в X ситуация
приходит в норму до следующего перезапуска acpid.
------- Comment #1 From 2005-10-15 19:05:10 -------
тут проблема не в иксах. при /sbin/service acpid condrestart\reload\condreload 
заново создается /var/run/acpid.socket и иксы его теряют 
------- Comment #2 From 2005-10-15 19:29:39 -------
Проблема именно в том, что X не обрабатывает подобную ситуацию (вероятнее
всего,
там просто нет обработки случая, когда read()/recv() возвращает 0).

Как минимум, в этом случае следует закрыть свой конец соединения и выругаться в
лог, что обработка событий ACPI отключена.  В идеальном случае следовало бы с
некоторым периодом пытаться заново подключиться к сокету (только не пытаться
цепляться к /proc/acpi/event напрямую, а то опять acpid не будет нормально
перезапускаться).
------- Comment #3 From 2005-10-16 11:50:21 -------
Created an attachment (id=1185) [details]
acpi.patch

я думаю этого будет более чем достаточно
------- Comment #4 From 2005-10-16 15:24:04 -------
Created an attachment (id=1191) [details]
acpi.patch

вот так будет правильнее
------- Comment #5 From 2005-10-16 15:24:59 -------
будет исправлено в следующей сборке