Bug 21045 - kbuildsycoca неумеренно потребляет процессор и память при запуске в среде GNOME
: kbuildsycoca неумеренно потребляет процессор и память при запуске в среде GNOME
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/gnome-menus)
: unstable
: all Linux
: P3 critical
Assigned To:
:
:
: distro-blocker
:
: 19564
  Show dependency tree
 
Reported: 2009-08-12 15:24 by
Modified: 2009-08-21 01:17 (History)


Attachments


Note

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


Description From 2009-08-12 15:24:16
kbuildsycoca неумеренно потребляет процессор и память при запуске в среде GNOME
------- Comment #1 From 2009-08-12 16:39:41 -------
http://usalug.org/phpBB2/viewtopic.php?t=14163&sid=619579b1dbf59bac5d7fb04f432f1e9c

Похоже, она один раз так делает.
------- Comment #2 From 2009-08-12 16:48:55 -------
(В ответ на комментарий №1)
> http://usalug.org/phpBB2/viewtopic.php?t=14163&sid=619579b1dbf59bac5d7fb04f432f1e9c
> 
> Похоже, она один раз так делает.

Нет. Циклит. И именно на Gnome
------- Comment #3 From 2009-08-12 19:20:20 -------
Как воспроизвести?
------- Comment #4 From 2009-08-12 19:26:04 -------
(В ответ на комментарий №3)
> Как воспроизвести?

В среде Gnome запустить kturtle и наблюдать за top
------- Comment #5 From 2009-08-12 19:49:36 -------
с gnome-овским меню что-то накосячили
все работает, если
unset XDG_MENU_PREFIX
------- Comment #6 From 2009-08-12 19:50:01 -------
*** Bug 21046 has been marked as a duplicate of this bug. ***
------- Comment #7 From 2009-08-12 20:11:58 -------
В нем не должно быть строки
<MergeFile>applications.menu</MergeFile>

Скопируйте себе в gnome-applications.menu содержимое applications.menu, если
оно нужно
------- Comment #8 From 2009-08-12 21:01:25 -------
Сергей, спасибо!
------- Comment #9 From 2009-08-13 00:08:08 -------
Досадно :( А почему так происходит, можно пояснить?
------- Comment #10 From 2009-08-13 00:13:49 -------
(В ответ на комментарий №7)
> В нем не должно быть строки
> <MergeFile>applications.menu</MergeFile>
> 

Не должно быть такого тега вообще или он несовместим с установленным
XDG_MENU_PREFIX?
Или бага во включаемом файле, вызывающая зацикливание при интерпретации?
------- Comment #11 From 2009-08-13 00:25:14 -------
(В ответ на комментарий №10)
> Не должно быть такого тега вообще или он несовместим с установленным
Не должно быть включения applications.menu в gnome-applications.menu
Это равно включению applications.menu в applications.menu, т.е. зацикливание
------- Comment #12 From 2009-08-13 00:27:45 -------
Можно ссылку на источник? (можно RTFS)
------- Comment #13 From 2009-08-13 02:36:25 -------
http://standards.freedesktop.org/menu-spec/1.0/ar01s02.html
Я не знаю. Для меня очевидно, что это ИЛИ, а не И
------- Comment #14 From 2009-08-14 23:56:01 -------
Возможно, изврат сработает. Не проверял
ln -s applications.menu gnome-applications-common.menu
<MergeFile>gnome-applications-common.menu</MergeFile>
------- Comment #15 From 2009-08-15 15:21:36 -------
Не вижу там ни ИЛИ, ни И. Насколько я вижу, спецификация данный момент не
проясняет. Пока сделаю через симлинк, посмотрю что получится.
------- Comment #16 From 2009-08-16 03:01:08 -------
Через симлинк работает. Забрасываю в Сизиф.
------- Comment #17 From 2009-08-16 03:05:02 -------
(В ответ на комментарий №16)
> Через симлинк работает. Забрасываю в Сизиф.

Спасибо! 
Закрывайте ее.
------- Comment #18 From 2009-08-16 15:41:02 -------
(В ответ на комментарий №15)
> Не вижу там ни ИЛИ, ни И
XDG_MENU_PREFIX="any-" && echo /etc/menus/${XDG_MENU_PREFIX}applications.menu
Сможешь получить /etc/menus/gnome-applications.menu _И_
/etc/menus/applications.menu на выходе при любом значении XDG_MENU_PREFIX?

_ИЛИ_ -- запросто
------- Comment #19 From 2009-08-16 18:55:08 -------
Не понимаю вопроса. В спецификации нигде не сказано, что
${XDG_MENU_PREFIX}applications.menu не может включать applications.menu. В
спецификации говорится о точке входа, и она там описывается вполне однозначно:
это ${XDG_MENU_PREFIX}applications.menu. В частном случае, когда графическая
среда не выставляет XDG_MENU_PREFIX, это applications.menu. О допустимости
включения файлов друг в друга я там не вижу ничего.
------- Comment #20 From 2009-08-19 03:43:48 -------
Прошу подтвердить исправление.
------- Comment #21 From 2009-08-19 14:12:44 -------
Не подтверждаю. Фокус с симлинком не прошёл.
------- Comment #22 From 2009-08-20 17:50:00 -------
(В ответ на комментарий №20)
> Прошу подтвердить исправление.
Исправлено в дистрибутивах на базе GNOME. Если этого недостаточно —
переоткройте.
------- Comment #23 From 2009-08-20 18:19:39 -------
К сожалению, это только кажется, что исправлено. На самом деле симлинк
applications-common.menu не используется при построении меню. С равным успехом
этого файла могло бы не существовать.
------- Comment #24 From 2009-08-20 18:50:47 -------
А у меня со ссылкой не воспроизводиться ни на kbuildsycoca ни на kbuildsycoca4

Или см. #7
------- Comment #25 From 2009-08-20 18:56:59 -------
Попробуй в файле applications.menu сейчас поменять местами пункты меню. Если
результат перемены мест у тебя будет заметен в реальном меню, показывай файлы и
рассказывай как тебе это удалось.
------- Comment #26 From 2009-08-20 19:17:55 -------
Я ж говорю, скопируй себе и меняй, как больше нравиться.
Я, вообще, откатил бы последние изменения в applications.menu касательно
<Layout>
------- Comment #27 From 2009-08-20 20:09:42 -------
Хотелось иметь с KDE что-то общее... :(
Разобрался, в общем. Всё не так страшно, фокус с симлинком работает, но
изменения в организации (с изменениями наполнения всё нормально) меню не
подхватываются без перезапуска панели. Скорее всего, gnome-panel слушает
изменения файла-симлинка и не слушает изменения файла, на который ссылается
симлинк. Это не очень хорошо, но уж точно не дистроблокер.
------- Comment #28 From 2009-08-20 20:16:01 -------
Между тем спасти kbuildsycoca* (оба) можно ещё и так: перенести нынешнее
содержимое applications.menu в applications-common.menu, а в applications.menu
оставить что-нибудь вроде
<Menu><MergeFile>applications-common.menu</MergeFile></Menu>. Тогда никакого
ухода в бесконечную рекурсию не наступает, всё радостно запускается и работает.
Но баг на gnome-menus про симлинки исправить в любом случае будет полезно.
------- Comment #29 From 2009-08-20 20:28:56 -------
(В ответ на комментарий №28)
> <Menu><MergeFile>applications-common.menu</MergeFile></Menu>.
Нельзя, это теперь GNOME ;-)
Ок, сделаю.
------- Comment #30 From 2009-08-20 23:06:23 -------
(В ответ на комментарий №29)
> (В ответ на комментарий №28)
> > <Menu><MergeFile>applications-common.menu</MergeFile></Menu>.
> Нельзя, это теперь GNOME ;-)
> Ок, сделаю.
Давай shared task'ом я освобождаю applications-common.menu, а ты его занимаешь
:)
------- Comment #31 From 2009-08-20 23:41:59 -------
Не надо. Я просто другое имя файла возьму.
------- Comment #32 From 2009-08-21 01:17:17 -------
Хорошо.