On Saturday 24 December 2005 13:34, you wrote: > + unreproducible + moreinfo > > Sorry, but it works perfectly in sid as in sarge here on different boxes. > Would you please specify if you are using a stock kernel or a hand maden > one and configuration just in case? What X environment?
Package: xxgdb Version: 1.12-13 Severity: normal -- System Information: Debian Release: 3.1 Architecture: i386 (i686) Kernel: Linux 2.6.8-2-386 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages xxgdb depends on: ii gdb 6.3-6 The GNU Debugger ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries ii libxaw7 4.3.0.dfsg.1-14sarge1 X Athena widget set library ii xlibs 4.3.0.dfsg.1-14sarge1 X Keyboard Extension (XKB) -- no debconf information lrwxrwxrwx 1 root root 27 Oct 23 16:58 vmlinuz -> bootdir/vmlinuz-2.6.8-2-386 :-) apt-get remove --purge xxgdb Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: xxgdb* 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. Need to get 0B of archives. After unpacking 250kB disk space will be freed. Do you want to continue? [Y/n] (Reading database ... 86542 files and directories currently installed.) Removing xxgdb ... Purging configuration files for xxgdb ... :-) apt-get install xxgdb Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: xxgdb 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 56.7kB of archives. After unpacking 250kB of additional disk space will be used. Get:1 ftp://ftp.nl.debian.org sarge/main xxgdb 1.12-13 [56.7kB] Fetched 56.7kB in 0s (88.1kB/s) Reading package fields... Done Reading package status... Done Retrieving bug reports... Done Selecting previously deselected package xxgdb. (Reading database ... 86527 files and directories currently installed.) Unpacking xxgdb (from .../xxgdb_1.12-13_i386.deb) ... Setting up xxgdb (1.12-13) ... :-) xxgdb xxgdb: all ptys in use :-) apt-get source xxgdb Reading Package Lists... Done Building Dependency Tree... Done Need to get 127kB of source archives. Get:1 ftp://ftp.debian.org stable/main xxgdb 1.12-13 (dsc) [594B] Get:2 ftp://ftp.debian.org stable/main xxgdb 1.12-13 (tar) [116kB] Get:3 ftp://ftp.debian.org stable/main xxgdb 1.12-13 (diff) [10.9kB] Fetched 127kB in 4s (26.2kB/s) dpkg-source: extracting xxgdb in xxgdb-1.12 :-) grep -n -d recurse 'all ptys in use' . ./xxgdb-1.12/calldbx.c:159: fprintf(stderr, "xxgdb: all ptys in use\n"); ./xxgdb-1.12/calldbx.c:161: fprintf(stderr, "xdbx: all ptys in use\n"); The relevant lines from calldbx.c : --------------------------------------------------------------------- LINE 92-96: #ifdef SVR4 #define MASTER_CLONE "/dev/ptmx" #include <sys/types.h> #include <sys/stat.h> #include <sys/stropts.h> #endif /* SVR4 */ LINE 111-114: #ifndef SVR4 /* (MJH) */ static char pty[11] = "/dev/pty??"; /* master side of pseudo-terminal */ static char tty[11] = "/dev/tty??"; /* slave side of pseudo-terminal */ #endif /* SVR4 */ LINE 127-164: static int open_master() { int master; #ifdef SVR4 /* (MJH) Use STREAMS */ if((master = open(MASTER_CLONE, O_RDWR)) < 0) perror(MASTER_CLONE); else return master; #else int i; char c; #ifndef sco for (c='p'; c<'t'; c++) { for (i=0; i<16; i++) { #else c = 'p'; for (i=0; i<8; i++) { #endif pty[8] = c; pty[9] = "0123456789abcdef"[i]; if ((master = open(pty, O_RDWR)) >= 0) return (master); } #ifndef sco } #endif #endif /* SVR4 */ #ifdef GDB fprintf(stderr, "xxgdb: all ptys in use\n"); #else fprintf(stderr, "xdbx: all ptys in use\n"); #endif exit(1); } --------------------------------------------------------------------- So if SVR4 was defined at build time, it should have either done perror or returned master, and would not have reached the printf. So SVR4 was not defined. So it must have tried open()ing /dev/ptyc0 - /dev/ptyc7 which apparently failed. :-) ls -al /dev | grep pty :-) I would expect it to use getpt() instead, which i tested here, and gives me /dev/pty/2 : :-) cd /my/test/c :-) getpty got fd=3 ptsname=/dev/pts/2= crw--w---- 1 root tty 136, 2 Dec 24 18:23 /dev/pts/2 isnotastream parent: got 19 : CHILD sending pty child: got 27 : PARENT: responding on pty :-) The only explanation for that it does work on your systems would be that you do have /dev/pty?? devices. I don't know where these are supposed to be created. POSSIBLY OFFTOPIC: /dev/pts/* are created on the fly by getpt() Also, to see whether the pty gotten with getpt() is a stream, (not necessary, apparently, but more portable) stropts.h needs to be included, which is only included if SVR4 is defined. If it were possible to define SVR4 in the build, it might also solve the other bug. I have no idea how recent SysV Release 4 is (though 'streams' sounds kinda recent), and whether Debian's xxgdb is compatible with it. unreproducible-- ; moreinfo++ ; have fun ! Siward de Groot (home.wanadoo.nl/siward) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]