At 12:38 PM 10/13/2004, Paul Eggert wrote: >Alexandre Peshansky <[EMAIL PROTECTED]> writes: > >> bash-2.03$ ssh -V >> ssh: SSH Secure Shell 3.2.0 (non-commercial version) on >sparc-sun-solaris2.8 >> ... >> bash-2.03$ src/stty rows 0 columns 0 >> bash-2.03$ truss -v ioctl src/stty size >> ... >> ioctl(0, TCGETS, 0xFFBEFA80) = 0 >> iflag=0022442 oflag=0014005 cflag=0000275 lflag=0105073 >> cc: 003 034 177 025 004 000 000 000 >> 021 023 032 031 022 017 027 026 000 000 000 >> ioctl(1, TIOCGWINSZ, 0xFFBEF9D0) Err#22 EINVAL >> ioctl(0, TIOCGWINSZ, 0xFFBEF9D0) Err#22 EINVAL > > >This appears to be a bug in SSH Secure Shell 3.2.0. To check my >theory, what does the following series of commands do, with a fresh >terminal? > >/usr/bin/stty -a
bash-2.03$ /usr/bin/stty -a speed 9600 baud; rows = 25; columns = 80; ypixels = 0; xpixels = 0; csdata ? eucw 1:0:0:0, scrw 1:0:0:0 intr = ^c; quit = ^\; erase = ^?; kill = ^u; eof = ^d; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^q; stop = ^s; susp = ^z; dsusp = ^y; rprnt = ^r; flush = ^o; werase = ^w; lnext = ^v; -parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk -crtscts -crtsxoff -parext -ignbrk brkint -ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc ixon -ixany -ixoff imaxbel isig icanon -xcase echo echoe echok -echonl -noflsh -tostop echoctl -echoprt echoke -defecho -flusho -pendin iexten opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3 >/usr/bin/stty rows 0 columns 0 >truss -v ioctl /usr/bin/stty -a bash-2.03$ /usr/bin/stty rows 0 columns 0 bash-2.03$ truss -v ioctl /usr/bin/stty -a execve("/usr/bin/stty", 0xFFBEFB34, 0xFFBEFB40) argc = 2 mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF3A0000 resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16 open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT stat("/usr/local/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/home/ora_oas/9ias_903/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/X/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/openwin/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/dt/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/home/ora_oas/9ias_903/jdbc/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/lib/libc.so.1", 0xFFBEF25C) = 0 open("/usr/lib/libc.so.1", O_RDONLY) = 3 fstat(3, 0xFFBEF25C) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF390000 mmap(0x00000000, 802816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF280000 mmap(0xFF33C000, 24756, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000 munmap(0xFF32C000, 65536) = 0 memcntl(0xFF280000, 113460, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 close(3) = 0 stat("/usr/local/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/home/ora_oas/9ias_903/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/X/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/openwin/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/dt/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/home/ora_oas/9ias_903/jdbc/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/lib/libdl.so.1", 0xFFBEF25C) = 0 open("/usr/lib/libdl.so.1", O_RDONLY) = 3 fstat(3, 0xFFBEF25C) = 0 mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF390000 close(3) = 0 stat("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", 0xFFBEF0EC) = 0 open("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", O_RDONLY) = 3 fstat(3, 0xFFBEF0EC) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF380000 mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF370000 close(3) = 0 munmap(0xFF380000, 8192) = 0 brk(0x000284B0) = 0 brk(0x0002A4B0) = 0 open("/usr/lib/locale/C/LC_CTYPE/ldterm.dat", O_RDONLY) Err#2 ENOENT ioctl(0, STGET, 0x00028110) Err#22 EINVAL ioctl(0, TCGETS, 0x00028134) = 0 iflag=0022442 oflag=0014005 cflag=0000275 lflag=0105073 cc: 003 034 177 025 004 000 000 000 021 023 032 031 022 017 027 026 000 000 000 ioctl(0, TCGETX, 0x00028100) Err#22 EINVAL ioctl(0, TIOCGWINSZ, 0x000280F8) Err#22 EINVAL ioctl(0, I_STR, 0xFFBEF650) = 0 cmd=0xC502 timout=0 len=8 dp=0x000280E4 ioctl(0, I_STR, 0xFFBEF650) = 0 cmd=0xC302 timout=0 len=300 dp=0x00027E7C ioctl(1, TCGETA, 0xFFBEE86C) = 0 iflag=0022442 oflag=0014005 cflag=0000275 lflag=0105073 line=0 cc: 003 034 177 025 004 000 000 000 speed 9600 baud; write(1, " s p e e d 9 6 0 0 b".., 18) = 18 csdata ? write(1, " c s d a t a ?\n", 9) = 9 eucw 1:0:0:0, scrw 1:0:0:0 write(1, " e u c w 1 : 0 : 0 : 0".., 27) = 27 intr = ^c; quit = ^\; erase = ^?; kill = ^u; write(1, " i n t r = ^ c ; q".., 45) = 45 eof = ^d; eol = <undef>; eol2 = <undef>; swtch = <undef>; write(1, " e o f = ^ d ; e o".., 58) = 58 start = ^q; stop = ^s; susp = ^z; dsusp = ^y; write(1, " s t a r t = ^ q ; ".., 46) = 46 rprnt = ^r; flush = ^o; werase = ^w; lnext = ^v; write(1, " r p r n t = ^ r ; ".., 49) = 49 -parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk -crtscts -crtsxoff -parext write(1, " - p a r e n b - p a r".., 84) = 84 -ignbrk brkint -ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc write(1, " - i g n b r k b r k i".., 73) = 73 ixon -ixany -ixoff imaxbel write(1, " i x o n - i x a n y ".., 28) = 28 isig icanon -xcase echo echoe echok -echonl -noflsh write(1, " i s i g i c a n o n ".., 53) = 53 -tostop echoctl -echoprt echoke -defecho -flusho -pendin iexten write(1, " - t o s t o p e c h o".., 65) = 65 opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3 write(1, " o p o s t - o l c u c".., 61) = 61 llseek(0, 0, SEEK_CUR) = 5047 _exit(0) From the above it looks like ioctl cannot find ldterm.dat where it looks for it (/usr/lib/locale/C/LC_CTYPE/ldterm.dat). On my system I found it in /usr/lib/locale/en_US.UTF-8/LC_CTYPE/ldterm.dat I created symlink to it in /usr/lib/locale/C/LC_CTYPE/, and here's the result of the same series of commands on fresh terminal: bash-2.03$ /usr/bin/stty -a speed 9600 baud; rows = 25; columns = 80; ypixels = 0; xpixels = 0; csdata ? eucw 1:0:0:0, scrw 1:0:0:0 intr = ^c; quit = ^\; erase = ^?; kill = ^u; eof = ^d; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^q; stop = ^s; susp = ^z; dsusp = ^y; rprnt = ^r; flush = ^o; werase = ^w; lnext = ^v; -parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk -crtscts -crtsxoff -parext -ignbrk brkint -ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc ixon -ixany -ixoff imaxbel isig icanon -xcase echo echoe echok -echonl -noflsh -tostop echoctl -echoprt echoke -defecho -flusho -pendin iexten opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3 bash-2.03$ /usr/bin/stty rows 0 columns 0 bash-2.03$ truss -v ioctl /usr/bin/stty -a execve("/usr/bin/stty", 0xFFBEFB34, 0xFFBEFB40) argc = 2 mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF3A0000 resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16 open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT stat("/usr/local/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/home/ora_oas/9ias_903/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/X/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/openwin/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/dt/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/home/ora_oas/9ias_903/jdbc/lib/libc.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/lib/libc.so.1", 0xFFBEF25C) = 0 open("/usr/lib/libc.so.1", O_RDONLY) = 3 fstat(3, 0xFFBEF25C) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF390000 mmap(0x00000000, 802816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF280000 mmap(0xFF33C000, 24756, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000 munmap(0xFF32C000, 65536) = 0 memcntl(0xFF280000, 113460, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 close(3) = 0 stat("/usr/local/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/home/ora_oas/9ias_903/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/X/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/openwin/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/dt/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/home/ora_oas/9ias_903/jdbc/lib/libdl.so.1", 0xFFBEF25C) Err#2 ENOENT stat("/usr/lib/libdl.so.1", 0xFFBEF25C) = 0 open("/usr/lib/libdl.so.1", O_RDONLY) = 3 fstat(3, 0xFFBEF25C) = 0 mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF390000 close(3) = 0 stat("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", 0xFFBEF0EC) = 0 open("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", O_RDONLY) = 3 fstat(3, 0xFFBEF0EC) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF380000 mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF370000 close(3) = 0 munmap(0xFF380000, 8192) = 0 brk(0x000284B0) = 0 brk(0x0002A4B0) = 0 open("/usr/lib/locale/C/LC_CTYPE/ldterm.dat", O_RDONLY) = 3 read(3, "010304\0 e n _ U S . U T".., 300) = 300 close(3) = 0 ioctl(0, STGET, 0x00028110) Err#22 EINVAL ioctl(0, TCGETS, 0x00028134) = 0 iflag=0022442 oflag=0014005 cflag=0000275 lflag=0105073 cc: 003 034 177 025 004 000 000 000 021 023 032 031 022 017 027 026 000 000 000 ioctl(0, TCGETX, 0x00028100) Err#22 EINVAL ioctl(0, TIOCGWINSZ, 0x000280F8) Err#22 EINVAL ioctl(0, I_STR, 0xFFBEF650) = 0 cmd=0xC502 timout=0 len=8 dp=0x000280E4 ioctl(0, I_STR, 0xFFBEF650) = 0 cmd=0xC302 timout=0 len=300 dp=0x00027E7C ioctl(1, TCGETA, 0xFFBEE86C) = 0 iflag=0022442 oflag=0014005 cflag=0000275 lflag=0105073 line=0 cc: 003 034 177 025 004 000 000 000 speed 9600 baud; write(1, " s p e e d 9 6 0 0 b".., 18) = 18 csdata ? write(1, " c s d a t a ?\n", 9) = 9 eucw 1:0:0:0, scrw 1:0:0:0 write(1, " e u c w 1 : 0 : 0 : 0".., 27) = 27 intr = ^c; quit = ^\; erase = ^?; kill = ^u; write(1, " i n t r = ^ c ; q".., 45) = 45 eof = ^d; eol = <undef>; eol2 = <undef>; swtch = <undef>; write(1, " e o f = ^ d ; e o".., 58) = 58 start = ^q; stop = ^s; susp = ^z; dsusp = ^y; write(1, " s t a r t = ^ q ; ".., 46) = 46 rprnt = ^r; flush = ^o; werase = ^w; lnext = ^v; write(1, " r p r n t = ^ r ; ".., 49) = 49 -parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk -crtscts -crtsxoff -parext write(1, " - p a r e n b - p a r".., 84) = 84 -ignbrk brkint -ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc write(1, " - i g n b r k b r k i".., 73) = 73 ixon -ixany -ixoff imaxbel write(1, " i x o n - i x a n y ".., 28) = 28 isig icanon -xcase echo echoe echok -echonl -noflsh write(1, " i s i g i c a n o n ".., 53) = 53 -tostop echoctl -echoprt echoke -defecho -flusho -pendin iexten write(1, " - t o s t o p e c h o".., 65) = 65 opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3 write(1, " o p o s t - o l c u c".., 61) = 61 llseek(0, 0, SEEK_CUR) = 5926 _exit(0) -- Alexandre Peshansky, Systems Manager, RUH, NY _______________________________________________ Bug-coreutils mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/bug-coreutils