Errore Ubuntu 18.04 al risveglio dalla sospensione: errore di lettura sul dispositivo di scambio


11

Dopo che il laptop è stato in modalità di sospensione per un paio d'ore, quando provo a riprendere la sessione ottengo il seguente errore:

Errore di lettura sul dispositivo di scambio

Sono necessari circa 30 secondi per caricare la schermata di accesso dopo questo avvenimento. Una volta effettuato l'accesso, lo schermo si oscura una o due volte per un secondo e nessuno dei miei programmi è più aperto. Viene visualizzato il messaggio "Rilevato problema di sistema". Quando faccio clic su "Invia rapporto", viene visualizzata un'altra notifica che dice:

Spiacenti, il programma "Xorg" si è chiuso inaspettatamente. Il tuo computer non ha memoria sufficiente per analizzare automaticamente il problema e inviare un rapporto agli sviluppatori.

Quello che ho provato finora è aumentare lo spazio di swap disponibile. Inizialmente erano circa 2 GB e ho creato un altro file di scambio di 9 GB. Questo non ha aiutato. Lo spazio di scambio occupato (secondo il comando di scambio) dopo l'incidente è sempre di circa 170 MB.

Il DMESG per quando riprendo la sessione, fino all'errore di lettura sul dispositivo di scambio è il seguente:

    
[64046.474054] ACPI: ripristino di basso livello completo
[64046.474162] ACPI: EC: EC avviata
[64046.474162] PM: ripristino della memoria NVS della piattaforma
[64046.475139] Abilitazione CPU non di avvio ...
[64046.475196] x86: avvio della configurazione SMP:
[64046.475196] smpboot: Avvio nodo 0 Processore 1 APIC 0x2
[64046.475663] cache: cpu1 padre non dovrebbe essere inattivo
[64046.475859] CPU1 è attiva
[64046.475910] smpboot: Avvio nodo 0 Processore 2 APIC 0x4
[64046.476330] cache: cpu2 padre non dovrebbe essere inattivo
[64046.476506] CPU2 attiva
[64046.476539] smpboot: Avvio nodo 0 Processore 3 APIC 0x6
[64046.477071] cache: cpu3 padre non dovrebbe essere inattivo
[64046.477255] CPU3 è attiva
[64046.477274] smpboot: Avvio nodo 0 Processore 4 APIC 0x1
[64046.477721] cache: il genitore cpu4 non dovrebbe essere inattivo
[64046.477922] CPU4 è attiva
[64046.477947] smpboot: Avvio nodo 0 Processore 5 APIC 0x3
[64046.478371] cache: cpu5 padre non dovrebbe essere inattivo
[64046.478571] CPU5 è attiva
[64046.478591] smpboot: Avvio nodo 0 Processore 6 APIC 0x5
[64046.479018] cache: il genitore cpu6 non dovrebbe essere inattivo
[64046.479229] CPU6 è attiva
[64046.479247] smpboot: avvio nodo 0 processore 7 APIC 0x7
[64046.479675] cache: il genitore cpu7 non dovrebbe essere inattivo
[64046.479899] CPU7 è attiva
[64046.485913] ACPI: Riattivazione dallo stato di sospensione del sistema S3
[64046.639206] ACPI: EC: evento sbloccato
[64046.639711] sd 2: 0: 0: 0: [sda] Disco di avvio
[64046.873289] USB 1-11: reimpostare il dispositivo USB a velocità massima numero 2 utilizzando xhci_hcd
[64046.976869] ata4: collegamento SATA inattivo (SStatus 4 SControl 300)
[64046.976892] ata2: collegamento SATA inattivo (SStatus 4 SControl 300)
[64047.149289] usb 1-6: ripristina il dispositivo USB ad alta velocità numero 40 utilizzando xhci_hcd
[64047.437370] psmouse serio1: synaptics: coordinate massime richieste: x [..5660], y [..4570]
[64047.476302] psmouse serio1: synaptics: coordinate min richieste: x [1364 ..], y [1284 ..]
[64047.922603] Killer OOM abilitato.
[64047.922605] Riavvio delle attività ... completato.
[64047.928727] thermal_zone1 termico: impossibile leggere la zona termica (-61)
[64047.930036] Bluetooth: hci0: revisione Bootloader 0.0 build 2 settimana 52 2014
[64047.935036] Bluetooth: hci0: la revisione del dispositivo è 5
[64047.935037] Bluetooth: hci0: l'avvio protetto è abilitato
[64047.935038] Bluetooth: hci0: il blocco OTP è abilitato
[64047.935038] Bluetooth: hci0: il blocco API è abilitato
[64047.935039] Bluetooth: hci0: il blocco del debug è disabilitato
[64047.935040] Bluetooth: hci0: build minima del firmware 1 settimana 10 2014
[64047.935042] Bluetooth: hci0: firmware del dispositivo trovato: intel / ibt-11-5.sfi
[64047.944372] PM: sospendi uscita
[64048.050329] Errore di lettura sul dispositivo di scambio (8: 0: 1543400288)
[64048.460888] [drm] RC6 attivo

Per favore fatemi sapere se sono necessarie altre informazioni.


Sto riscontrando un problema molto simile: dopo l'aggiornamento a 18.04, la chiusura del coperchio del laptop provoca lo stesso messaggio di errore (Errore di lettura sul dispositivo di scambio) e un riavvio. Se riesci a trovare una soluzione altrove, sarebbe bello poterlo condividere qui.
Adrian,

1
Avere lo stesso identico problema. Ho fatto qualche ricerca e gli utenti su Arch Linux stavano avendo lo stesso problema un paio di mesi fa e ho concluso che probabilmente ha qualcosa a che fare con il kernel 4.15
user8814

Risposte:


10

Nel kernel Ubuntu 18.04 attualmente in uso manca una correzione di bug piuttosto importante.

La correzione per questo è già presente nel kernel upstream versione 4.16.8. (Il bug di sospensione ha effettivamente iniziato a verificarsi nella versione 4.15 del kernel). Ubuntu deve solo scegliere questa piccola patch dall'upstream. Il bug causa spesso arresti anomali di Xorg immediatamente dopo la sospensione, ovvero arresta in modo anomalo l'intera sessione di accesso grafica.

Nota che questo errore si verifica spesso senza mostrare Read-error on swap device. La maggior parte delle volte non si sono verificati errori nel registro del kernel. (Alcune volte, ha mostrato EXT4-fs errore Buffer I/O errorinvece). Inoltre, questi messaggi di errore potrebbero essere causati da un errore hardware. Quando si diagnostica questo problema, si prega di concentrarsi su altri dettagli più distinti.

Un kernel di test è disponibile alla fine di questo bug di Ubuntu, cioè in questo commento: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1776887/comments/5

Finora nessuno ha riportato i loro risultati dalla sospensione con il kernel di test di Ubuntu. Se qualcuno può segnalare il successo, potrebbe incoraggiare lo sviluppatore Ubuntu a includere finalmente la correzione di bug. Potrei sbagliarmi, non sono sicuro al 100% di cosa stia trattenendo.

Esiste anche una soluzione alternativa nota. È possibile evitare l'arresto anomalo se si configura la riga di comando del kernel per includere l'opzione scsi_mod.scan=sync.

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


È stato confermato che questo errore a monte interessa gli utenti Ubuntu [1]. Come per il commit della correzione (sotto), il sintomo più frequente è un arresto anomalo di Xorg / Xwayland, ovvero l'uccisione dell'intera GUI, quando un laptop viene svegliato dalla sospensione del sistema. La frequenza del bug è descritta come una volta ogni pochi giorni [2].

[1] Ad esempio, questo utente conferma l'errore e una soluzione molto specifica: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1760450/comments/11

[2] Ad esempio questo registro degli arresti anomali: https://bugzilla.redhat.com/show_bug.cgi?id=1553979#c23

Questo è un bug in blk-core.c. Non è specifico per alcun driver hardware. Tecnicamente il bug di sospensione viene attivato dal core SCSI, che viene utilizzato da tutti i dispositivi SATA .

Il commit include anche un test che dimostra rapidamente e in modo affidabile l'esistenza di un bug orribile.

Immagino che potresti evitare questo errore solo se hai root su NVMe. L'altro modo per non colpire l'arresto di Xorg è se non si utilizza tutta la RAM, quindi non c'è pressione che porta allo scambio di pagine fredde di Xorg. Inoltre, non riproduci l'arresto anomalo di Xorg se sospendi + riprendi immediatamente. (Ciò ha frustrato i miei test a un certo punto, si è attivato solo dopo aver lasciato il sistema sospeso a pranzo :).

Correzione: "blocco: non utilizzare l'interruzione interrompibile ovunque"

nel kernel 4.17: https://github.com/torvalds/linux/commit/1dc3039bc87ae7d19a990c3ee71cfd8a9068f428

nel kernel 4.16.8: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=linux-4.16.y&id=7859056bc73dea2c3714b00c83b253d4c22bf7b6

mancanza di correzione in 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

Vale a dire, questo bug è ancora presente nel pacchetto sorgente Ubuntu linux-4.15.0-24.26 (e 4.15.0-23.25). Allego i dettagli hardware (lspci-vnvn.log) di un sistema in cui è noto che si verifica questo errore.

Saluti Alan

Torna all'inizio Workaround: utilizzare il parametro kernel: scsi_mod.scan = sync


Ottima soluzione! Confermato su Ubuntu 18.04 con kernel 4.15.
ricosrealm,

In realtà questo non ha funzionato dopo un secondo test.
ricosrealm,

@ricosrealm più inaspettato. Conferma che il tuo problema si manifesta (a volte) come SIGBUS (segnale numero 7) in Xorg o gnome-shell. Questo è facile se hai systemd-coredumpinstallato e utilizzato coredumpctl -r, ma non so cosa fare quando hai installato. (i pacchetti systemd-coredump e apport sono in conflitto tra loro, si prega di esercitare un giudizio).
sourcejedi,

@ricosrealm Ma almeno posso chiedere di confermare che: 1) la sessione grafica corrente va via, ma il sistema rimane comunque utilizzabile e si può accedere nuovamente di nuovo 2) dmesgnon senza mostrare un messaggio "segmentation fault" per Xorg / gnome-shell . (E più comunemente non vedo alcun errore del kernel, ma potresti vedere "Errore di lettura sul dispositivo di scambio" qualche volta).
sourcejedi,

@ricosrealm A proposito, la patch sembra aver fatto un po 'più di progressi da quando ho pubblicato la risposta. lists.ubuntu.com/archives/kernel-team/2018-June/093612.html
sourcejedi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.