Bug 31076 - При загрузке с включенным KernelModeSetting сегфолт иксов
Summary: При загрузке с включенным KernelModeSetting сегфолт иксов
Status: NEW
Alias: None
Product: Regular
Classification: Distributions
Component: any (show other bugs)
Version: не указана
Hardware: all Linux
: P3 normal
Assignee: Michael Shigorin
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-17 15:21 MSK by freuser
Modified: 2020-02-16 13:16 MSK (History)
2 users (show)

See Also:


Attachments
KDE 32-bit (alpha 20150601): ps aux, journalctl (128.70 KB, text/plain)
2015-06-17 15:21 MSK, freuser
no flags Details
IceWM (alpha 20150601) ps aux, /var/log/messages, /var/log/Xorg.0.log, dmesg (103.79 KB, text/plain)
2015-06-17 15:33 MSK, freuser
no flags Details
KDE 64-bit (release 20150612): journalctl, dmesg (180.93 KB, text/plain)
2015-06-17 15:44 MSK, freuser
no flags Details
segfaults: kde4-32bit + xfce-32bit + xfce-64bit (5.47 KB, text/plain)
2015-09-07 09:16 MSK, freuser
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description freuser 2015-06-17 15:21:53 MSK
Created attachment 6302 [details]
KDE 32-bit (alpha 20150601): ps aux, journalctl

Испробовано на KDE_32_bit (beta 20150612), KDE_32-bit (Sisyphus 20150610), KDE_64_bit(beta 20150612), e17(beta 20150612), IceWM(alpha 20150601), FlightGear (от mike@).
При запуске графики процесс X сегфолтится, висит в 'ps aux' со статусом D.
Если запустить лайв с опцией nomodeset, графика запускается и работает на fbdev или VESA, если при работающей графике выгрузить модуль 'radeon' и загрузить обратно без опции 'modeset=0' (или 'radeon modeset=1'), тут же сегфолтится.

На этом же компьютере текущая p7, а также лайв p6.0.0, работает нормально.

Полный лог прилагается, привожу сами сегфолты (для KDE):

64-bit (beta 20150612)
 INFO: task X:897 blocked for more than 120 seconds.
       Tainted: P           O 3.14.44-std-def-alt1 #1
 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 X               D ffff88014fc12d00     0   897    865 0x00000004
  ffff88002939fa28 0000000000000002 ffff880148248090 0000000000012d00
  ffff88002939ffd8 0000000000012d00 ffff88007b1b25d0 ffff880148248090
  ffff88002939fa38 ffff88014a000098 ffff88014a00013e ffff88014a0001f8
 Call Trace:
  [<ffffffff815518f4>] schedule+0x24/0x70
  [<ffffffff813ed0f4>] rpm_resume+0x164/0x6a0
  [<ffffffff810acc40>] ? finish_wait+0x80/0x80
  [<ffffffff813eeaa8>] __pm_runtime_resume+0x48/0x70
  [<ffffffffa00ae392>] radeon_driver_open_kms+0x42/0x200 [radeon]
  [<ffffffff8126fd73>] ? security_capable+0x13/0x20
  [<ffffffffa00263b3>] drm_open+0x2a3/0x6b0 [drm]
  [<ffffffffa00268b5>] drm_stub_open+0xf5/0x150 [drm]
  [<ffffffff811ba2e3>] chrdev_open+0xa3/0x1d0
  [<ffffffff811b34d3>] do_dentry_open+0x243/0x2d0
  [<ffffffff811ba240>] ? cdev_put+0x30/0x30
  [<ffffffff811b3590>] finish_open+0x30/0x40
  [<ffffffff811c47bc>] do_last+0x20c/0xef0
  [<ffffffff811c172e>] ? link_path_walk+0x28e/0x840
  [<ffffffff811c555d>] path_openat+0xbd/0x670
  [<ffffffff811b607e>] ? vfs_write+0x17e/0x1d0
  [<ffffffff811c621e>] do_filp_open+0x3e/0xa0
  [<ffffffff811d2d61>] ? __alloc_fd+0xd1/0x120
  [<ffffffff811b4dc7>] do_sys_open+0x137/0x220
  [<ffffffff811b4ecd>] SyS_open+0x1d/0x20
  [<ffffffff8155e4e7>] tracesys+0xdd/0xe2

32-bit (alpha 20150601)
 INFO: task X:823 blocked for more than 120 seconds.
       Tainted: P           O 3.14.41-std-def-alt1 #1
 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 X               D fae88480     0   823    793 0x00000004
  cfb97cc4 00000082 cfb97c60 fae88480 00000002 00000000 00000007 c176c580
  c176c580 cdf59a27 00000010 f2c22f70 f34a8ef0 00000923 c0096c00 00000000
  da4558d8 00000031 00000001 cfb97cc0 c117b94d 000008f2 00000096 00000031
 Call Trace:
  [<fae88480>] ? ext4_dirty_inode+0x50/0x60 [ext4]
  [<c117b94d>] ? generic_write_end+0xad/0xe0
  [<c1082067>] ? prepare_to_wait+0x47/0x70
  [<c146bc9e>] schedule+0x1e/0x60
  [<c1330f65>] rpm_resume+0x115/0x5a0
  [<c1081e30>] ? finish_wait+0x60/0x60
  [<c1332526>] __pm_runtime_resume+0x36/0x50
  [<f84e7100>] radeon_driver_open_kms+0x30/0x1f0 [radeon]
  [<c11e8567>] ? security_capable+0x17/0x20
  [<c104c792>] ? ns_capable+0x22/0x50
  [<f7dbcb17>] drm_open+0x247/0x5a0 [drm]
  [<f7dbcf41>] drm_stub_open+0xd1/0x110 [drm]
  [<c1151df8>] chrdev_open+0x88/0x1b0
  [<c114c100>] do_dentry_open+0x200/0x270
  [<c1157d98>] ? __inode_permission+0x48/0xb0
  [<c1151d70>] ? cdev_put+0x20/0x20
  [<c114c19d>] finish_open+0x2d/0x40
  [<c115b24c>] do_last+0x7ac/0xc90
  [<c11583bd>] ? link_path_walk+0x1dd/0x6e0
  [<c1156809>] ? lookup_real+0x19/0x50
  [<c115b7db>] path_openat+0xab/0x550
  [<c11783c6>] ? fsstack_copy_inode_size+0x96/0xb0
  [<c115c430>] do_filp_open+0x30/0x80
  [<c114d7d8>] do_sys_open+0x108/0x1f0
  [<c114d8dd>] SyS_open+0x1d/0x20
  [<c146eff7>] syscall_call+0x7/0x7

#lspci | grep VGA:
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler [Radeon HD 6320]
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series]

Работает на встроенной видеокарте (00:01.0), на внешнюю vga_switcheroo не может переключить (на 7.0.0 успешно переключал).

Память (4GB маркетинговых, 3700 MB в реале) проверена на трех полных проходах (четвертый на 80%) на стандартном тесте. Ошибок нет.
Comment 1 Michael Shigorin 2015-06-17 15:31:57 MSK
> На этом же компьютере текущая p7, а также лайв p6.0.0, работает нормально.
А с чего именно был установлен работающий дистрибутив, дотянутый до p7?
Comment 2 freuser 2015-06-17 15:33:54 MSK
Created attachment 6303 [details]
IceWM (alpha 20150601) ps aux, /var/log/messages, /var/log/Xorg.0.log, dmesg
Comment 3 freuser 2015-06-17 15:39:27 MSK
>А с чего именно был установлен работающий дистрибутив, дотянутый до p7?
С Pholus, кажется (это 7.0.3, если я правильно помню). Вначале был 7.0.0 свежий, но он тоже по мелочам глючил, так что сейчас стоит на соседнем разделе резервом.
Comment 4 freuser 2015-06-17 15:44:35 MSK
Created attachment 6304 [details]
KDE 64-bit (release 20150612): journalctl, dmesg

Больше логов с сегфолтом нет (все остальное грузил на пробу как обычно, дожидался сегфолта и тут же, не сохраняясь, перезагружался без KMS).
Comment 5 Michael Shigorin 2015-09-06 18:35:45 MSK
Совершенно на всякий (целенаправленных действий не предпринималось)
проверить бы там 20150905: http://nightly.altlinux.org/p7/beta/
Comment 6 freuser 2015-09-07 09:16:09 MSK
Created attachment 6364 [details]
segfaults: kde4-32bit + xfce-32bit + xfce-64bit

> Совершенно на всякий (целенаправленных действий не предпринималось)
> проверить бы там 20150905: http://nightly.altlinux.org/p7/beta/

XFCE-32bit, XFCE-64bit, KDE4-32bit. Результат тот же. Сегфолты во вложении.
Comment 7 Michael Shigorin 2015-12-05 12:32:24 MSK
Кстати, а что на нынешних регулярках gnome3 или icewm?  Там 4.3.0 + 1.18.0.
Comment 8 freuser 2015-12-18 10:59:55 MSK
IceWM от 12.12.2015, версия i586, то же самое.
Comment 9 Michael Shigorin 2016-12-12 19:18:54 MSK
А на 4.8?
Comment 10 freuser 2016-12-13 11:15:08 MSK
На alt-p8-xfce-20161212-i586 ещё хуже -- без опции acpi=off виснет перед графикой, даже не предоставляя доступ к консоли. Ни переключиться по Ctrl+Alt+F*, ни напечатать. Работают только магические Alt+SysRq.
Несолько раз пробовал, один раз ждал реакции минут 8 -- последняя запись о действии "Starting Show Plymouth Boot Screen", после которой при acpi=off уже запускается графика.
С выключенным ACPI работает, nomodeset не требует, но в загрузке FAILED напротив Load kernel modules. Соответственно не работают cpufreq и ath3. Virtualbox и прочие ядерные модули не пробовал -- ставить такую систему неинтересно, а лайв ограничен.
В попытке найти время регресса загружал alt-p8-enlightenment-20160912-i586 -- то же самое. В мае загружал regular -- там было старое поведение.
Comment 11 Michael Shigorin 2016-12-13 12:16:01 MSK
Понял; а gnome3 или icewm? (там 4.8-un-def)
Comment 12 freuser 2016-12-13 13:36:14 MSK
Дык тут то же ядро:
4.8.14-un-def-alt0.M80P.1 (builder@localhost.localdomain) #1 SMP PREEMPT Sun Dec 11 20:07:53 UTC 2016.
Или там разница в минорных числах?
Comment 13 Michael Shigorin 2016-12-13 19:49:53 MSK
(В ответ на комментарий №12)
> Или там разница в минорных числах?
Между бэкпортом и сизифным разницы быть не должно...
Comment 14 freuser 2018-06-19 21:38:34 MSK
Попытка с regular-kde5-x64-20180312 неоднозначна.
С одной стороны, графика неожиданно запустилась, в максимальном разрешении, с опциями по умолчанию (без костылей вида acpi=off или nomodeset).
С другой стороны, от загрузки системы до запуска графики прошло 13 минут (!) в течении которых система просто моргала курсором и не давала переключиться на другие виртуальные консоли, работали только "магические" клавиши.
После загрузки в графику в логах обнаружилась 5 сегфолтов процесса plymouthd:
 
kernel: INFO: task plymouthd:316 blocked for more than 120 seconds.
kernel:       Tainted: P           O    4.9.86-std-def-alt0.M80P.1 #1
kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kernel: plymouthd       D    0   316      1 0x00000000
kernel:  ffff88014a924c00 0000000000000000 ffff88014b3ac300 ffff88014aa3a3c0
kernel:  ffff88014fd18940 ffffc90000b8fd38 ffffffff8165eebf 0000000000000035
kernel:  0000000000000003 0000000000000004 ffff880147960d00 ffff88014aa3a3c0
kernel: Call Trace:
kernel:  [<ffffffff8165eebf>] ? __schedule+0x24f/0x740
kernel:  [<ffffffff8165f3e1>] schedule+0x31/0x80
kernel:  [<ffffffff8165f6e9>] schedule_preempt_disabled+0x9/0x10
kernel:  [<ffffffff816614a8>] __mutex_lock_slowpath+0xc8/0x140
kernel:  [<ffffffff81661532>] mutex_lock+0x12/0x30
kernel:  [<ffffffff814b82b1>] vga_switcheroo_process_delayed_switch+0x11/0xb0
kernel:  [<ffffffffa0227892>] radeon_driver_lastclose_kms+0x12/0x20 [radeon]
kernel:  [<ffffffffa00532b4>] drm_lastclose+0x34/0xf0 [drm]
kernel:  [<ffffffffa005361d>] drm_release+0x2ad/0x360 [drm]
kernel:  [<ffffffff81215644>] __fput+0xd4/0x1e0
kernel:  [<ffffffff81215789>] ____fput+0x9/0x10
kernel:  [<ffffffff810a0d99>] task_work_run+0x79/0xa0
kernel:  [<ffffffff810037b8>] exit_to_usermode_loop+0xc8/0xd0
kernel:  [<ffffffff81003c64>] do_syscall_64+0x104/0x110
kernel:  [<ffffffff816649ce>] entry_SYSCALL_64_after_swapgs+0x58/0xc6

(первый спустя 3 минуты 29 секунд, дальше каждые 123 секунды. Спустя ровно минуту после пятого ядро выдало следующее:

kernel: ACPI Error: Method parse/execution failed [\_SB.A048] (Node ffff88014b8ad898), AE_AML_INFINITE_LOOP (20160831/psparse-543)
kernel: ACPI Error: Method parse/execution failed [\_SB.A029] (Node ffff88014b8ad8e8), AE_AML_INFINITE_LOOP (20160831/psparse-543)
kernel: ACPI Error: Method parse/execution failed [\_SB.A070] (Node ffff88014b8ad5a0), AE_AML_INFINITE_LOOP (20160831/psparse-543)
kernel: ACPI Error: Method parse/execution failed [\_SB.A069] (Node ffff88014b8ad5f0), AE_AML_INFINITE_LOOP (20160831/psparse-543)
kernel: ACPI Error: Method parse/execution failed [\_SB.ALIB] (Node ffff88014b89b190), AE_AML_INFINITE_LOOP (20160831/psparse-543)
kernel: ACPI Error: Method parse/execution failed [\_SB.PCI0.VGA.PX02] (Node ffff88014b88f000), AE_AML_INFINITE_LOOP (20160831/psparse-543)
kernel: ACPI Error: Method parse/execution failed [\_SB.PCI0.VGA.ATPX] (Node ffff88014b88f078), AE_AML_INFINITE_LOOP (20160831/psparse-543)
kernel: failed to evaluate ATPX got AE_AML_INFINITE_LOOP
systemd[1]: Received SIGRTMIN+20 from PID 316 (plymouthd).
systemd[1]: Started Show Plymouth Boot Screen.

и пошла нормальная загрузка графики и рабочего стола.
Итого загрузка заняла
systemd[1]: Startup finished in 19.442s (kernel) + 13min 18.545s (userspace) = 13min 37.987s.
Comment 15 freuser 2018-06-19 22:21:09 MSK
Загрузка этого же образа с отключенным KMS (опция nomodeset) была тоже нестандартной:
переключиться на другую виртуальную консоль было возможно, но в ней постоянно мерцали какие-то строки и некоторые символы "съедались", приходилось их вводить по два-три раза. После команды `systemctl stop prefdm` данное поведение прекратилось, в логах обнаружилась повторяющаяся 10 раз в секунду группа строк:

prefdm[715]: /usr/bin/xauth: (stdin):1:  bad "remove" command line
prefdm[715]: /usr/bin/xauth: (stdin):2:  bad "add" command line
sddm[715]: QProcess: Destroyed while process ("/usr/libexec/sddm/sddm-helper") is still running.

причем PID процесса один на двоих (не знаю, как это может быть) и не менялся.
И появилась она ровно после окончания загрузки с точки зрения systemd, т.е после сообщения
systemd[1]: Startup finished in 25.880s (kernel) + 23.720s (userspace) = 49.600s.

Предположил, что не хватает прав доступа к Х-серверу. Ввод в разные места (~/.*shrc, /etc/X11/xiniе/{xinitrc,xserverrc,Xclients}) команды `xhost +` и попытка рестартовать графику не помогла, поведение было аналогичным. Помогла только подстановка файла /etc/X11/xorg.conf.d/xorg.conf с работающей системы с редактированием его до минимального и перебором драйверов. И уже в графике в каждом новом экземпляре эмулятора консоли стало появляться сообщение, что команда `xhost +` сработала, так что идея была неважнецкая.


Планирую скачать и протестировать какой-то образ поменьше размером из еженедельных (http://nightly.altlinux.org/sisyphus/current/), если есть особые пожелания, готов выслушать -- пока что не качал ничего, оптимизирую место на диске.
Comment 16 Michael Shigorin 2018-06-21 11:01:37 MSK
Занятно... если бы p6/p7 там не работали, косился бы точно на фирмварь.
Кстати, а почему смотрели мартовскую сборку, если есть июньская?
Comment 17 freuser 2018-06-23 09:23:19 MSK
Попробовал IceWM-32bit-20180620. Визуально иксы стартуют, гаснут и через пару секунд стартуют нормально. В логах присутствуют строки

Jun 21 11:06:44 localhost kernel: [   66.684093] ACPI Error: Method parse/execution failed \_SB.A048, AE_AML_LOOP_TIMEOUT (20180105/psparse-550)
Jun 21 11:06:44 localhost kernel: [   66.684140] ACPI Error: Method parse/execution failed \_SB.A029, AE_AML_LOOP_TIMEOUT (20180105/psparse-550)
Jun 21 11:06:44 localhost kernel: [   66.684168] ACPI Error: Method parse/execution failed \_SB.A070, AE_AML_LOOP_TIMEOUT (20180105/psparse-550)
Jun 21 11:06:44 localhost kernel: [   66.684199] ACPI Error: Method parse/execution failed \_SB.A069, AE_AML_LOOP_TIMEOUT (20180105/psparse-550)
Jun 21 11:06:44 localhost kernel: [   66.684226] ACPI Error: Method parse/execution failed \_SB.ALIB, AE_AML_LOOP_TIMEOUT (20180105/psparse-550)
Jun 21 11:06:44 localhost kernel: [   66.684253] ACPI Error: Method parse/execution failed \_SB.PCI0.VGA.PX02, AE_AML_LOOP_TIMEOUT (20180105/psparse-550)
Jun 21 11:06:44 localhost kernel: [   66.684299] ACPI Error: Method parse/execution failed \_SB.PCI0.VGA.ATPX, AE_AML_LOOP_TIMEOUT (20180105/psparse-550)
Jun 21 11:06:44 localhost kernel: [   66.684334] failed to evaluate ATPX got AE_AML_LOOP_TIMEOUT

но сегфолты отсутсвуют. Так как там вместо systemd init, непонятно, на что грешить. Стяну его же 64-бит, проверю. В системе два лога иксов, один заканчивается за 3 секунды до начала второго.
Кстати, звука нет, alsactl говорит что-то вроде
sysfs_path:48 wrong path '/sys'
(по памяти, так как в логах этого нет почему-то).

(В ответ на комментарий №16)
> Занятно... если бы p6/p7 там не работали, косился бы точно на фирмварь.
> Кстати, а почему смотрели мартовскую сборку, если есть июньская?
Да оно ж вроде как почти релиз, должно быть постабильнее снапшотов...
Comment 18 freuser 2018-07-08 22:37:03 MSK
IceWM-20180620-x86_64 отработал так же, как и х32-версия -- запуск иксов на пару секунд, сброс и нормальная работа графики. Стало быть, либо systemd, либо в самих кедах чего-то не то.

Запустил KDE-x86_64 (мартовскую) с параметрами splash и quiet (CD-привод у меня уже не рабочий, поэтому гружусь с образов на HDD и параметры прописываю руками). Такие же зависания, но с нюансами:
-- стало возможным переключаться между Alt+F1, Alt+F3 и Alt+F5 (где F2 и F4 -- непонятно), причем лог systemd ожидаемо оказался на пятой. То есть невозможность переключаться между виртконсолями была просто их отсутствием;
-- сегфолты стали сдвоенными, падает процесс X в дополнение к plymouthd;
-- загрузка в rescue-режиме первый раз зависла как и прочие, во второй успела показать "приглашение к восстановлению системы или нажатию ^D", но поле для ввода логина пароля прогрузиться не успело.

XFCE-x86_64-20180620 работает так же, как и IceWM -- нет сегфолтов, ругань на ACPI, двойная загрузка графики.

KDE5-x86_64-20180620 (июньская) ведет себя еще хуже, чем мартовский релиз (но сегфолты занимают на 2 минуты меньше):
 -- в первую загрузку рабочий стол постоянно крашился (в журнале каждые 10 секунд по простыне на 39 строк, начинающейся со слов "radeon 0000:00:01.0: ring 0 stalled for more than 10061msec", 00:01.00 -- это интегрированная графика, о чем ниже), в ~/.xsession-errors много записей инициализации чего-то, похоже, Plasma (десяток строк про версии OpenGL, Mesa, X-server и пр.);
 -- во вторую загрузку вроде норм, но фпс был никакой -- 2-3 вместо 30, vgaswitcheroo вроде вел себя как и в других лайвах -- PWR на интегрированной, DynOFF на дискретной. В журнале появилась подозрительная запись:
kernel: [drm:radeon_cs_parser_relocs [radeon]] *ERROR* gem object lookup failed 0x11
kernel: [drm:radeon_cs_ioctl [radeon]] *ERROR* Failed to parse relocation -2!
mplayer вообще ничего не показал, 'too many video packets';
 -- предположил, что причина в plymouth. NOSPLASH в опциях ядра с нашей вики не помог, как и прочие варианты, сработало лишь plymouth.enable=0. С сегфолтом стал падать вместо процесса plymouth процесс X.

Не знаю, на что еще грешить, почему именно KDE5-вариант тормозит. Поставлю, наверное, XFCE и попробую аккуратно апгрейдить до кед.

Багу, наверное, можно закрывать как неактуальную. То, что вместо нее другие непонятки, сюда уже не относится...