Зависание X сервера при автологине через Slim

После пересборки ядра и последующей перезагрузки выявился очень интересный баг который проявлялся в том, что при автостарте xdm (в моем случае этот скрипт был в автозапуске и запускал Display Manager Slim) иксы очень долго запускались, но даже запустившись через какое то время работать оказалось невозможно из — за того, что и клавиатура и мышь замирала каждые 5 секунд примерно на 2 — 3 секунды. В dmesg сыпались сообщения такого рода

NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context

При этом в Conky было отчетливо видно, что X server во время таких залипаний устройств ввода отжирал процессорное время валя одно ядро на 100%. Немного экспериментов показали, что если запускать сессию openbox (или другое WM/DE) через startx, то подобных проблем не наблюдалось. Пересборка мира ничего не дала и я уже хотел было плюнуть, но пришла идея заменить новый скрипт запуска Display Manager’a на старый из давнишнего бэкапа, так как вспомнилось что недавно через dispatch-conf этот скрипт обновлялся.  Как я и предполагал проблема была именно в нем и заменив все заработало. Приложу старый скрипт и новый, может у кого то будет желание их поковырять и поправить новый скрипт.

Приложение Размер
xdm-broken.sh 5.42 кб
xdm-work.sh 6.36 кб
Оцените статью