Ошибка Ubuntu 18.04 при выходе из спящего режима: ошибка чтения на устройстве подкачки

11

После нескольких часов работы ноутбука в спящем режиме, когда я пытаюсь возобновить сеанс, я получаю следующую ошибку:

Ошибка чтения на устройстве подкачки

Экран входа в систему занимает около 30 секунд, чтобы загрузить сообщение о случившемся. Когда я вхожу в систему, экран отключается один или два раза в секунду, и ни одна из моих программ больше не открыта. Я получаю приглашение «Обнаружена системная проблема». Когда я нажимаю «Отправить отчет», появляется другое уведомление:

Извините программа "Xorg" закрылась неожиданно. У вашего компьютера недостаточно свободной памяти, чтобы автоматически проанализировать проблему и отправить отчет разработчикам.

Пока что я пробовал увеличить доступное пространство подкачки. Первоначально это было около 2 ГБ, и я создал еще один файл подкачки 9 ГБ. Это не помогло. Занятое пространство подкачки (согласно команде swapon) после сбоя всегда составляет около 170 МБ.

DMESG, когда я возобновляю сеанс, до ошибки чтения на устройстве подкачки выглядит следующим образом:

    
[64046.474054] ACPI: Низкоуровневое резюме завершено
[64046.474162] ACPI: EC: EC запущен
[64046.474162] PM: Восстановление памяти NVS платформы
[64046.475139] Включение не загружающихся процессоров ...
[64046.475196] x86: загрузка конфигурации SMP:
[64046.475196] smpboot: Загрузочный узел 0 Процессор 1 APIC 0x2
[64046.475663] кеш: родительский процессор не должен спать
[64046.475859] CPU1 работает
[64046.475910] smpboot: Загрузочный узел 0 Процессор 2 APIC 0x4
[64046.476330] кеш: родительский процессор не должен спать
[64046.476506] CPU2 работает
[64046.476539] smpboot: Загрузочный узел 0 Процессор 3 APIC 0x6
[64046.477071] кеш: родительский процессор не должен спать
[64046.477255] CPU3 работает
[64046.477274] smpboot: Загрузочный узел 0 Процессор 4 APIC 0x1
[64046.477721] кеш: родительский процессор не должен спать
[64046.477922] CPU4 работает
[64046.477947] smpboot: Загрузочный узел 0 Процессор 5 APIC 0x3
[64046.478371] кеш: родительский процессор не должен спать
[64046.478571] CPU5 работает
[64046.478591] smpboot: Загрузочный узел 0 Процессор 6 APIC 0x5
[64046.479018] кеш: родительский процессор не должен спать
[64046.479229] CPU6 работает
[64046.479247] smpboot: Загрузочный узел 0 Процессор 7 APIC 0x7
[64046.479675] кеш: родительский процессор не должен спать
[64046.479899] CPU7 работает
[64046.485913] ACPI: выход из спящего режима системы S3
[64046.639206] ACPI: EC: событие разблокировано
[64046.639711] SD 2: 0: 0: 0: [SDA] Начальный диск
[64046.873289] usb 1-11: сбросить быстродействующее USB-устройство № 2 с помощью xhci_hcd
[64046.976869] ata4: канал SATA отключен (SStatus 4 SControl 300)
[64046.976892] ata2: канал SATA отключен (SStatus 4 SControl 300)
[64047.149289] usb 1-6: сброс высокоскоростного USB-устройства № 40 с помощью xhci_hcd
[64047.437370] psmouse serio1: синаптики: запрашиваемые максимальные координаты: x [..5660], y [..4570]
[64047.476302] psmouse serio1: синаптики: запрашиваемые минимальные координаты: x [1364 ..], y [1284 ..]
[64047.922603] Убийца OOM включен.
[64047.922605] Перезапуск задач ... выполнено.
[64047.928727] thermal thermal_zone1: не удалось прочитать тепловую зону (-61)
[64047.930036] Bluetooth: hci0: Редакция загрузчика 0.0 build 2 week 52 2014
[64047.935036] Bluetooth: hci0: версия устройства 5
[64047.935037] Bluetooth: hci0: безопасная загрузка включена
[64047.935038] Bluetooth: hci0: блокировка OTP включена
[64047.935038] Bluetooth: hci0: блокировка API включена
[64047.935039] Bluetooth: hci0: блокировка отладки отключена
[64047.935040] Bluetooth: hci0: минимальная сборка прошивки 1 неделя 10 2014
[64047.935042] Bluetooth: hci0: Найдена прошивка устройства: intel / ibt-11-5.sfi
[64047.944372] PM: приостановить выход
[64048.050329] Ошибка чтения на устройстве подкачки (8: 0: 1543400288)
[64048.460888] [drm] RC6 включен

Пожалуйста, дайте мне знать, если нужна какая-либо другая информация.

Vedant
источник
У меня очень похожая проблема - после обновления до 18.04 закрытие крышки ноутбука приводит к тому же сообщению об ошибке (Ошибка чтения на устройстве подкачки) и перезагрузке. Если вам удастся найти исправление в другом месте, было бы здорово, если бы вы могли поделиться им здесь.
Адриан,
1
Имея точно такую ​​же проблему. Я провел несколько исследований, и у пользователей архива Linux возникла та же проблема пару месяцев назад, и я пришел к выводу, что, вероятно, это как-то связано с ядром 4.15
user8814

Ответы:

10

В используемом в настоящее время ядре Ubuntu 18.04 отсутствует довольно важное исправление ошибки.

Исправление для этого уже присутствует в вышестоящей версии ядра Linux 4.16.8. (Ошибка приостановки фактически начала появляться в версии ядра 4.15). Ubuntu нужно только выбрать этот маленький патч из апстрима. Эта ошибка часто приводит к сбою Xorg сразу после приостановки, т. Е. Происходит сбой всего графического сеанса входа в систему.

Обратите внимание, что эта ошибка часто происходит без отображения Read-error on swap device. Большую часть времени в журнале ядра не было ошибок. (Несколько раз показывал EXT4-fs errorи Buffer I/O errorвместо). Кроме того, эти сообщения об ошибках могут быть вызваны отказом оборудования. При диагностике этой проблемы, пожалуйста, сосредоточьтесь на других, более четких деталях.

Тестовое ядро ​​доступно в конце этой ошибки Ubuntu, то есть в этом комментарии: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1776887/comments/5

До сих пор никто не сообщил о своих результатах приостановки работы с тестовым ядром Ubuntu. Может случиться так, что если кто-то может сообщить об успехе, это побудит разработчика Ubuntu наконец-то включить исправление ошибки. Хотя я могу ошибаться, я не уверен на 100%, что сдерживает это.

Существует также известный обходной путь. Вы можете избежать сбоя, если сконфигурируете командную строку ядра для включения опции scsi_mod.scan=sync.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1776887


Было подтверждено, что эта ошибка в исходной версии затрагивает пользователей Ubuntu [1]. В соответствии с фиксацией исправления (ниже), наиболее частым симптомом является сбой Xorg / Xwayland, то есть уничтожение всего графического интерфейса пользователя, когда ноутбук просыпается из спящего режима системы. Частота ошибок описывается один раз в несколько дней [2].

[1] Например, этот пользователь подтверждает ошибку и весьма специфический обходной путь: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1760450/comments/11

[2] Например, этот журнал аварий: https://bugzilla.redhat.com/show_bug.cgi?id=1553979#c23

Это ошибка в blk-core.c. Это не характерно для какого-либо одного аппаратного драйвера. Технически ошибка приостановки запускается ядром SCSI, которое используется всеми устройствами SATA .

В коммит также входит тест, который быстро и надежно подтверждает существование ужасающей ошибки.

Я думаю, вы можете избежать этой ошибки, только если у вас есть root на NVMe. Другой способ не попасть в аварию Xorg - это если вы не используете всю свою оперативную память, поэтому нет никакого давления, которое приводит к обмену холодных страниц Xorg. Кроме того, вы не будете воспроизводить сбой Xorg, если немедленно приостановите + возобновите. (Это разочаровало мои тесты в один момент, оно сработало только после того, как система перестала работать на обед :).

Исправлено: «блок: нигде не использовать прерывистое ожидание»

в ядре 4.17: https://github.com/torvalds/linux/commit/1dc3039bc87ae7d19a990c3ee71cfd8a9068f428

в ядре 4.16.8: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=linux-4.16.y&id=7859056bc73dea2c3714b00c83b253d4c22bf7b6

отсутствие исправления в 4.15.0-24.26 (Ubuntu 18.04): https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic/tree/block/blk-core.c ? ID = Ubuntu-4.15.0-24.26 # n856

То есть, эта ошибка все еще присутствует в пакете с исходным кодом Ubuntu linux-4.15.0-24.26 (и 4.15.0-23.25). Я прилагаю аппаратные детали (lspci-vnvn.log) системы, в которой, как известно, эта ошибка возникает.

С уважением, Алан

ВОЗМОЖНОЕ РЕШЕНИЕ: используйте параметр ядра: scsi_mod.scan = sync

sourcejedi
источник
Отличная работа вокруг! Подтверждено на Ubuntu 18.04 с ядром 4.15.
ricosrealm
На самом деле это не сработало после второго теста.
ricosrealm
@ricosrealm самый неожиданный. Пожалуйста, подтвердите, что ваша проблема (иногда) проявляется как SIGBUS (сигнал № 7) в Xorg или gnome-shell. Это легко, если вы systemd-coredumpустановили и используете coredumpctl -r, но я не знаю, что делать, если у вас установлен apport. (пакеты systemd-coredump и apport конфликтуют друг с другом, пожалуйста, примите решение).
Sourcejedi
@ricosrealm Но , по крайней мере , я могу попросить вас подтвердить , что 1) текущий графический сеанс уходит, но система остается в противном случае использовать , и вы можете снова войти в систему снова 2) dmesgничего не показывает сообщение «Segfault» для Xorg / гнома-оболочки , (И чаще всего я не вижу ошибок ядра, но иногда вы можете увидеть «Ошибка чтения на устройстве подкачки»).
sourcejedi
@ricosrealm Кстати, патч, кажется, сделал немного больше прогресса, так как я опубликовал ответ. lists.ubuntu.com/archives/kernel-team/2018-June/093612.html
sourcejedi