Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eat 100% cpu #15

Open
korjavin opened this issue Mar 26, 2012 · 12 comments
Open

Eat 100% cpu #15

korjavin opened this issue Mar 26, 2012 · 12 comments
Labels

Comments

@korjavin
Copy link

After start kbdd eat 100% cpu , all time.

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7769 user 20 0 7180 1952 1660 R 99,7 0,1 0:10.46 kbdd

git commit - 28562b5

debian testing.

@qnikst
Copy link
Owner

qnikst commented Mar 26, 2012

thanks, for report will check

@korjavin
Copy link
Author

dpkg -l | grep dbus

ii dbus 1.5.12-1 simple interprocess messaging system (daemon and utilities)
ii dbus-x11 1.5.12-1 simple interprocess messaging system (X11 deps)

I was tryed debug with gdb and ddd. But know nothing about dbus and its work.
So cant find what function eat all cpu.
If you can help me with debugging, i will try find problem code.

@qnikst
Copy link
Owner

qnikst commented Apr 12, 2012

It would be nice, I had some problem in one of commits, but I can't reproduce it now

@korjavin
Copy link
Author

Внезапно прочитал профиль и увидел питер.

Я к сожалению не понимаю как отлаживать процедуру зарегистрированную в dbus.
Какой то attach делать? Но куда, как.
Мой опыт тут почти нулевой.

@qnikst
Copy link
Owner

qnikst commented Apr 17, 2012

если честно. то в данной ситуации я не могу подсказать, сейчас после нескольких дней аптайма я словил эту же ошибку, попытаюсь выжать из неё максимум информации

strace -c -p $pid показал, что-то вроде

% time seconds usecs/call calls errors syscall


38.38 0.001824 0 48236 write
21.30 0.001012 0 24118 24118 recvfrom
20.58 0.000978 0 24118 read
19.74 0.000938 0 24118 poll


100.00 0.004752 120590 24118 total

учитывя, что recvfrom напрямую не используется. то проблема видимо в получении событий от Xorg.
возможно и выловую проблему

@korjavin
Copy link
Author

Похоже нужна помошь кого то кто отлаживать умеет ;)

@qnikst
Copy link
Owner

qnikst commented Apr 17, 2012

в общем почему закрывается fd, использующихся для уведомления о событиях от X.
сегодня запосчу 1 фикс, но наверное все проблемы он не решит

@qnikst
Copy link
Owner

qnikst commented Apr 22, 2012

забыл запостить фикс, сейчас возможно исправится, полноценное решение проблемы сделаю в ближайшие дни

@korjavin
Copy link
Author

Скомпилировал. Пока cpu не жрет.

@qnikst
Copy link
Owner

qnikst commented Apr 23, 2012

сейчас я убрал бесполезную проверку есть ли ещё события, в принципе решение проблемы может быть побочным эффектом, т.к. проблемы начинаются если по какой-либо причине сокет предоставляемый программе иксами закрывается, в этом случае kbdd начинает с дикой скоростью пытаться его опрашивать, хотя по хорошему в этом случае должна происходить переинициализация X и переключаться на прослушивание нового сокета. Как это сделать правильным образом мне пока не понятно. С одной стороны ситуация это абсолютно нештатная, с другой, раз такое происходит, то надо обрабатывать.

@qnikst
Copy link
Owner

qnikst commented May 13, 2012

воспроизвести ошибку снова не смог пока закрываю баг, т.к. исходная проблема решена.

@qnikst qnikst closed this as completed May 13, 2012
@TheSaintDiratof
Copy link

ох зря ты его закрыл
image

@qnikst qnikst reopened this Jan 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants