https://gitlab.gnome.org/GNOME/gdm/issues/466
** Description changed: - sudo strace chvt 4 - execve("/bin/chvt", ["chvt", "4"], 0x7ffd63e5c758 /* 17 vars */) = 0 - brk(NULL) = 0x561e18430000 - access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) - access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) - openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 - fstat(3, {st_mode=S_IFREG|0644, st_size=74655, ...}) = 0 - mmap(NULL, 74655, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5059e7d000 - close(3) = 0 - access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) - openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 - read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\34\2\0\0\0\0\0"..., 832) = 832 - fstat(3, {st_mode=S_IFREG|0755, st_size=2030544, ...}) = 0 - mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5059e7b000 - mmap(NULL, 4131552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5059878000 - mprotect(0x7f5059a5f000, 2097152, PROT_NONE) = 0 - mmap(0x7f5059c5f000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f5059c5f000 - mmap(0x7f5059c65000, 15072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f5059c65000 - close(3) = 0 - arch_prctl(ARCH_SET_FS, 0x7f5059e7c500) = 0 - mprotect(0x7f5059c5f000, 16384, PROT_READ) = 0 - mprotect(0x561e17e87000, 4096, PROT_READ) = 0 - mprotect(0x7f5059e90000, 4096, PROT_READ) = 0 - munmap(0x7f5059e7d000, 74655) = 0 - brk(NULL) = 0x561e18430000 - brk(0x561e18451000) = 0x561e18451000 - openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 - fstat(3, {st_mode=S_IFREG|0644, st_size=10281936, ...}) = 0 - mmap(NULL, 10281936, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5058ea9000 - close(3) = 0 - openat(AT_FDCWD, "/proc/self/fd/0", O_RDWR) = 3 - ioctl(3, TCGETS, {B38400 opost isig icanon echo ...}) = 0 - ioctl(3, KDGKBTYPE, 0x7ffdcdb0efa7) = -1 ENOTTY (Inappropriate ioctl for device) - close(3) = 0 - openat(AT_FDCWD, "/dev/tty", O_RDWR) = 3 - ioctl(3, TCGETS, {B38400 opost isig icanon echo ...}) = 0 - ioctl(3, KDGKBTYPE, 0x7ffdcdb0efa7) = -1 ENOTTY (Inappropriate ioctl for device) - close(3) = 0 - openat(AT_FDCWD, "/dev/tty0", O_RDWR) = 3 - ioctl(3, TCGETS, {B38400 opost isig icanon echo ...}) = 0 - ioctl(3, KDGKBTYPE, 0x7ffdcdb0efa7) = 0 - ioctl(3, VT_ACTIVATE, 0x4) = 0 - ioctl(3, VT_WAITACTIVE, 0x4 - + sudo strace chvt 4 + execve("/bin/chvt", ["chvt", "4"], 0x7ffd63e5c758 /* 17 vars */) = 0 + brk(NULL) = 0x561e18430000 + access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) + access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) + openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 + fstat(3, {st_mode=S_IFREG|0644, st_size=74655, ...}) = 0 + mmap(NULL, 74655, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5059e7d000 + close(3) = 0 + access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) + openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 + read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\34\2\0\0\0\0\0"..., 832) = 832 + fstat(3, {st_mode=S_IFREG|0755, st_size=2030544, ...}) = 0 + mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5059e7b000 + mmap(NULL, 4131552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5059878000 + mprotect(0x7f5059a5f000, 2097152, PROT_NONE) = 0 + mmap(0x7f5059c5f000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f5059c5f000 + mmap(0x7f5059c65000, 15072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f5059c65000 + close(3) = 0 + arch_prctl(ARCH_SET_FS, 0x7f5059e7c500) = 0 + mprotect(0x7f5059c5f000, 16384, PROT_READ) = 0 + mprotect(0x561e17e87000, 4096, PROT_READ) = 0 + mprotect(0x7f5059e90000, 4096, PROT_READ) = 0 + munmap(0x7f5059e7d000, 74655) = 0 + brk(NULL) = 0x561e18430000 + brk(0x561e18451000) = 0x561e18451000 + openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 + fstat(3, {st_mode=S_IFREG|0644, st_size=10281936, ...}) = 0 + mmap(NULL, 10281936, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5058ea9000 + close(3) = 0 + openat(AT_FDCWD, "/proc/self/fd/0", O_RDWR) = 3 + ioctl(3, TCGETS, {B38400 opost isig icanon echo ...}) = 0 + ioctl(3, KDGKBTYPE, 0x7ffdcdb0efa7) = -1 ENOTTY (Inappropriate ioctl for device) + close(3) = 0 + openat(AT_FDCWD, "/dev/tty", O_RDWR) = 3 + ioctl(3, TCGETS, {B38400 opost isig icanon echo ...}) = 0 + ioctl(3, KDGKBTYPE, 0x7ffdcdb0efa7) = -1 ENOTTY (Inappropriate ioctl for device) + close(3) = 0 + openat(AT_FDCWD, "/dev/tty0", O_RDWR) = 3 + ioctl(3, TCGETS, {B38400 opost isig icanon echo ...}) = 0 + ioctl(3, KDGKBTYPE, 0x7ffdcdb0efa7) = 0 + ioctl(3, VT_ACTIVATE, 0x4) = 0 + ioctl(3, VT_WAITACTIVE, 0x4 VT_ACTIVATE will cause a switch to VT number. VT_WAITACTIVE will sleep/wait until the specified VT has been activated. $ sudo cat /proc/$(pidof chvt)/stack [<0>] __vt_event_wait.isra.2.part.3+0x40/0x90 [<0>] vt_waitactive+0x80/0xd0 [<0>] vt_ioctl+0xd26/0x1140 [<0>] tty_ioctl+0xf6/0x8c0 [<0>] do_vfs_ioctl+0xa8/0x630 [<0>] SyS_ioctl+0x79/0x90 [<0>] do_syscall_64+0x73/0x130 [<0>] entry_SYSCALL_64_after_hwframe+0x3d/0xa2 [<0>] 0xffffffffffffffff + + Enable debuglogs doesn't provide additional details. + + As soon as auto-login is turned off, chvt is back to normal. + + The above has been reproduced on Ubuntu: + - Ubuntu Bionic w/ gdm3 3.28.3 & kbd 2.0.4 + - Ubuntu disco w/ gdm3 3.30.1 & kbd 2.0.4 -- You received this bug notification because you are a member of Ubuntu Desktop Bugs, which is subscribed to gdm3 in Ubuntu. https://bugs.launchpad.net/bugs/1817738 Title: Can't change virtual terminal when auto-login is enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1817738/+subscriptions -- desktop-bugs mailing list desktop-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/desktop-bugs