Bug#470882: /dev/gpmctl freezes acknowledge

Samuel Thibault samuel.thibault at ens-lyon.org
Wed Oct 8 23:14:28 UTC 2008


Just to summarize a few things:

- apparently it happens just for clients run in an terminal in X.
- the server logs previously attached to the bug show
"Failed gpm connect attempt by uid 1000 for vc /dev/tty0"
which means that libgpm tried to connect to the gpm server, and failed
since it didn't know which VT to acquire, thus tried tty0, and failed
since it probably belongs to root, not to uid 1000.

I tried to reproduce that, and I noticed something in the strace I could
get: 

# the client logs the connection error
sendto(52, "<14>Oct  9 00:55:37 aptitude: *** info", 39, MSG_NOSIGNAL, NULL, 0) = 39
sendto(52, "<14>Oct  9 00:55:37 aptitude: Warning: closing connection", 57, MSG_NOSIGNAL, NULL, 0) = 57
# closes the socket
close(4)    
...
# and still tries to select it!
select(5, [0 4], NULL, NULL, {0, 166000}) = -1 EBADF (Bad file descriptor)

it looks like the caller of libgpm didn't notice that gpm_fd is not
a valid file descriptor any more.  In the case of aptitude, that's
ncurses...  Thomas?

Now, that being said, that reminds me bug #472063: actually libgpm
shouldn't even have tried to connect to the server, it should have just
noticed it is running in an X terminal and set gpm_fd to -2...

Samuel





More information about the pkg-gpm-devel mailing list