Bug 33902 - Не восстанавливается профиль из бэкапа после некорректного завершения сеанса
Summary: Не восстанавливается профиль из бэкапа после некорректного завершения сеанса
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: profile-sync-daemon (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Nobody's working on this, feel free to take it
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-15 16:42 MSK by hasculdr
Modified: 2018-04-30 12:38 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hasculdr 2017-09-15 16:42:21 MSK
$ uname -a
Linux notebook 4.4.86-std-def-alt0.M80P.1 #1 SMP Mon Sep 4 11:39:54 UTC 2017 x86_64 GNU/Linux

$ rpm -qa | grep firefox
firefox-esr-ru-45.9.0-alt1
firefox-esr-45.9.0-alt0.M80P.1

$ rpm -qa | grep profile
profile-sync-daemon-6.25-alt1

Примерно с конца той/начала этой недели профиль часто не записывается на диск и при корректном завершении работы: закрыл firefox, даже подождал пока индикатор дисковой активности потухнет, выполнил завершение работы, а на следующий день в очередной раз пришлось переименовывать бэкап вручную.
Comment 1 hasculdr 2017-09-18 16:05:43 MSK
Проверил сейчас:
закрыл firefox, в папке профиля бэкап и ссылка на /run/user/и т.д.
выполнил завершение работы, загрузился, в папке профиля бэкап и ссылка на dev/null
при запуске firefox сообщение о ненайденном профиле.
при повторном запуске firefox открылся, но сессия не восстановилась, сайт с сохраненными логином/паролем (выбран "домашней страницей", открывается при запуске браузера) потребовал авторизации - не знаю откуда этот профиль был подгружен.
Comment 2 Антон Мидюков 2017-09-18 16:53:52 MSK
(In reply to comment #1)
> Проверил сейчас:
> закрыл firefox, в папке профиля бэкап и ссылка на /run/user/и т.д.
> выполнил завершение работы, загрузился, в папке профиля бэкап и ссылка на
> dev/null
> при запуске firefox сообщение о ненайденном профиле.
> при повторном запуске firefox открылся, но сессия не восстановилась, сайт с
> сохраненными логином/паролем (выбран "домашней страницей", открывается при
> запуске браузера) потребовал авторизации - не знаю откуда этот профиль был
> подгружен.

Вы, видимо, пытаетесь сразу запускать firefox, а на запуск profile-sync-daemon уходит секунд 30 или более. Помните, вы жаловались, что сеанс долго загружается? Вот я тогда и убрал ожидание окончательной загрузки psd.service при запуске сеанса. А это обратная сторона. Сразу же после запуска сеанса, веб-браузер запускать нельзя. Нужно подождать, лучше минуту.
Comment 3 hasculdr 2017-09-18 18:11:20 MSK
Завтра проверю.
Comment 4 hasculdr 2017-09-19 08:20:42 MSK
Да, если не спешить, то ссылка из/dev/null превращается в /run/user/т.д.
В остальном пока закономерности не увидел - при некорректном завершении работы был сам каталог профиля и не было бэкапа, но я точно помню обратную ситуацию.
Comment 5 hasculdr 2017-09-19 08:41:30 MSK
Непонятно, 5+ перезагрузок и ни одной ситуации с остутствующим профилем, зато теперь, наоборот, часто нет бэкапа, как-будто из-за того что firefox запускается раньше sync-daemon, последний вообще не начинает свою работу. Еще, возможно, процесс завершения работы системы не дожидается завершения работы sync-daemon. Не знаю, как проверить наверняка.
Comment 6 Антон Мидюков 2017-09-19 09:16:10 MSK
(In reply to comment #5)
> Непонятно, 5+ перезагрузок и ни одной ситуации с остутствующим профилем, зато
> теперь, наоборот, часто нет бэкапа, как-будто из-за того что firefox
> запускается раньше sync-daemon, последний вообще не начинает свою работу. Еще,
> возможно, процесс завершения работы системы не дожидается завершения работы
> sync-daemon. Не знаю, как проверить наверняка.

Надо в лог заглядывать командой:
systemctl --user status psd-resync

Тогда будет видно об что споткнулся. Скорее всего у какого-то из браузеров вместо профиля бэкап. Что-то типа этого должен ругнуться:
.config/epiphany does not exist or is a broken symlink!

Убираете слово бэкап, стартуете psd-resync, и всё норм.
Если из браузеров нужен только firefox, редактируйте конфиг ~/.config/psd/psd.conf Нужно раскоментировать строчку:
BROWSERS=
и вписать нужный браузер, например:
BROWSERS="firefox"

Короче достаточно некоректно завершиться одному браузер, оставив бэкап вместо профиля, и всё, psd не стартует.
Comment 7 hasculdr 2017-09-19 14:03:07 MSK
$ systemctl --user status psd-resync
Failed to get properties: Process org.freedesktop.systemd1 exited with status 1

Я вообще в выводе systemd-analyze blame и systemctl list-units --type service | grep psd нужной службы не нашел.

3 браузера: для хрома 2 каталога, профиль и бэкап, palemoon - только бэкап, при этом для firefox были бэкап и ссылка на /run/user.
Переименовываю бэкап пэйлмуна, закрываю оба браузера, перезагружаю ноутбук, жду ~минуту - firefox не запускается, не найден профиль.
Comment 8 hasculdr 2017-09-19 14:05:42 MSK
конфиг psd никогда не трогал - он полностью закомментирован.

$ systemctl start psd-resync.service
Failed to start psd-resync.service: Unit psd-resync.service not found.
Comment 9 Антон Мидюков 2017-09-19 14:19:16 MSK
(In reply to comment #8)
> конфиг psd никогда не трогал - он полностью закомментирован.
> 
> $ systemctl start psd-resync.service
> Failed to start psd-resync.service: Unit psd-resync.service not found.

systemctl --user start psd-resync.service
Comment 10 hasculdr 2017-09-20 08:09:00 MSK
Отредактировал psd.conf:
BROWSERS="firefox"
USE_BACKUPS="yes"
#USE_OVERLAYFS="no" (стоит ли это включать и будет ли это работать на альте?)
На момент перезагрузки системы я переименовал бэкап. После загрузки имею бэкап и ссылку на профиль. При этом
$ systemctl --user start psd-resync.service
Failed to start psd-resync.service: Process org.freedesktop.systemd1 exited with status 1
See user logs and 'systemctl --user status psd-resync.service' for details.
hasculdr@notebook ~ $ systemctl --user status psd-resync.service
Failed to get properties: Process org.freedesktop.systemd1 exited with status 1
Comment 11 hasculdr 2017-09-20 11:15:56 MSK
Непонятно, служба вроде как не запущена, а ссылки и бэкапы создаются.
$ psd p
Сегодня: Среда 20 сен 2017г. Местное время-12:07
/usr/bin/psd: line 103: ${USE_OVERLAYFS,,}: bad substitution
/usr/bin/psd: line 106: ${USE_BACKUPS,,}: bad substitution
/usr/bin/psd: line 108: ${USE_BACKUPS,,}: bad substitution
Ungraceful state detected for /home/hasculdr/.moonchild productions/pale moon/c7n5ogxn.default so fixing
Profile-sync-daemon v6.25 on ALT Linux 7.0.5 Centaurus  (Pholus)

Failed to retrieve unit: Process org.freedesktop.systemd1 exited with status 1
Failed to retrieve unit: Process org.freedesktop.systemd1 exited with status 1
 Systemd service is currently .
 Systemd resync-timer is currently .
 Overlayfs technology is currently inactive.
Comment 12 Антон Мидюков 2018-04-23 15:56:22 MSK
Вся беда, оказывается, в этих строках:
/usr/bin/psd: line 103: ${USE_OVERLAYFS,,}: bad substitution
/usr/bin/psd: line 106: ${USE_BACKUPS,,}: bad substitution
/usr/bin/psd: line 108: ${USE_BACKUPS,,}: bad substitution

Нужно запятые убрать, и тогда всё работает:
${USE_OVERLAYFS}
${USE_BACKUPS}
${USE_BACKUPS}
Comment 13 Антон Мидюков 2018-04-23 18:27:47 MSK
Исправление в задании 205188. Установить:
apt-repo test 205188
Comment 14 Repository Robot 2018-04-27 11:16:57 MSK
profile-sync-daemon-6.33-alt2 -> sisyphus:

Mon Apr 23 2018 Anton Midyukov <antohami@altlinux> 6.33-alt2
- fix bash syntax error (Closes: 33902)
Comment 15 hasculdr 2018-04-30 09:01:47 MSK
Опоздал с тестированием задания, установил "вручную" с зеркала.
$ psd p
Сегодня: Понедельник 30 апр 2018г. Местное время-10:00
Profile-sync-daemon v6.33 on ALT Linux 7.0.5  Centaurus (Pholus)

 Systemd service is currently inactive.
 Systemd resync-timer is currently inactive.
 Overlayfs technology is currently inactive.

Psd will manage the following per /home/hasculdr/.config/psd/psd.conf:

 browser/psname:  palemoon/palemoon
 owner/group id:  hasculdr/500
 sync target:     /home/hasculdr/.moonchild productions/pale moon/c7n5ogxn.default
 tmpfs dir:       /run/user/500/hasculdr-palemoon-c7n5ogxn.default
 profile size:    54M
 recovery dirs:   none


$ systemctl --user status psd-resync
● psd-resync.service - Timed resync
   Loaded: loaded (/usr/lib/systemd/user/psd-resync.service; disabled; vendor preset: 
   Active: inactive (dead)


$ systemctl start psd-resync.service
Failed to start psd-resync.service: Unit psd-resync.service not found.
Comment 16 Антон Мидюков 2018-04-30 12:08:40 MSK
(В ответ на комментарий №15)
> Опоздал с тестированием задания, установил "вручную" с зеркала.
> $ psd p
> Сегодня: Понедельник 30 апр 2018г. Местное время-10:00
> Profile-sync-daemon v6.33 on ALT Linux 7.0.5  Centaurus (Pholus)

У вас Кентавр, обновленный до p8?

> systemctl start psd-resync.service

Неправильно. надо:
systemctl --user start psd-resync

А вообще, надо делать, как положено:
systemctl --user enable psd
systemctl --user enable psd-resync.timer

Перелогин. И смотрим статус:
systemctl --user status psd-resync
Comment 17 hasculdr 2018-04-30 12:21:34 MSK
> А вообще, надо делать, как положено:
> systemctl --user enable psd
> systemctl --user enable psd-resync.timer
>
> Перелогин. И смотрим статус:
> systemctl --user status psd-resync


$ systemctl --user status psd-resync
● psd-resync.service - Timed resync
   Loaded: loaded (/usr/lib/systemd/user/psd-resync.service; disabled; vendor preset: 
   Active: inactive (dead)
Comment 18 Антон Мидюков 2018-04-30 12:25:53 MSK
Для p8 задание ждёт одобрения:
apt-repo test 205363
Comment 19 Антон Мидюков 2018-04-30 12:27:25 MSK
systemctl --user start psd-resync

Интересны то сообщения. Ну и запускается ли браузер после некорректного завершения сеанса.
Comment 20 hasculdr 2018-04-30 12:33:16 MSK
После логаута вот так:
$ systemctl --user status psd
● psd.service - Profile-sync-daemon
   Loaded: loaded (/usr/lib/systemd/user/psd.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2018-04-30 13:22:27 +04; 10min ago
     Docs: man:psd(1)
           man:profile-sync-daemon(1)
           https://wiki.archlinux.org/index.php/Profile-sync-daemon
  Process: 2027 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 2027 (code=exited, status=0/SUCCESS)

апр 30 13:22:27 notebook systemd[1165]: Starting Profile-sync-daemon...
апр 30 13:22:27 notebook systemd[1165]: Started Profile-sync-daemon.
hasculdr@notebook ~ $ systemctl --user status psd-resync
● psd-resync.service - Timed resync
   Loaded: loaded (/usr/lib/systemd/user/psd-resync.service; disabled; vendor preset: 
   Active: inactive (dead) since Mon 2018-04-30 13:23:45 +04; 8min ago
  Process: 2048 ExecStart=/usr/bin/profile-sync-daemon resync (code=exited, status=0/S
 Main PID: 2048 (code=exited, status=0/SUCCESS)

апр 30 13:23:43 notebook systemd[1165]: Starting Timed resync...
апр 30 13:23:45 notebook profile-sync-daemon[2048]: palemoon sync successful
апр 30 13:23:45 notebook systemd[1165]: Started Timed resync.
Comment 21 hasculdr 2018-04-30 12:38:22 MSK
Браузер запустился после "правильного" выключения ПК с незакрытым браузером. После праздников повторю через выдергивание из розетки без аккумулятора.