Bug 42099 - pulseaudio: не запускается в сизифе
Summary: pulseaudio: не запускается в сизифе
Status: CLOSED WORKSFORME
Alias: None
Product: Branch p10
Classification: Unclassified
Component: pulseaudio (show other bugs)
Version: не указана
Hardware: x86 Linux
: P5 normal
Assignee: qa-team@altlinux.org
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-11 07:56 MSK by makise-homura
Modified: 2023-03-29 18:07 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description makise-homura 2022-03-11 07:56:56 MSK
В p9 pulseaudio под иксами работал нормально из коробки (как я понимаю, запущенный от пользователя при старте сессии). Сейчас (в сизифе, на который этот p9 был обновлён через p10) не работает: pavucontrol к нему не может подключиться, в systemd вообще нет такого юнита, в списке процессов он отсутствует, а при ручном запуске pulseaudio выдаёт такое и вываливается:

W: [pulseaudio] pid.c: Stale PID file, overwriting.
E: [pulseaudio] module-stream-restore.c: Assertion 'pa_database_unset(u->database, &key) >= 0' failed at ../src/modules/module-stream-restore.c:2294, function clean_up_db(). Aborting.

Версия пакета в системе - pulseaudio-15.0-alt1.x86_64.
Comment 1 Sergey Bolshakov 2022-03-11 11:21:09 MSK
как эта история будет выглядеть, если создать и зайти новым пользователем ?
Comment 2 makise-homura 2022-03-11 19:22:41 MSK
(Ответ для Sergey Bolshakov на комментарий #1)
> как эта история будет выглядеть, если создать и зайти новым пользователем ?
Да, правда, pulseaudio под свежим пользователем работает нормально.
Тогда это разваливается на два вопроса:
1) Как сделать, чтобы работало под созданным в p9 пользователем?
2) Как сделать, чтобы при обновлении всё правильно переделывалось, не ломая pulseaudio?
Comment 3 Ivan A. Melnikov 2022-03-12 08:53:27 MSK
(In reply to makise-homura from comment #2)
> 1) Как сделать, чтобы работало под созданным в p9 пользователем?

Попробуйте убрать в сторонку $HOME/.config/plulse и перезайти. Удалять совсем не стоит.
Comment 4 Sergey Bolshakov 2022-03-12 13:43:37 MSK
(In reply to Ivan A. Melnikov from comment #3)
> (In reply to makise-homura from comment #2)
> > 1) Как сделать, чтобы работало под созданным в p9 пользователем?
> 
> Попробуйте убрать в сторонку $HOME/.config/plulse и перезайти. Удалять
> совсем не стоит.

1) да, скорее всего дело в содержимом .config/pulse
2) вероятно, следовало зайти в систему в момент, когда её состояние соответствовало p10
Comment 5 makise-homura 2022-03-13 00:07:42 MSK
Спасибо за наводку, действтительно, всё сработало. Проблема в файле ~/.config/pulse/*-stream-volumes.gdbm: если его убрать, то pulseaudio при запуске его пересоздаст вновь и будет нормально работать; иначе крашнется.

Мб, стоит в каком-нибудь postinst (или как это называется в RPM-пакетах) для pulseaudio удалять этот файл в каталогах всех пользователей, зарегистрированных в системе, или что-то ещё такое делать?
Comment 6 Sergey Bolshakov 2022-03-13 20:18:47 MSK
(In reply to makise-homura from comment #5)
> Спасибо за наводку, действтительно, всё сработало. Проблема в файле
> ~/.config/pulse/*-stream-volumes.gdbm: если его убрать, то pulseaudio при
> запуске его пересоздаст вновь и будет нормально работать; иначе крашнется.
> 
> Мб, стоит в каком-нибудь postinst (или как это называется в RPM-пакетах) для
> pulseaudio удалять этот файл в каталогах всех пользователей,
> зарегистрированных в системе, или что-то ещё такое делать?

что-то такое должно было произойти средствами самого pulseaudio после перехода с p9 на p10. прыжок с p9 до sisyphus в сценарии миграции не рассматривался
Comment 7 makise-homura 2022-03-13 23:01:56 MSK
(Ответ для Sergey Bolshakov на комментарий #6)
> что-то такое должно было произойти средствами самого pulseaudio после
> перехода с p9 на p10.
Значит, похоже, не произошло. Возможно, надо пофиксить и бэкпортнуть в p10?

> прыжок с p9 до sisyphus в сценарии миграции не
> рассматривался
Я обновлял именно ступенчато: p9->p10, потом p10->sysiphus.
Comment 8 Sergey Bolshakov 2022-03-14 00:50:52 MSK
(In reply to makise-homura from comment #7)
> (Ответ для Sergey Bolshakov на комментарий #6)
> > что-то такое должно было произойти средствами самого pulseaudio после
> > перехода с p9 на p10.
> Значит, похоже, не произошло. Возможно, надо пофиксить и бэкпортнуть в p10?
> 
> > прыжок с p9 до sisyphus в сценарии миграции не
> > рассматривался
> Я обновлял именно ступенчато: p9->p10, потом p10->sysiphus.

заходили ли в пользователя в p10 ? миграция происходит не при обновлении
пакета pulseaudio, но при запуске в сеансе пользователя
Comment 9 Sergey Bolshakov 2022-03-14 00:58:44 MSK
и хорошо бы знать, какой DE при этом использовался
Comment 10 makise-homura 2022-03-14 02:19:48 MSK
(Ответ для Sergey Bolshakov на комментарий #8)
> заходили ли в пользователя в p10 ? миграция происходит не при обновлении
> пакета pulseaudio, но при запуске в сеансе пользователя
Не заходил; но получается, что при таком обновлении необходимо заходить под каждым пользователем, просто чтобы pulseaudio мигрировало свою базу - даже если этих пользователей там десятки? Выглядит как-то неудобно.

(Ответ для Sergey Bolshakov на комментарий #9)
> и хорошо бы знать, какой DE при этом использовался
MATE.
Comment 11 Sergey Bolshakov 2022-03-15 11:52:02 MSK
в задании #296636 собержится возможное решение проблемы
Comment 12 Ivan Alekseev 2023-03-29 18:07:27 MSK
По указанным шагам ошибка не воспроизвелась.

- Версии пакетов:
-- p10:
pulseaudio-daemon-14.2-alt6.x86_64
pulseaudio-utils-14.2-alt6.x86_64
pavucontrol-4.0-alt1.x86_64
-- sisyphus:
pulseaudio-daemon-16.1-alt1.x86_64
pulseaudio-utils-16.1-alt1.x86_64
pavucontrol-5.0-alt1

- Стенд: alt-workstation-9.2

- Сделал следующее:
1) Обновил систему до p9:
# apt-get update && apt-get dist-upgrade -y && update-kernel
# reboot

2) Выполнил вход в сеанс пользователя, проверил pulseaudio - работает корректно:
$ ps aux | grep pulse
test        3208  0.6  0.5 768208 18284 ?        Sl   18:00   0:00 /usr/bin/pulseaudio --start --log-target=syslog
$ pavucontrol - открывает панель управления звуком.

3) Обновил систему до p10:
# apt-repo rm all && apt-repo add p10
# echo "%_priority_distbranch p10" >>/etc/rpm/macros
# apt-get update && apt-get dist-upgrade -y
# reboot

4) Выполнил вход в сеанс пользователя, проверил работу pulseaudio - процесс запущен, управление через pavucontrol работает.

5) Обновил систему до Sisyphus:
# apt-repo rm all && apt-repo add sisyphus
# sed -i 's/p10/sisyphus/' /etc/rpm/macros
# apt-get update && apt-get dist-upgrade -y
# reboot

6) Выполнил вход в сеанс пользователя, проверил работу pulseaudio.

- Результат: pulseaudio работает корректно после каждого обновления.