Система текущий сизиф обновляемый с давних времен После запуска firefox при нажатии правой кнопки мыши браузер молчит в течении 5-7 секунд. Тоже самое при нажатии Закладки Инструменты итд. Систему не грузит, но окно браузера зависает для всех действий. Мышь и другие окна доступны. Создание нового пользователя в системе соответственно с чистым профилем не помогает. В окно консоли в момент замирания появляются надписи: socket(): Семейство адресов не поддерживается протоколом Удаление всех старых пакетов rpmorphan не помогло. Запускается из kde 4. Напишите приложу логи какие нужно.
Добавлю - переключение между вкладками происходит быстро, но контекстное меню вкладок также замирает.
Попробуйте удолить pulseaudio-daemon...
pulseaudio-daemon у меня не стоял. Самое интересное, что после установки и последующего удаления все стало реактивным. Либо помогло удаление pulseaudio-utils В любом случае спасибо.
(В ответ на комментарий №3) . > Либо помогло удаление pulseaudio-utils Мне не помогло. При установке pulseaudio-daemon, при старте ФФ запускается процесс pulseaudio, и пока он запущен, все работает. Но стоит этот процесс убрать, как ФФ начинает тупить. Так что либо надо официально признать, что новый ФФ не работает без pulseaudio, либо отрывать это кривоподелие при компиляции.
$ apt-cache depends xulrunner-192-libs |egrep -v 'Depends:|Obsoletes:' |sort -u fontconfig-2.8.0-alt4 glib2-2.22.4-alt1 glibc-core-6:2.11.1-alt2 glibc-pthread-6:2.11.1-alt2 libX11-3:1.3.3-alt1 libXrender-0.9.5-alt1 libXt-1.0.7-alt1 libalsa-1:1.0.22-alt1 libatk-1.28.0-alt1 libcairo-1:1.8.8-alt4 libfreetype-2.3.11-alt2 libgcc4.4-4.4.3-alt1 libgtk+2-2.18.6-alt1 libgtk+2-common-2.18.6-alt1 libhunspell-1.2.8-alt1 libjpeg-1:6b-alt10 libnspr-1:4.8.2-alt1 libnss-3.12.6.0-alt1.20100116 libpango-1.26.2-alt1 libsqlite3-3.6.22-alt1 libstdc++4.4-4.4.3-alt1 zlib-1.2.3-alt5 firefox (xulrunner) собран с libalsa, а никак не с pulseaudio. Нужно разобраться почему она себя так ведёт. Валер, можешь пояснить ситуацию ?
а у меня ФФ закладки (вкоадки с закладками, и меню) примерно по 5 сек открывает...
Судя по strace firefox вначале обращается к libcanberra: open("/usr/lib/libcanberra-0.22/libcanberra-pulse.la", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/libcanberra-0.22/libcanberra-pulse.so", O_RDONLY) = 21 open("/home/nwtour/.pulse/client.conf", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/etc/pulse/client.conf", O_RDONLY|O_LARGEFILE) = 58 А потом уже к pulse. Может от туда что нибудь запускает или предлагает ему запустить? (в рамках бреда)
Во всяком случае удаление /usr/lib/libcanberra-0.22/libcanberra-pulse.so мне помогло :-) Надеюсь в последний раз за сегодня.
(В ответ на комментарий №8) > Во всяком случае удаление /usr/lib/libcanberra-0.22/libcanberra-pulse.so мне > помогло :-) > Надеюсь в последний раз за сегодня. Прикол в том, что у меня в системе: $ rpmquery -a |grep -c libcanberra 0 $ rpmquery -a |grep pulseaudio libpulseaudio-0.9.19-alt2 и ничего не тормозит.
(В ответ на комментарий №9) > > Прикол в том, что у меня в системе: > > $ rpmquery -a |grep -c libcanberra > 0 > > $ rpmquery -a |grep pulseaudio > libpulseaudio-0.9.19-alt2 > > и ничего не тормозит. Почему прикол? Если поставить libcanberra и убрать pulseaudio-daemon то будет тормозить. Ее многие используют: [nwtour@devel ~]$ sudo apt-get remove libcanberra Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Следующие дополнительные пакеты будут установлены: e17 libXp libecore libedb libedbus libedje libefreet libembryo libevas Следующие пакеты будут УДАЛЕНЫ: evolution gdm gdm-user-switch-applet gnome-applets gnome-applets-accessx-status gnome-applets-charpick gnome-applets-common gnome-applets-drivemount gnome-applets-geyes gnome-applets-gswitchit gnome-applets-gswitchit-plugins gnome-applets-gweather gnome-applets-mini-commander gnome-applets-multiload gnome-applets-stickynotes gnome-control-center gnome-minimal gnome-panel gnome-screenshot gnome-session gnome-settings-daemon gnome-theme-crux gnome-theme-glossy gnome-themes-default gnome-utils libcanberra libcanberra-gtk2 metacity metacity-gnome metacity-theme-atlanta metacity-theme-bright metacity-theme-crux metacity-theme-esco metacity-theme-gorilla metacity-theme-metabox metacity-theme-simple metacity-themes-default
(В ответ на комментарий №9) > (В ответ на комментарий №8) > > Во всяком случае удаление /usr/lib/libcanberra-0.22/libcanberra-pulse.so мне > > помогло :-) > > Надеюсь в последний раз за сегодня. > > Прикол в том, что у меня в системе: > > $ rpmquery -a |grep -c libcanberra > 0 > > $ rpmquery -a |grep pulseaudio > libpulseaudio-0.9.19-alt2 > > и ничего не тормозит. Видимо он ищет вначале библиотеки canberra, а уже потом alsa. Вот и получается что если canberra стоит то она первая находится. А уже она отдает свой plugin для работы с pulse /usr/lib/libcanberra-0.22/libcanberra-alsa.so /usr/lib/libcanberra-0.22/libcanberra-gstreamer.so /usr/lib/libcanberra-0.22/libcanberra-multi.so /usr/lib/libcanberra-0.22/libcanberra-null.so /usr/lib/libcanberra-0.22/libcanberra-pulse.so
(В ответ на комментарий №7) > Судя по strace firefox вначале обращается к libcanberra: > опаньки! После удаления этой библиотеки в ФФ заработали звуки через ALSA, и пропало торможение перед появлением окна-предупреждения, а не только при открытии меню и не только в версии 3.6! Победа разума состоялась!
Действительно, xulrunner пробудет эту библиотеку: http://git.altlinux.org/people/legion/packages/mozilla.org.git?p=mozilla.org.git;a=blob;f=widget/src/gtk2/nsSound.cpp;h=69ff32e6655d5f26bc955400ed2663196e8fb200;hb=0dfdf78bf4f3ab6b6d6e22129413831995fedb14#l170 "Должен остаться только один" (с)
https://bugzilla.mozilla.org/show_bug.cgi?id=110385#c22 https://bugzilla.mozilla.org/show_bug.cgi?id=520417
(В ответ на комментарий №10) > [nwtour@devel ~]$ sudo apt-get remove libcanberra $ sudo apt-get remove libcanberra Unrequested changes are needed to execute this operation. The following packages will be REMOVED: claws-mail-plugin-notification gnome-power-manager gnome-session gnome-settings-daemon libcanberra libcanberra-gtk2 sawfish-gnome
(В ответ на комментарий №15) > $ sudo apt-get remove libcanberra > Unrequested changes are needed to execute this operation. > The following packages will be REMOVED: > claws-mail-plugin-notification gnome-power-manager gnome-session > gnome-settings-daemon libcanberra libcanberra-gtk2 sawfish-gnome Это предложение избавиться от ноши? $ sudo rpm -e libcanberra ошибка: удаление этих пакетов нарушит зависимости: libcanberra = 0.22-alt1 нужен для libcanberra-gtk2-0.22-alt1 libcanberra.so.0 нужен для gdm-2.28.2-alt1 libcanberra.so.0 нужен для gnome-control-center-2.28.1-alt2 libcanberra.so.0 нужен для gnome-screenshot-2.28.2-alt1 libcanberra.so.0 нужен для libcanberra-gtk2-0.22-alt1 libcanberra.so.0 нужен для metacity-2.28.1-alt1 Незнаю. Мне эти штуки иногда нужны. Лично я бы разделил libcanberra - libcanberra-pulse и libcanberra-alsa и забыл бы об этой проблеме. И в apt-cache search легко искать будет.
(В ответ на комментарий №16) > Это предложение избавиться от ноши? нет это о том,если у меня попробовать это "грохнуть", то без чего-то остаемся... в вашем случае больше, в моем - меньше... но я не использую кде и гном (т.е. их библиотеки конечно установлены, но оснойвной DE - xfce)
(В ответ на комментарий №5) [..] > firefox (xulrunner) собран с libalsa, а никак не с pulseaudio. Нужно > разобраться почему она себя так ведёт. > > Валер, можешь пояснить ситуацию ? у меня весь звук идет через pulse, даже если бы firefox выводил бы его через oss, он все равно шел бы в pulse
*** Bug 23109 has been marked as a duplicate of this bug. ***
В общем, у меня нет другого выбора как оторвать использование libcanberra из firefox. Всякие системные звуки в firefox сломаются точно. Что сломается ещё не знаю, но другого выхода у меня нет.
(In reply to comment #20) > В общем, у меня нет другого выбора как оторвать использование libcanberra из > firefox. Всякие системные звуки в firefox сломаются точно. Что сломается ещё не > знаю, но другого выхода у меня нет. ca_context_set_driver () int ca_context_set_driver (ca_context *c, const char *driver); Specify the backend driver used. This function may not be called again after ca_context_open() suceeded. This function might suceed even when the specified driver backend is not available. Use ca_context_open() to find out whether the backend is available. c : the context to change the backend driver for driver : the backend driver to use (e.g. "alsa", "pulse", "null", ...) Returns : 0 on success, negative error code on error.
После обсуждения с aris@ мы договорились, что firefox будет играть всегда через alsa плагин и этого будет достаточно.
Это полечит самый неприятный (mis)use case, но смысл в библиотеке, если чинить всех клиентов...
libcanberra известна своими проблемами, но я хотел бы тут обратить внимание на несколько вещей. 1. Firefox пытается добраться до символов в библиотеках по возможности как можно позже, к моменту, когда это будет нужно. Причем в некоторых случаях он не знает точного имени библиотеки и делает масштабный поиск через PR_FindFunctionSymbolAndLibrary(). Для дистрибутива такой вариант, мягко говоря, бессмысленнен. Познее связывание тут лучше заменить на ранее, на старте. 2. Если мы решаем, что какой-то вариант вывода звука у нас является системным (в RedHat и других это Pulse), то необходимо обеспечить полную работоспособность. Если мы выбираем alsa, то плагин для alsa, который перенаправляет все в Pulse, имеет свои -- и достаточно серьезные -- проблемы с латентностью, которых лишены прямые клиенты pulse. 3. Необходимо модифицировать libcanberra, чтобы в рамках дистрибутива выбор по умолчанию был зафиксирован и она занималась бы поиском правильного драйвера только, если об этом ее попросил клиент через ca_context_set_driver().
Created attachment 4465 [details] nsSound fix v1
Доброго времени. На чем итоге закончилось обсуждение?
Воспроизводится у кого-нибудь?
(В ответ на комментарий №27) > Воспроизводится у кого-нибудь? У меня нет.
(В ответ на комментарий №28) > (В ответ на комментарий №27) > > Воспроизводится у кого-нибудь? > У меня нет. И у меня не воспроизводится.