Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 720708

Summary: dev-util/dejagnu-1.6.2 fails tests: ERROR: The system has no more ptys.
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: RESOLVED INVALID    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Agostino Sarubbo gentoo-dev 2020-05-02 19:16:13 UTC
This is an auto-filled bug because dev-util/dejagnu fails tests.
The issue was originally discovered on arm64, but it may be reproducible on other arches as well.
If you think that a different summary clarifies the issue better, feel free to change it.
Attached build log and emerge --info.
Comment 1 Agostino Sarubbo gentoo-dev 2020-05-02 19:16:57 UTC
Created attachment 635732 [details]
build.log

build log and emerge --info
Comment 2 Sergei Trofimovich (RETIRED) gentoo-dev 2020-05-02 20:27:42 UTC
> ERROR: tcl error sourcing ./testsuite/libdejagnu/tunit.exp.
> ERROR: The system has no more ptys.  Ask your system administrator to create more.

Make sure your PTYs work. The simple test is usually to run screen and tmux to see if it creates ttys.
Comment 3 Agostino Sarubbo gentoo-dev 2020-05-03 12:45:42 UTC
is this what we are looking for?

$ ls /dev/ttyS* -la
crw-rw---- 1 root dialout 4, 64 Feb  8 12:34 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Feb  8 12:34 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 Feb  8 12:34 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Feb  8 12:34 /dev/ttyS3
Comment 4 Sergei Trofimovich (RETIRED) gentoo-dev 2020-05-03 16:24:57 UTC
(In reply to Agostino Sarubbo from comment #3)
> is this what we are looking for?
> 
> $ ls /dev/ttyS* -la
> crw-rw---- 1 root dialout 4, 64 Feb  8 12:34 /dev/ttyS0
> crw-rw---- 1 root dialout 4, 65 Feb  8 12:34 /dev/ttyS1
> crw-rw---- 1 root dialout 4, 66 Feb  8 12:34 /dev/ttyS2
> crw-rw---- 1 root dialout 4, 67 Feb  8 12:34 /dev/ttyS3

No, these are serial ports.

'expect' library uses pseudo-terminals in /dev/pts. Valid setup usually looks like:

    $ LANG=C ls -l /dev/ptmx
    crw-rw-rw- 1 root tty 5, 2 May  3 17:21 /dev/ptmx

And as a user (portage user in this case) you can create new ttys:

$ tty
/dev/pts/14
$ tmux
$ tty
/dev/pts/15

$ LANG=C ls -l /dev/pts
total 0
crw--w---- 1 slyfox tty  136,  0 May  3 17:24 0
crw--w---- 1 slyfox tty  136,  1 May  3 17:24 1
crw--w---- 1 slyfox tty  136, 10 May  2 22:05 10
crw--w---- 1 slyfox tty  136, 11 May  3 15:26 11
crw--w---- 1 slyfox tty  136, 12 May  3 14:45 12
crw--w---- 1 slyfox tty  136, 13 May  3 15:26 13
crw--w---- 1 slyfox tty  136, 14 May  3 17:24 14
crw--w---- 1 slyfox tty  136,  2 May  3 17:24 2
crw--w---- 1 slyfox tty  136,  3 May  3 13:28 3
crw--w---- 1 slyfox tty  136,  4 May  3 13:27 4
crw--w---- 1 slyfox tty  136,  5 May  3 14:32 5
crw--w---- 1 slyfox tty  136,  6 May  2 22:05 6
crw--w---- 1 slyfox tty  136,  7 May  3 17:24 7
crw--w---- 1 slyfox tty  136,  9 May  3 17:24 9
c--------- 1 root   root   5,  2 Apr 18 20:31 ptmx
Comment 5 Agostino Sarubbo gentoo-dev 2020-05-04 14:33:55 UTC
I can create tty as user, however, the /dev/ptmx output looks a bit different:

$ LANG=C ls -l /dev/ptmx
lrwxrwxrwx 1 root root 8 May  2 11:35 /dev/ptmx -> pts/ptmx

$ LANG=C ls -l /dev/pts/ptmx 
c--------- 1 root root 5, 2 May  4 16:33 /dev/pts/ptmx
Comment 6 Sergei Trofimovich (RETIRED) gentoo-dev 2020-05-04 17:00:31 UTC
(In reply to Agostino Sarubbo from comment #5)
> I can create tty as user, however, the /dev/ptmx output looks a bit
> different:
> 
> $ LANG=C ls -l /dev/ptmx
> lrwxrwxrwx 1 root root 8 May  2 11:35 /dev/ptmx -> pts/ptmx
> 
> $ LANG=C ls -l /dev/pts/ptmx 
> c--------- 1 root root 5, 2 May  4 16:33 /dev/pts/ptmx

Can you run 'tmux' as portage user?
# su -s /bin/bash - portage
$ tmux
$ tty
/dev/pts/5
$ LANG=C ls -l /dev/pts/5
crw--w---- 1 portage tty 136, 5 May  4 18:00 /dev/pts/5
Comment 7 Agostino Sarubbo gentoo-dev 2020-05-09 16:38:57 UTC
This issue comes up because an hardware issue so this is invalid.

Do you think it can be useful a portage feature that tests if it is able to create a pty before emerge?