Bug 4891

Summary: gdm, kdm, xdm not working for gnome
Product: [Retired] Red Hat Raw Hide Reporter: dwsmith
Component: distributionAssignee: Cristian Gafton <gafton>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0CC: dwsmith, saurik
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-09-13 16:38:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description dwsmith 1999-09-03 17:57:10 UTC
rawhide-release-19990901-1

gdm is denied access to the Xserver... and cannot start up.
I also tried KDE and AnotherLevel in the
/etc/sysconfig/desktop file.  KDM and the XDM work okay as
long as you don't choose GNOME as the session type. Moving
back to init level 4 and running a startx works fine for
gnome.  root and normal user work the same.

An strace on the gdm process shows it looking for
/root/.Xauthority while on a functional system running
rawhide-release-19990730-1, gdm correctly finds the
/var/gdm/:0.xauth file.

Relevant /var/gdm/:0.log contents:

AUDIT: Fri Sep  3 11:34:06 1999: 1968 X: client 1 rejected
from local host
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server

gdm strace portion from rawhide-release-19990901-1....

---------------

unlink("/var/gdm/:0.xauth")             = 0
fork()                                  = 1979
wait4(1979, NULL, 0, NULL)              = 1979
chown("/var/gdm/:0.xauth", 0, 42)       = 0
chmod("/var/gdm/:0.xauth", 0640)        = 0
fork()                                  = 1980
pause()                                 = ? ERESTARTNOHAND
(To be restarted)
--- SIGUSR1 (User defined signal 1) ---
time([936380189])                       = 936380189
getpid()                                = 1962
rt_sigaction(SIGPIPE, {0x401f2b10, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(3, "<31>Sep  3 11:36:29 gdm[1962]: g"..., 77, 0) = 77
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [USR1], NULL, 8) = 0
time([936380189])                       = 936380189
getpid()                                = 1962
rt_sigaction(SIGPIPE, {0x401f2b10, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(3, "<31>Sep  3 11:36:29 gdm[1962]: g"..., 67, 0) = 67
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
socket(PF_UNIX, SOCK_STREAM, 0)         = 9
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
connect(9, {sun_family=AF_UNIX,
sun_path="/tmp/.X11-unix/X0"}, 19) = 0
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
access("/root/.Xauthority", R_OK)       = -1 ENOENT (No such
file or directory)
writev(9, [{"l\0\v\0\0\0\0\0\0\0\0\0", 12}], 1) = 12
fcntl(9, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
read(9, 0xbffff508, 8)                  = -1 EAGAIN
(Resource temporarily unavailable)
select(10, [9], NULL, NULL, NULL)       = 1 (in [9])
read(9, "\0-\v\0\0\0\f\0", 8)           = 8
read(9, "Client is not authorized to conn"..., 48) = 48
write(2, "Xlib: connection to \":0.0\" refus"..., 52) = 52
write(2, "Client is not authorized to conn"..., 45) = 45
write(2, "\r\n", 2)                     = 2
shutdown(9, 2 /* send and receive */)   = 0
close(9)                                = 0
---------------

gdm strace portion from rawhide-release-19990730-1....

---------------

unlink("/var/gdm/:0.xauth")             = 0
rt_sigaction(SIGUSR1, {0x804f750, [],
SA_RESTART|SA_ONESHOT|0x4000000}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1], NULL, 8) = 0
open("/var/gdm/:0.log", O_WRONLY|O_APPEND|O_CREAT|O_TRUNC,
0666) = 21
dup2(21, 1)                             = 1
dup2(21, 2)                             = 2
gettimeofday({936380332, 165985}, {360, 0}) = 0
getppid()                               = 1
getpid()                                = 757
open("/dev/random", O_RDONLY|O_NONBLOCK) = 22
read(22,
"\26\346\242R:\330=\3678~\202\317H\307\231T\v\320\v\212"...,
512) = 512
close(22)                               = 0
unlink("/var/gdm/:0.xauth")             = -1 ENOENT (No such
file or directory)
time([936380332])                       = 936380332
getpid()                                = 757
rt_sigaction(SIGPIPE, {0x401f3520, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(4, "<27>Sep  3 11:38:52 gdm[757]: gd"..., 122, 0) = 122
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
fork()                                  = 14204
wait4(14204, NULL, 0, NULL)             = 14204
chown("/var/gdm/:0.xauth", 0, 42)       = 0
chmod("/var/gdm/:0.xauth", 0640)        = 0
fork()                                  = 14205
pause()                                 = ? ERESTARTNOHAND
(To be restarted)
--- SIGUSR1 (User defined signal 1) ---
rt_sigprocmask(SIG_BLOCK, [USR1], NULL, 8) = 0
uname({sys="Linux", node="gacarter.micron.com", ...}) = 0
socket(PF_UNIX, SOCK_STREAM, 0)         = 22
uname({sys="Linux", node="gacarter.micron.com", ...}) = 0
uname({sys="Linux", node="gacarter.micron.com", ...}) = 0
connect(22, {sun_family=AF_UNIX,
sun_path="/tmp/.X11-unix/X0"}, 19) = 0
uname({sys="Linux", node="gacarter.micron.com", ...}) = 0
fcntl(22, F_SETFD, FD_CLOEXEC)          = 0
access("/var/gdm/:0.xauth", R_OK)       = 0
open("/var/gdm/:0.xauth", O_RDONLY)     = 23
read(23, "\1\0", 2)                     = 2
read(23, "\0\23", 2)                    = 2
read(23, "gacarter.micron.com", 19)     = 19
read(23, "\0\1", 2)                     = 2
read(23, "0", 1)                        = 1
read(23, "\0\22", 2)                    = 2
read(23, "MIT-MAGIC-COOKIE-1", 18)      = 18
read(23, "\0\20", 2)                    = 2
read(23, "\330\333@\3230I\'\375C\10oo\252x\262f", 16) = 16
close(23)                               = 0
writev(22, [{"l\0\v\0\0\0\22\0\20\0\0\0", 12},
{"MIT-MAGIC-COOKIE-1", 18},

------------ it authenticates okay.

If I soft link /root/.Xauthority to /var/gdm/:0
the system goes into a loop condition where the Xserver is
killed and restared.  following is from a strace

------------
unlink("/var/gdm/:0.xauth")             = -1 ENOENT (No such
file or directory)
brk(0x8066000)                          = 0x8066000
time([936380975])                       = 936380975
getpid()                                = 2010
rt_sigaction(SIGPIPE, {0x401f2b10, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(3, "<27>Sep  3 11:49:35 gdm[2010]: g"..., 123, 0) = 123
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
fork()                                  = 2015
wait4(2015, NULL, 0, NULL)              = 2015
--- SIGCHLD (Child exited) ---
wait4(-1, 0xbffff868, WNOHANG, NULL)    = -1 ECHILD (No
child processes)
sigreturn()                             = ? (mask now [])
chown("/var/gdm/:0.xauth", 0, 42)       = 0
chmod("/var/gdm/:0.xauth", 0640)        = 0
fork()                                  = 2016
pause()                                 = ? ERESTARTNOHAND
(To be restarted)
--- SIGUSR1 (User defined signal 1) ---
time([936380975])                       = 936380975
getpid()                                = 2010
rt_sigaction(SIGPIPE, {0x401f2b10, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(3, "<31>Sep  3 11:49:35 gdm[2010]: g"..., 77, 0) = 77
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [USR1], NULL, 8) = 0
time([936380975])                       = 936380975
getpid()                                = 2010
rt_sigaction(SIGPIPE, {0x401f2b10, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(3, "<31>Sep  3 11:49:35 gdm[2010]: g"..., 67, 0) = 67
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
socket(PF_UNIX, SOCK_STREAM, 0)         = 5
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
connect(5, {sun_family=AF_UNIX,
sun_path="/tmp/.X11-unix/X0"}, 19) = 0
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
access("/root/.Xauthority", R_OK)       = 0
open("/root/.Xauthority", O_RDONLY)     = 6
read(6, "\1\0", 2)                      = 2
read(6, "\0\23", 2)                     = 2
read(6, "telinux1.micron.com", 19)      = 19
read(6, "\0\1", 2)                      = 2
read(6, "0", 1)                         = 1
read(6, "\0\22", 2)                     = 2
read(6, "MIT-MAGIC-COOKIE-1", 18)       = 18
read(6, "\0\20", 2)                     = 2
read(6, "%\22\323\366\3507\275|\362=n\274:\246\32\260", 16)
= 16
close(6)                                = 0
writev(5, [{"l\0\v\0\0\0\22\0\20\0\0\0", 12},
{"MIT-MAGIC-COOKIE-1", 18}, {"\0\0", 2},
{"%\22\323\366\3507\275|\362=n\274:\246\32\260", 16}], 4) =
48
fcntl(5, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
read(5, 0xbffff7b0, 8)                  = -1 EAGAIN
(Resource temporarily unavailable)
select(6, [5], NULL, NULL, NULL)        = 1 (in [5])
read(5, "\1\0\v\0\0\0$\0", 8)           = 8
read(5,
"O\1\0\0\0\0@\0\377\377?\0\0\1\0\0\30\0\377\377\1\2\0\0"...,
144) = 144
write(5,
"7\0\5\0\0\0@\0%\0\0\0\10\0\0\0\377\377\0\0b\0\5\0\f\0\0"...,
64) = 64
read(5, 0xbffff7c4, 32)                 = -1 EAGAIN
(Resource temporarily unavailable)
select(6, [5], NULL, NULL, NULL)        = 1 (in [5])
read(5,
"\1\0\2\0\0\0\0\0\1\204\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
32) = 32
read(5,
"\1\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
32) = 32
write(5, "\204\0\1\0", 4)               = 4
read(5, 0xbffff7e4, 32)                 = -1 EAGAIN
(Resource temporarily unavailable)
select(6, [5], NULL, NULL, NULL)        = 1 (in [5])
read(5,
"\1\0\4\0\0\0\0\0\377\377\17\0\0\0\0\0\0\0\0\0\1\0\0\0\0"...,
32) = 32
writev(5, [{"b\0\5\0\t\0@\0", 8}, {"XKEYBOARD", 9},
{"\0\0\0", 3}], 3) = 20
read(5, 0xbffff690, 32)                 = -1 EAGAIN
(Resource temporarily unavailable)
select(6, [5], NULL, NULL, NULL)        = 1 (in [5])
read(5,
"\1\0\5\0\0\0\0\0\1\210T\210\0\0\0\0\0\0\0\0\1\0\0\0\0\0"...,
32) = 32
write(5, "\210\0\2\0\1\0\0\0", 8)       = 8
read(5, 0xbffff714, 32)                 = -1 EAGAIN
(Resource temporarily unavailable)
select(6, [5], NULL, NULL, NULL)        = 1 (in [5])
read(5,
"\1\1\6\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\200\327&\10\0"...,
32) = 32
write(5, "\20\0\4\0\7\0\0\0Compose\0", 16) = 16
read(5, 0xbffff6c4, 32)                 = -1 EAGAIN
(Resource temporarily unavailable)
select(6, [5], NULL, NULL, NULL)        = 1 (in [5])
read(5,
"\1\0\7\0\0\0\0\0\276\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0"...,
32) = 32
time([936380978])                       = 936380978
getpid()                                = 2010
rt_sigaction(SIGPIPE, {0x401f2b10, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(3, "<31>Sep  3 11:49:38 gdm[2010]: g"..., 63, 0) = 63
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
fork()                                  = 2019
time([936380978])                       = 936380978
getpid()                                = 2010
rt_sigaction(SIGPIPE, {0x401f2b10, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(3, "<31>Sep  3 11:49:38 gdm[2010]: g"..., 74, 0) = 74
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
sigreturn()                             = ? (mask now [])
time(NULL)                              = 936380978
uname({sys="Linux", node="telinux1.micron.com", ...}) = 0
time([936380978])                       = 936380978
getpid()                                = 2010
rt_sigaction(SIGPIPE, {0x401f2b10, [], 0x4000000},
{SIG_DFL}, 8) = 0
send(3, "<31>Sep  3 11:49:38 gdm[2010]: S"..., 78, 0) = 78
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 6
bind(6, {sin_family=AF_INET, sin_port=htons(177),
sin_addr=inet_addr("0.0.0.0")}, 16) = 0
gettimeofday({936380978, 440693}, NULL) = 0
pipe([7, 8])                            = 0
poll([{fd=6, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN}],
2, -1) = -1 EINTR (Interrupted system call)
--- SIGCHLD (Child exited) ---

------------

If I can be of any further help, please contact me.



------- Additional Comments From   09/03/99 14:08 -------
Also, the /etc/X11/prefdm needs to be modified before the
/etc/sysconfig/desktop grep works properly.

The grep sections need to be of the form:

   if [ -n "`grep -i GNOME /etc/sysconfig/desktop`" ];

and the exec section needs to be:

if [ -n "$preferred" ]; then
        exec `which $preferred` $*
fi

Comment 1 dwsmith 1999-09-03 21:14:59 UTC
I should also note that I have been running all versions of rawhide on
top of an original install of Redhat 6.0.  I do not upgrade the
kernel with the rest of the rawhide package.  I build my own kernels.

Comment 2 dwsmith 1999-09-09 23:26:59 UTC
Please close this issue.  The bug was resolved with this latest
release of rawhide... rawhide-release-19990907-1

Thankyou.

Note... the /etc/X11/prefdm script still echos "/usr/bin/gdm"
to the terminal when starting up.  Benign, but doesn't look good.

Comment 3 Elliot Lee 1999-09-13 16:38:59 UTC
Closed, as per bug reporter's request.