Summary: | Failed unmounting Runtime Directory | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Ivan A. Melnikov <iv> |
Component: | systemd | Assignee: | Alexey Shabalin <shaba> |
Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | antohami, arseny, jqt4, shaba, sin |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | 35106 | ||
Bug Blocks: |
Description
Ivan A. Melnikov
2019-12-03 16:24:27 MSK
При помощи пары грязных хаков удалось получить вывод lsof /run сразу после неудачного отмонтирования: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 26u FIFO 0,15 0t0 5961 /run/initctl systemd 1 root 66r REG 0,15 1536 2195 /var/run/utmp systemd-j 2745 root mem REG 0,15 8 7545 /run/systemd/journal/kernel-seqnum Похоже, виновата часть systemd, которая держит /var/run/utmp в этот момент. На x86_64 я этого вроде не вижу (но там всё очень быстро пролетает...). Дмитрий, Антон, уточните пожалуйста, где эта проблема замечена. (В ответ на комментарий №0)
>На BFK 3.1 (mipsel) воспроизводится стабильно, при каждом
выключении/перезагрузке.
Стабильность это очень хорошо. Попробуй превратить /var/run в симлинк:
rm -fr /var/run && ln -s ../run /var/run
Будет ли проблема воспроизводиться после этого?
(In reply to comment #2) > rm -fr /var/run Очень плохая идея делать так на живой системе. Система после этого перестанет быть живой, по крайней мере до перезагрузки. Но мысль я понял и попробовал, примонтировав раздел на другую машину. > Будет ли проблема воспроизводиться после этого? Не должна. Проблема именно в отмонтировании bind-mount /var/run, который в случае если /var/run симлинк не делается. Я проверил -- и правда, не воспроизводится. (В ответ на комментарий №3) > (In reply to comment #2) > > rm -fr /var/run > > Очень плохая идея делать так на живой системе. Система после этого перестанет > быть живой, по крайней мере до перезагрузки. Разумеется. После перезагрузки, как правило, всё ок :-) > > Но мысль я понял и попробовал, примонтировав раздел на другую машину. > > > Будет ли проблема воспроизводиться после этого? > > Не должна. Проблема именно в отмонтировании bind-mount /var/run, который в > случае если /var/run симлинк не делается. > > Я проверил -- и правда, не воспроизводится. Тогда переходим на симлинк. (In reply to comment #1) > Похоже, виновата часть systemd, которая держит /var/run/utmp в этот момент. Из чисто образовательного интереса всё-таки запишу, что путь /var/run/utmp приходит в systemd из /usr/include/paths.h (макрос _PATH_UTMP), из пакета glibc-devel. В федоре, в glibc-headers-2.30.9000-21.fc32.x86_64.rpm, этот макрос имеет такое же значение. Используйте симлинк /var/run -> /run и будет все хорошо. |