Bug 33617

Summary: Долгий фриз на выходе из suspend с ядрами 4.x.y
Product: Sisyphus Reporter: Speccyfighter <zxwarior>
Component: kernel-image-std-defAssignee: Vitaly Chikunov <vt>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: kernelbot, placeholder, vseleznv, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description Speccyfighter 2017-07-05 01:31:57 MSK
Платформа Centrino

$ lspci -k|grep -A2 VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
	Subsystem: Hewlett-Packard Company NX6110/NC6120
	Kernel driver in use: i915



Система

$ apt-repo 
rpm http://mirror.datacenter.by/pub/ALTLinux Sisyphus/i586 classic
rpm http://mirror.datacenter.by/pub/ALTLinux Sisyphus/noarch classic


$ xfce4-about -V
xfce4-about 4.12.1 (Xfce 4.12)


$ rpm -qf /sbin/init 
sysvinit-2.88-alt5.i586



Ядро 3.14.79-std-def

$ uname -r
3.14.79-std-def-alt0.M70P.2


# Выключение - моментальное включение
$ time -f %e xfce4-session-logout -s
9.35


$ strace xfce4-session-logout -s > too-shot-time-31479-from-suspend-strace.txt 


$ tail -n 1 too-shot-time-31479-from-suspend-strace.txt 
+++ exited with 0 +++

Результат:
На выходе из suspend систему не фризит. Время просыпания системы с готовностью к работе - 1-2 секунды.



Ядро 4.9.31-std-def

$ uname -r
4.9.31-std-def-alt1


$ time -f %e xfce4-session-logout -s
Command exited with non-zero status 1
27.14


$ echo '27.14-9.35'|bc -l
17.79  # 17.79 секунд фриза на выходе из suspend !!!


$ strace xfce4-session-logout -s > too-long-time-from-suspend-strace.txt 


$ tail -n 1 too-long-time-from-suspend-strace.txt 
+++ exited with 1 +++


Получена ошибка при 
попытке завершения сеанса

Did not receive a reply. Possible causes include: the 
remote application did not send a reply, the message 
bus security policy blocked the reply, the reply 
timeout expired, or the network connection was 
broken.


Разница между временем выхода из STR на ядре 4.9.31-std-def и 3.14.79-std-def 18 секунд (!) при максимально свободных ресурсах. В этот период мёртвая вся система включая курсор и сеть.
Этой ошибке подвержены все четвёртые ядра. По сравнению с ядрами 3.14.xy, в ядрах 4.x.y очевидная регрессия.
Comment 1 Speccyfighter 2017-07-05 02:02:19 MSK
Однако стоит и сравнить:

Slackware "unstable" pre14.2

$ grep 'model name' /proc/cpuinfo 
model name	: Intel(R) Pentium(R) M processor 2.13GHz


# lspci -k|grep -A2 VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
    Subsystem: Hewlett-Packard Company Mobile 915GM/GMS/910GML Express Graphics Controller (NX6110/NC6120)
    Kernel driver in use: i915


$ sed "" /etc/slackware-version 
Slackware 14.2


$ uname -r
4.4.17


$ grep -v ^# /etc/slackpkg/mirrors
http://ftp.osuosl.org/.2/slackware/slackware-current/


$ xfce4-about -V
xfce4-about 4.12.1 (Xfce 4.12)


# slackpkg file-search sbin/init

Looking for sbin/init in package list. Please wait... DONE

The list below shows the packages that contains "sbin/init" file.

[ installed ] - sysvinit-2.88dsf-i486-4


$ strace -o slackware-strace-xfce4-session-logout-s.txt xfce4-session-logout -s


$ tail -n 1 slackware-strace-xfce4-session-logout-s.txt 
+++ exited with 0 +++


$ /usr/bin/time -f %e xfce4-session-logout -s
0.05

Время выполнения команды, - пять сотых секунды.
Время оживления системы - 14 секунд.


Грузим сизифный alt с наиболее близким по версии ядром:
Да, с ядром 4.4.27-std-def окно с ошибкой не вываливается

$ strace -o alt-4427-from-suspend-strace.txt xfce4-session-logout -s 


$ tail -n 1 alt-4427-from-suspend-strace.txt 
+++ exited with 0 +++


но это ничего не меняет:
со времени нажатия на кнопку Power чтобы выйти из STR (Suspend To Ram), альтам понадобится 19 секунд чтобы курсор проснулся и поднялась сеть

$ time -f %e xfce4-session-logout -s
24.13

Это время всего лишь в половину меньше необходимого для полной загрузки системы на sysv с IDE-винчестера.


Кстати:
- Разница между Slackware и ALT Linux в отработке команды

$ xfce4-session-logout -s


состоит в том, что в Slackware эта команда отработает за пять сотых секунды _до_ выключения питания. А в альтах, эта команда завершит свою работу после выхода из STR, в том числе после 15-20-секундного замораживания системы на выходе из STR.

Т.е. ошибка замораживания системы на выходе из suspend, общесистемная.
Comment 2 Speccyfighter 2017-07-05 02:06:22 MSK
После выхода из STR окно вылетает на всех ядрах 4.9.x-std-def

Получена ошибка при
попытке завершения сеанса

Did not receive a reply. Possible causes include: the
remote application did not send a reply, the message
bus security policy blocked the reply, the reply
timeout expired, or the network connection was
broken.


Ошибке не подвержены ядра 4.4.x (за редким исключением)

# ls -1 /boot/{vmlinuz,initrd}-*|sort
/boot/initrd-3.14.79-std-def-alt0.M70P.2.img
/boot/initrd-4.4.27-std-def-alt1.img
/boot/initrd-4.4.30-std-def-alt1.img
/boot/initrd-4.4.31-std-def-alt1.img
/boot/initrd-4.4.34-std-def-alt1.img
/boot/initrd-4.4.35-std-def-alt1.img
/boot/initrd-4.4.44-std-def-alt1.1.img
/boot/initrd-4.4.47-std-def-alt1.1.img
/boot/initrd-4.4.53-std-def-alt1.img
/boot/initrd-4.9.17-std-def-alt1.img
/boot/initrd-4.9.20-std-def-alt1.img
/boot/initrd-4.9.21-std-def-alt1.img
/boot/initrd-4.9.22-std-def-alt1.img
/boot/initrd-4.9.30-std-def-alt1.img
/boot/initrd-4.9.31-std-def-alt1.img
/boot/initrd-std-def.img
/boot/vmlinuz-3.14.79-std-def-alt0.M70P.2
/boot/vmlinuz-4.4.27-std-def-alt1
/boot/vmlinuz-4.4.30-std-def-alt1
/boot/vmlinuz-4.4.31-std-def-alt1
/boot/vmlinuz-4.4.34-std-def-alt1
/boot/vmlinuz-4.4.35-std-def-alt1
/boot/vmlinuz-4.4.44-std-def-alt1.1
/boot/vmlinuz-4.4.47-std-def-alt1.1
/boot/vmlinuz-4.4.53-std-def-alt1
/boot/vmlinuz-4.9.17-std-def-alt1
/boot/vmlinuz-4.9.20-std-def-alt1
/boot/vmlinuz-4.9.21-std-def-alt1
/boot/vmlinuz-4.9.22-std-def-alt1
/boot/vmlinuz-4.9.30-std-def-alt1
/boot/vmlinuz-4.9.31-std-def-alt1
/boot/vmlinuz-std-def


# uname -r
4.4.53-std-def-alt1


$ strace -o alt-xfce-4453-std-def-strace-from-suspend.txt xfce4-session-logout -s


$ tail -n 1 alt-xfce-4453-std-def-strace-from-suspend.txt 
+++ exited with 0 +++


несмотря на то что выход такой же долгий

$ time -f %e xfce4-session-logout -s
23.49
Comment 3 Speccyfighter 2017-07-05 02:12:44 MSK
Теперь останавливаемся на опорных точках, как выжимке регрессии:

- Все ядра 4.9.x-std-def на ноутбуке HP Compaq nx6110 с sysv-xfce на сизифе, на выходе из STR после завершения выполнения команды

$ xfce4-session-logout -s

на выходе из suspend замораживают систему на 15-20 секунд и и по выходу выбрасывают окно ошибки, завершая команду с ошибкой код 1:

$ tail -n 1 too-long-time-from-suspend-strace.txt
+++ exited with 1 +++


- Все ядра 4-той линейки на ноутбуке HP Compaq nx6110 с sysv-xfce на сизифе, на выходе из STR при выполнении команды 

$ xfce4-session-logout -s

замораживают систему на 15-20 секунд.
Эта ошибка общесистемная и так же проявляется на стабильном Slackware 14.2.

- Этим ошибкам в системе с sysv-xfce на сизифе, не подвержены ядра 3.14.xx-std-def из p7/branch.