Your message dated Thu, 31 Jul 2008 08:37:47 +0200
with message-id <[EMAIL PROTECTED]>
and subject line Re: Bug#190387: openvt ignores its own syscall errors
has caused the Debian Bug report #190387,
regarding openvt ignores its own syscall errors
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)


-- 
190387: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=190387
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: kbd
Version: 1.06-2

I ran this command as root:

 strace -f -o /tmp/root/private/strace \
    /usr/bin/openvt -f -c 30 -w -- tty </dev/tty0

The strace is below.

This bug is for the fact that openvt fails to notice that its dups are
failing, and blithely blunders on.  All system call return values must
be checked; this will probably require a complete code review, not
just a keyhole approach to the particular instance of the bug shown
below.

Ian.

31443 execve("/usr/bin/openvt", ["/usr/bin/openvt", "-f", "-c", "30", "-w", 
"--", "tty"], [/* 41 vars */]) = 0
31443 uname({sys="Linux", node="chiark", ...}) = 0
31443 brk(0)                            = 0x804ad8c
31443 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or 
directory)
31443 open("/etc/ld.so.cache", O_RDONLY) = 3
31443 fstat64(3, 0xbfffed54)            = -1 ENOSYS (Function not implemented)
31443 fstat(3, {st_mode=S_IFREG|0644, st_size=34214, ...}) = 0
31443 old_mmap(NULL, 34214, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
31443 close(3)                          = 0
31443 open("/lib/libc.so.6", O_RDONLY)  = 3
31443 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\30\222"..., 
1024) = 1024
31443 fstat(3, {st_mode=S_IFREG|0755, st_size=1153784, ...}) = 0
31443 old_mmap(NULL, 1166560, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 
0x4001d000
31443 mprotect(0x40130000, 40160, PROT_NONE) = 0
31443 old_mmap(0x40130000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
3, 0x113000) = 0x40130000
31443 old_mmap(0x40136000, 15584, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40136000
31443 close(3)                          = 0
31443 munmap(0x40014000, 34214)         = 0
31443 getuid32()                        = -1 ENOSYS (Function not implemented)
31443 getuid()                          = 0
31443 setuid(0)                         = 0
31443 open("/dev/tty", O_RDONLY)        = 3
31443 ioctl(3, 0x4b33, 0xbffff8eb)      = -1 EINVAL (Invalid argument)
31443 open("/dev/console", O_RDONLY)    = 4
31443 ioctl(4, 0x4b33, 0xbffff8eb)      = -1 EINVAL (Invalid argument)
31443 ioctl(0, 0x4b33, 0xbffff91b)      = 0
31443 ioctl(0, 0x5603, 0xbffff9a4)      = 0
31443 open("/dev/tty30", O_RDWR)        = 5
31443 close(5)                          = 0
31443 access("/dev/tty30", R_OK|W_OK)   = 0
31443 geteuid()                         = 0
31443 getuid()                          = 0
31443 getgid()                          = 100
31443 chown("/dev/tty30", 0, 100)       = 0
31443 setuid(0)                         = 0
31443 brk(0)                            = 0x804ad8c
31443 brk(0x804adac)                    = 0x804adac
31443 brk(0x804b000)                    = 0x804b000
31443 fork()                            = 31444
31443 wait4(-1,  <unfinished ...>
31444 setsid()                          = 31444
31444 close(0)                          = 0
31444 open("/dev/tty30", O_RDWR)        = 0
31444 close(1)                          = 0
31444 close(2)                          = 0
31444 close(0)                          = 0
31444 dup(0)                            = -1 EBADF (Bad file descriptor)
31444 dup(0)                            = -1 EBADF (Bad file descriptor)
31444 execve("/u/ian/bin/linux/tty", ["tty"], [/* 41 vars */]) = -1 ENOENT (No 
such file or directory)
31444 execve("/u/ian/bin/scripts/tty", ["tty"], [/* 41 vars */]) = -1 ENOENT 
(No such file or directory)
31444 execve("/usr/local/bin/testing/tty", ["tty"], [/* 41 vars */]) = -1 
ENOENT (No such file or directory)
31444 execve("/usr/local/bin/tty", ["tty"], [/* 41 vars */]) = -1 ENOENT (No 
such file or directory)
31444 execve("/bin/tty", ["tty"], [/* 41 vars */]) = -1 ENOENT (No such file or 
directory)
31444 execve("/usr/bin/tty", ["tty"], [/* 41 vars */]) = 0
31444 uname({sys="Linux", node="chiark", ...}) = 0
31444 brk(0)                            = 0x804b2a4
31444 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or 
directory)
31444 open("/etc/ld.so.cache", O_RDONLY) = 0
31444 fstat64(0, 0xbfffed84)            = -1 ENOSYS (Function not implemented)
31444 fstat(0, {st_mode=S_IFREG|0644, st_size=34214, ...}) = 0
31444 old_mmap(NULL, 34214, PROT_READ, MAP_PRIVATE, 0, 0) = 0x40014000
31444 close(0)                          = 0
31444 open("/lib/libc.so.6", O_RDONLY)  = 0
31444 read(0, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\30\222"..., 
1024) = 1024
31444 fstat(0, {st_mode=S_IFREG|0755, st_size=1153784, ...}) = 0
31444 old_mmap(NULL, 1166560, PROT_READ|PROT_EXEC, MAP_PRIVATE, 0, 0) = 
0x4001d000
31444 mprotect(0x40130000, 40160, PROT_NONE) = 0
31444 old_mmap(0x40130000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
0, 0x113000) = 0x40130000
31444 old_mmap(0x40136000, 15584, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40136000
31444 close(0)                          = 0
31444 munmap(0x40014000, 34214)         = 0
31444 brk(0)                            = 0x804b2a4
31444 brk(0x804b2cc)                    = 0x804b2cc
31444 brk(0x804c000)                    = 0x804c000
31444 ioctl(0, SNDCTL_TMR_TIMEBASE, 0xbffff7d8) = -1 EBADF (Bad file descriptor)
31444 fstat64(1, 0xbffff84c)            = -1 ENOSYS (Function not implemented)
31444 fstat(1, 0xbffff7ac)              = -1 EBADF (Bad file descriptor)
31444 old_mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 
0) = 0x40014000
31444 ioctl(0, SNDCTL_TMR_TIMEBASE, 0xbffff91c) = -1 EBADF (Bad file descriptor)
31444 write(1, "not a tty\n", 10)       = -1 EBADF (Bad file descriptor)
31444 close(1)                          = -1 EBADF (Bad file descriptor)
31444 munmap(0x40014000, 8192)          = 0
31444 write(2, "tty: ", 5)              = -1 EBADF (Bad file descriptor)
31444 write(2, "write error", 11)       = -1 EBADF (Bad file descriptor)
31444 write(2, ": Bad file descriptor", 21) = -1 EBADF (Bad file descriptor)
31444 write(2, "\n", 1)                 = -1 EBADF (Bad file descriptor)
31444 _exit(3)                          = ?
31443 <... wait4 resumed> NULL, 0, NULL) = 31444
31443 --- SIGCHLD (Child exited) ---
31443 _exit(0)                          = ?


--- End Message ---
--- Begin Message ---
Michael Schutte schrieb:
Ian,

I cannot reproduce this old bug with the version of kbd currently in
unstable.  Can you confirm that it’s gone?

Closing after more than a month without reply. Ian, feel free to reopen if the bug is still there for you.

--
Michael Schutte <[EMAIL PROTECTED]>


--- End Message ---

Reply via email to