GNU/Linux >> Tutoriels Linux >  >> Linux

Passer à une deuxième session X tue le premier ?

Je rencontre un problème étrange ici. J'ai une machine Linux avec la configuration (résumée) suivante :

  • Dell Inspiron i5
  • NVIDIA GP108M
  • "Tests" GNU/Linux Debian
  • xorg-server 2:1.20.0-3

D'après mon Xorg.0.log , le pilote que j'utilise est "nouveau":

[ 30442.522] (II) LoadModule: "nouveau"  
<SNIP>
[ 30442.777] (--) NOUVEAU(G0): Chipset: "NVIDIA NV138"

Mon greeter est LightDM et mon DM est Xfce. J'essaie de démarrer une deuxième session avec user2 avec la procédure suivante :

  1. Basculer vers VT-1 (Ctrl +Alt +F1 )
  2. Connectez-vous avec user2
  3. Exécuter startx -- :1

Il n'y a pas d'accueil. user2 La session Xfce est en cours d'exécution. Je peux vérifier que les deux sessions fonctionnent avec htop .

Cependant, lorsque je reviens à VT-7 (Ctrl +Alt +F7 ) Je vois que user1 La session a été terminée. VT-7 est de retour à l'accueil.

Informations des journaux

Chaque fois que je bascule entre les VT, il y a une trace de pile dans syslog . Cependant, cela ne signifie pas qu'aucune session X n'a ​​encore été supprimée.

Par exemple, je démarre ma session Xfce avec user1 sur VT-7. Ensuite, je passe au VT-1 et je reviens au VT-7. L'erreur suivante (résumée) apparaît deux fois sur syslog :

kernel: ------------[ cut here ]------------
kernel: nouveau 0000:01:00.0: timeout
kernel: WARNING: CPU: 0 PID: 1783 at /build/linux-0buYvw/linux-4.17.8/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c:86 nvkm_pmu_reset+0x14c/0x160 [nouveau]
---[ cut 4 lines ]---
kernel: Hardware name: Dell Inc. Inspiron 7472/0WFX2M, BIOS 1.1.3 01/25/2018
kernel: RIP: 0010:nvkm_pmu_reset+0x14c/0x160 [nouveau]
---[ cut 9 lines ]---
kernel: Call Trace:
kernel:  nvkm_pmu_init+0x16/0x40 [nouveau]
kernel:  nvkm_subdev_init+0xb2/0x1f0 [nouveau]
kernel:  nvkm_device_init+0x132/0x270 [nouveau]
kernel:  nvkm_udevice_init+0x41/0x60 [nouveau]
kernel:  nvkm_object_init+0x3d/0x180 [nouveau]
kernel:  nvkm_object_init+0xa0/0x180 [nouveau]
kernel:  nvkm_object_init+0xa0/0x180 [nouveau]
kernel:  ? pci_restore_standard_config+0x40/0x40
kernel:  nouveau_do_resume+0x28/0x140 [nouveau]
kernel:  nouveau_pmops_runtime_resume+0x88/0x150 [nouveau]
kernel:  pci_pm_runtime_resume+0x78/0xb0
kernel:  __rpm_callback+0xc7/0x200
kernel:  ? pci_restore_standard_config+0x40/0x40
kernel:  rpm_callback+0x1f/0x70
kernel:  ? pci_restore_standard_config+0x40/0x40
kernel:  rpm_resume+0x4c4/0x790
kernel:  ? do_wp_page+0x154/0x500
kernel:  __pm_runtime_resume+0x47/0x70
kernel:  nouveau_drm_ioctl+0x35/0xc0 [nouveau]
kernel:  do_vfs_ioctl+0xa4/0x630
kernel:  ? handle_mm_fault+0xdc/0x210
kernel:  ksys_ioctl+0x70/0x80
kernel:  __x64_sys_ioctl+0x16/0x20
kernel:  do_syscall_64+0x55/0x110
kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
----[ cut 8 lines ]--- 
kernel: ---[ end trace 81b347516b37c927 ]---

Maintenant, je passe à VT-1, me connecte avec user2 et lancez startx -- :0 . Pourtant, aucune session n'a encore été tuée, et je peux le confirmer avec htop .

Mais , si je passe maintenant d'une session X sur VT-1 à une autre session X sur VT-7, cela apparaît dans syslog

pulseaudio[3372]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
pulseaudio[3372]:       after 17 requests (17 known processed) with 0 events remaining.
xfce4-notifyd[3565]: xfce4-notifyd: Fatal IO error 11 (Resource temporarily unavailable) on X server :0. 
at-spi-bus-launcher[1368]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
at-spi-bus-launcher[1368]:       after 443 requests (443 known processed) with 0 events remaining.
systemd[1308]: xfce4-notifyd.service: Main process exited, code=exited, status=1/FAILURE
systemd[1308]: xfce4-notifyd.service: Failed with result 'exit-code'.
systemd[1308]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
systemd[1308]: pulseaudio.service: Failed with result 'exit-code'.
systemd[1308]: pulseaudio.service: Service RestartSec=100ms expired, scheduling restart.
systemd[1308]: pulseaudio.service: Scheduled restart job, restart counter is at 3.
systemd[1308]: Stopped Sound Service.
systemd[1308]: Starting Sound Service...
rtkit-daemon[1552]: Successfully made thread 3898 of process 3898 (n/a) owned by '1000' high priority at nice level -11.
rtkit-daemon[1552]: Supervising 4 threads of 2 processes of 2 users.
pulseaudio[3898]: W: [pulseaudio] pid.c: Stale PID file, overwriting.
avahi-daemon[644]: Withdrawing address record for ---[ IPv6 redacted ]--- on enp2s0.
lightdm[3907]: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files

VT-7 est de retour à l'accueil. Le serveur X a été redémarré (?).

Connexe :Commutation CC avec MOSFET :canal p ou canal n ; Charge latérale faible ou charge latérale élevée ?

Concernant Xorg.0.log , les lignes suivantes sont ajoutées lorsque je passe de VT-1 à VT-7 et que la session est arrêtée.

[ 15945.806] (II) event7  - Power Button: device removed
[ 15945.832] (II) event10 - Video Bus: device removed
[ 15945.848] (II) event11 - Video Bus: device removed
[ 15945.877] (II) event5  - Power Button: device removed
[ 15945.908] (II) event6  - Sleep Button: device removed
[ 15945.933] (II) event1  - Microsoft Wired Keyboard 600: device removed
[ 15945.953] (II) event20 - PixArt Microsoft USB Optical Mouse: device removed
[ 15945.972] (II) event12 - Integrated Webcam: Integrated W: device removed
[ 15945.988] (II) event8  - DELL0828:00 06CB:7E7E Touchpad: device removed
[ 15946.021] (II) event3  - Intel HID events: device removed
[ 15946.044] (II) event9  - Dell WMI hotkeys: device removed
[ 15946.068] (II) event0  - AT Translated Set 2 keyboard: device removed
[ 15946.084] (II) event21 - PS/2 Generic Mouse: device removed
[ 15946.101] (II) event2  - Microsoft Wired Keyboard 600: device removed
[ 15946.116] (II) AIGLX: Suspending AIGLX clients for VT switch
[ 15946.117] (II) NOUVEAU(G0): NVLeaveVT is called.

Réponse acceptée :

Vous avez un plantage du noyau dans le nouveau module, ce qui bousillera le module DRM, qui à son tour bousillera un serveur X se connectant à ce module lorsqu'il atteindra le mauvais état.

Mettre à niveau vers le noyau le plus récent et correspondant à nouveau modules possibles. Si vous obtenez toujours le même plantage, remplissez un rapport de bogue avec le nouveau développeurs. Assurez-vous d'inclure le dmesg complet et Xorg.*.log .


Linux
  1. Tests d'intégration continue pour le noyau Linux

  2. Le premier à diffuser entièrement sur Linux

  3. bouton "tuer le plus gros processus" ?

  4. Changer d'environnement sur le terminal à l'échelle du système appelé ?

  5. Linux - Pourquoi le noyau ne peut-il pas exécuter Init ?

Analyser le noyau Linux avec ftrace

Comment le noyau Linux gère les interruptions

Comment vérifier la version du noyau sous Linux

La partition /boot vraiment pour ?

Pourquoi le noyau lâcherait-il des paquets ?

Linux - Participer à la liste de diffusion du noyau ?