[Bug 1201384] New: less does not start on serial port
https://bugzilla.suse.com/show_bug.cgi?id=1201384 Bug ID: 1201384 Summary: less does not start on serial port Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-bugs@opensuse.org Reporter: msuchanek@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- strace less mmc0.txt execve("/usr/bin/less", ["less", "mmc0.txt"], 0xffffcc58c1a8 /* 51 vars */) = 0 brk(NULL) = 0xaaaaf2288000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8b72a000 faccessat(AT_FDCWD, "/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 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=20583, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 20583, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffff8b724000 close(3) = 0 openat(AT_FDCWD, "/lib64/libtinfo.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=231504, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 360832, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8b698000 mmap(0xffff8b6a0000, 295296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xffff8b6a0000 munmap(0xffff8b698000, 32768) = 0 munmap(0xffff8b6e9000, 29056) = 0 mprotect(0xffff8b6c9000, 90112, PROT_NONE) = 0 mmap(0xffff8b6df000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2f000) = 0xffff8b6df000 close(3) = 0 openat(AT_FDCWD, "/lib64/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\267\0\1\0\0\0\220\264\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\305\350$SK\4\324\342\230\240\317b\vA3\260"..., 68, 768) = 68 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2118080, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 1895216, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8b4d1000 mmap(0xffff8b4e0000, 1829680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xffff8b4e0000 munmap(0xffff8b4d1000, 61440) = 0 munmap(0xffff8b69f000, 2864) = 0 mprotect(0xffff8b673000, 106496, PROT_NONE) = 0 mmap(0xffff8b68d000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0xffff8b68d000 mmap(0xffff8b693000, 47920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffff8b693000 close(3) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffff8b722000 set_tid_address(0xffff8b7220f0) = 6076 set_robust_list(0xffff8b722100, 24) = 0 rseq(0xffff8b7227c0, 0x20, 0, 0xd428bc00) = 0 mprotect(0xffff8b68d000, 12288, PROT_READ) = 0 mprotect(0xffff8b6df000, 4096, PROT_READ) = 0 mprotect(0xaaaabe98f000, 4096, PROT_READ) = 0 mprotect(0xffff8b72f000, 8192, PROT_READ) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 munmap(0xffff8b724000, 20583) = 0 ioctl(1, TCGETS, {B1500000 opost isig icanon echo ...}) = 0 getrandom("\x63\x32\x32\x25\xf1\x9e\x1e\x9a", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0xaaaaf2288000 brk(0xaaaaf22a9000) = 0xaaaaf22a9000 openat(AT_FDCWD, "/usr/bin/.sysless", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/syslesskey", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/sysless", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/root/.lesskey", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/etc/lesskey.bin", O_RDONLY) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=589, ...}, AT_EMPTY_PATH) = 0 lseek(3, 0, SEEK_SET) = 0 read(3, "\0M+Gc\33\2\33[A\0\2\33[B\0\f\33O5A\0\2\33O5B\0\f\33O5"..., 589) = 589 close(3) = 0 ioctl(1, TCGETS, {B1500000 opost isig icanon echo ...}) = 0 getuid() = 0 geteuid() = 0 getgid() = 0 getegid() = 0 getuid() = 0 newfstatat(AT_FDCWD, "/etc/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 newfstatat(AT_FDCWD, "/usr/share/terminfo", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0 faccessat(AT_FDCWD, "/etc/terminfo/s/screen", R_OK) = -1 ENOENT (No such file or directory) faccessat(AT_FDCWD, "/usr/share/terminfo/s/screen", R_OK) = 0 openat(AT_FDCWD, "/usr/share/terminfo/s/screen", O_RDONLY) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=1607, ...}, AT_EMPTY_PATH) = 0 read(3, "\32\0011\0+\0\20\0i\1\265\2screen|VT 100/ANSI X"..., 32768) = 1607 read(3, "", 28672) = 0 close(3) = 0 ioctl(1, TCGETS, {B1500000 opost isig icanon echo ...}) = 0 ioctl(1, TCGETS, {B1500000 opost isig icanon echo ...}) = 0 ioctl(1, TCGETS, {B1500000 opost isig icanon echo ...}) = 0 ioctl(1, TCGETS, {B1500000 opost isig icanon echo ...}) = 0 ioctl(1, TIOCGWINSZ, {ws_row=41, ws_col=157, ws_xpixel=0, ws_ypixel=0}) = 0 ioctl(2, TIOCGWINSZ, {ws_row=41, ws_col=157, ws_xpixel=0, ws_ypixel=0}) = 0 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2940, ...}, AT_EMPTY_PATH) = 0 read(3, "# Locale name alias data base.\n#"..., 4096) = 2940 read(3, "", 4096) = 0 close(3) = 0 openat(AT_FDCWD, "/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=353616, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 353616, PROT_READ, MAP_PRIVATE, 3, 0) = 0xffff8b489000 close(3) = 0 openat(AT_FDCWD, "/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=26988, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 26988, PROT_READ, MAP_SHARED, 3, 0) = 0xffff8b71b000 close(3) = 0 futex(0xffff8b69236c, FUTEX_WAKE_PRIVATE, 2147483647) = 0 openat(AT_FDCWD, "/root/.lesshst", O_RDONLY) = 3 close(3) = 0 openat(AT_FDCWD, "/root/.lesshst", O_RDONLY) = 3 newfstatat(3, "", {st_mode=S_IFREG|0600, st_size=20, ...}, AT_EMPTY_PATH) = 0 read(3, ".less-history-file:\n", 4096) = 20 read(3, "", 4096) = 0 close(3) = 0 getcwd("/root", 1024) = 6 readlinkat(AT_FDCWD, "/root/mmc0.txt", 0xfffff3f0b0f0, 1023) = -1 EINVAL (Invalid argument) getcwd("/root", 1024) = 6 readlinkat(AT_FDCWD, "/root/mmc0.txt", 0xfffff3f0b0f0, 1023) = -1 EINVAL (Invalid argument) ioctl(2, TCGETS, {B1500000 opost isig icanon echo ...}) = 0 ioctl(2, TCGETS, {B1500000 opost isig icanon echo ...}) = 0 newfstatat(2, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x4, 0x42), ...}, AT_EMPTY_PATH) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/2", "/dev/ttyS2", 4095) = 10 newfstatat(AT_FDCWD, "/dev/ttyS2", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x4, 0x42), ...}, 0) = 0 openat(AT_FDCWD, "/dev/ttyS2", O_RDONLY cat /proc/6076/stack [<0>] tty_port_block_til_ready+0x124/0x344 [<0>] tty_port_open+0xc8/0x26c [<0>] uart_open+0x28/0x40 [<0>] tty_open+0x140/0x670 [<0>] chrdev_open+0xcc/0x21c [<0>] do_dentry_open+0x1c0/0x38c [<0>] vfs_open+0x38/0x44 [<0>] path_openat+0xa50/0x108c [<0>] do_filp_open+0x8c/0x140 [<0>] do_sys_openat2+0xbc/0x174 [<0>] __arm64_sys_openat+0x70/0xb0 [<0>] invoke_syscall+0x78/0x100 [<0>] el0_svc_common.constprop.0+0x18c/0x190 [<0>] do_el0_svc+0x30/0x90 [<0>] el0_svc+0x34/0x130 [<0>] el0t_64_sync_handler+0x10c/0x140 [<0>] el0t_64_sync+0x1a0/0x1a4 Linux PinebookPro 5.18.9-1-default #1 SMP PREEMPT_DYNAMIC Sun Jul 3 08:04:03 UTC 2022 (0e67dc1) aarch64 aarch64 aarch64 GNU/Linux -- You are receiving this mail because: You are the assignee for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1201384 https://bugzilla.suse.com/show_bug.cgi?id=1201384#c1 Jiri Slaby <jslaby@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |msuchanek@suse.com Flags| |needinfo?(msuchanek@suse.co | |m) --- Comment #1 from Jiri Slaby <jslaby@suse.com> --- tty_port_block_til_ready+0x124 -> drivers/tty/tty_port.c:557 tty_port_open+0xc8 -> drivers/tty/tty_port.c:773 uart_open+0x28 -> drivers/tty/serial/serial_core.c:1773 tty_open+0x140 -> drivers/tty/tty_io.c:2153 I wonder why it didn't go via tty_reopen()... Is this new? -- You are receiving this mail because: You are the assignee for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1201384 https://bugzilla.suse.com/show_bug.cgi?id=1201384#c2 --- Comment #2 from Michal Suchanek <msuchanek@suse.com> --- I think I used the same board a year ago or so and I would notice if it were this broken. It may be triggered by a terminal setting change rather than kernel change, though. -- You are receiving this mail because: You are the assignee for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1201384 https://bugzilla.suse.com/show_bug.cgi?id=1201384#c3 Michal Suchanek <msuchanek@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(msuchanek@suse.co | |m) | --- Comment #3 from Michal Suchanek <msuchanek@suse.com> --- It only breaks when I reset the terminal, and I only reset it because there is mismatch between the expected and actual terminal type and I do not see the cursor which might not have been the case in the past. -- You are receiving this mail because: You are the assignee for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1201384 https://bugzilla.suse.com/show_bug.cgi?id=1201384#c4 --- Comment #4 from Michal Suchanek <msuchanek@suse.com> --- Broken on rpi3 as well Linux ogama 6.1.3-1-default #1 SMP PREEMPT_DYNAMIC Wed Jan 4 11:03:53 UTC 2023 (a5315fb) aarch64 aarch64 aarch64 GNU/Linux cat /proc/2267/stack [<0>] tty_port_block_til_ready+0x120/0x384 [<0>] tty_port_open+0xc4/0x14c [<0>] uart_open+0x24/0x40 [<0>] tty_open+0x138/0x6dc [<0>] chrdev_open+0xc8/0x210 [<0>] do_dentry_open+0x1bc/0x490 [<0>] vfs_open+0x34/0x40 [<0>] path_openat+0xa4c/0x102c [<0>] do_filp_open+0x88/0x13c [<0>] do_sys_openat2+0xbc/0x174 [<0>] __arm64_sys_openat+0x6c/0xb0 [<0>] invoke_syscall+0x78/0x100 [<0>] el0_svc_common.constprop.0+0x58/0x190 [<0>] do_el0_svc+0x34/0xd0 [<0>] el0_svc+0x34/0x140 [<0>] el0t_64_sync_handler+0xf4/0x120 [<0>] el0t_64_sync+0x1a0/0x1a4 Note that with upgrade the terminal settings broke which necessitated terminal reset to fix them which in turn triggers this. -- You are receiving this mail because: You are the assignee for the bug.
participants (1)
-
bugzilla_noreply@suse.com