[gdm-list] $50 to someone who can make gdm + Xvnc a happy couple



Hi, if my previous emails didn't get to the list yet, here's a summary:

No matter what I do, I can't get Xvnc to talk XDMCP to gdm properly.

On Fedora Core 3 or Fedora Core 5.

I have tried everything I could think of, and some things I couldn't.

Essentially, it's like gdm never sees the XDMCP stuff, but tcpdump on
loopback shows they communicate on port 177... and that Xvnc has the
last word.  That's kind of odd, it seems like Xvnc is sending a query
that gdm isn't responding to, so it hangs:

02:15:39.704214 IP 127.0.0.1.47658 > 127.0.0.1.xdmcp: UDP, length 7
02:15:39.711298 IP 127.0.0.1.xdmcp > 127.0.0.1.47658: UDP, length 69
02:15:39.735317 IP 127.0.0.1.47658 > 127.0.0.1.xdmcp: UDP, length 87
02:15:39.736879 IP 127.0.0.1.xdmcp > 127.0.0.1.47658: UDP, length 52
02:15:39.737216 IP 127.0.0.1.47658 > 127.0.0.1.xdmcp: UDP, length 29

That is, if I specify "-query localhost" to Xvnc, and then connect via
vncviewer, it shows a watch icon for my mouse cursor.

I can't get any debugging information out of either of them.

I ran Xvnc under strace, and it was sleeping in select (with a
timeout).  No big surprises there.

During debugging, I added the following line to tcp.allow, (tcp.deny
is empty), but it seems to have no effect (domain sanitized to protect
the afflicted):
gdm: .localdomain.com 127.0.0.1

I've tried rebuilding the RPM from source, downloading it again, and I
don't think it's a problem with the binary.  They say they only got
blank screens with xdm and kdm too.  They also say the same
configuration _used_ to work, and that it just stopped suddenly
(there's a few reboots around that time, so it was probably broken
on-disk by an upgrade, while the old stuff was still resident until
the reboot).

I ran gdm under strace, and I've attached the output.

To make it interesting, and to convince people to look at the
attachment, I'll offer $50 to the first person who can give me the
advice that fixes the problem.

Hopefully the mod will forward my queued messages so I don't have to
go through all the troubleshooting steps I've done.  It has taken a
lot of effort to get to this point.
--
"Curiousity killed the cat, but for a while I was a suspect" -- Steven Wright
Security Guru for Hire http://www.lightconsulting.com/~travis/ -><-
GPG fingerprint: 9D3F 395A DAC5 5CCC 9066  151D 0A6B 4098 0C55 1484
[{fd=4, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN|POLLPRI}, {fd=3, events=POLLIN|POLLPRI, revents=POLLIN}, {fd=5, events=POLLIN|POLLPRI}], 4, -1) = 1
gettimeofday({1147762529, 260377}, {300, 0}) = 0
recvfrom(3, "\0\1\0\2\0\1\0", 8192, 0, {sa_family=AF_INET, sin_port=htons(47645), sin_addr=inet_addr("127.0.0.1")}, [16]) = 7
time(NULL)                              = 1147762529
rt_sigaction(SIGTERM, {0x691096, [], SA_RESTART}, {0x6a1941, [], SA_RESTART}, 8) = 0
rt_sigaction(SIGINT, {0x691096, [], SA_RESTART}, {0x6a1941, [], SA_RESTART}, 8) = 0
rt_sigaction(SIGHUP, {0x691096, [], SA_RESTART}, {0x6a1941, [], SA_RESTART}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/etc/hosts", O_RDONLY)            = 8
fcntl64(8, F_GETFD)                     = 0
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
fstat64(8, {st_mode=S_IFREG|0640, st_size=697, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
read(8, "# Do not remove the following li"..., 4096) = 697
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
rt_sigaction(SIGTERM, {0x6a1941, [], SA_RESTART}, NULL, 8) = 0
rt_sigaction(SIGINT, {0x6a1941, [], SA_RESTART}, NULL, 8) = 0
rt_sigaction(SIGHUP, {0x6a1941, [], SA_RESTART}, NULL, 8) = 0
time(NULL)                              = 1147762529
open("/etc/hosts.allow", O_RDONLY)      = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=523, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
read(8, "#\n# hosts.allow\tThis file descri"..., 4096) = 523
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
open("/etc/hosts.deny", O_RDONLY)       = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=431, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
read(8, "#\n# hosts.deny\tThis file describ"..., 4096) = 431
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
time(NULL)                              = 1147762529
access("/etc/X11/gdm/Xwilling", X_OK)   = -1 ENOENT (No such file or directory)
time(NULL)                              = 1147762529
sendto(3, "\0\1\0\5\0?\0\0\0\"hostname.fulldomain.co"..., 69, 0, {sa_family=AF_INET, sin_port=htons(47645), sin_addr=inet_addr("127.0.0.1")}, 16) = 69
poll([{fd=4, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN|POLLPRI}, {fd=5, events=POLLIN|POLLPRI}, {fd=3, events=POLLIN|POLLPRI, revents=POLLIN}], 4, -1) = 1
gettimeofday({1147762529, 293100}, {300, 0}) = 0
recvfrom(3, "\0\1\0\7\0Q\0\2\1\0\0\1\0\4\300\250\1f\0\0\0\0\3\0\22M"..., 8192, 0, {sa_family=AF_INET, sin_port=htons(47645), sin_addr=inet_addr("127.0.0.1")}, [16]) = 87
time(NULL)                              = 1147762529
open("/etc/hosts.allow", O_RDONLY)      = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=523, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
read(8, "#\n# hosts.allow\tThis file descri"..., 4096) = 523
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
open("/etc/hosts.deny", O_RDONLY)       = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=431, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
read(8, "#\n# hosts.deny\tThis file describ"..., 4096) = 431
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
time(NULL)                              = 1147762529
time(NULL)                              = 1147762529
time(NULL)                              = 1147762529
close(10)                               = 0
kill(4893, SIGTERM)                     = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {0x6a1941, [CHLD], SA_RESTART|SA_NOCLDSTOP}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({10, 0}, {10, 0})             = 0
waitpid(4893, [{WIFEXITED(s) && WEXITSTATUS(s) == 4}], WNOHANG) = 4893
time(NULL)                              = 1147762539
umask(022)                              = 022
unlink("/var/gdm/localhost.localdomain:2.Xauth") = 0
open("/var/gdm/localhost.localdomain:2.Xauth", O_WRONLY|O_CREAT|O_TRUNC|O_EXCL|O_NOCTTY, 0644) = 8
fcntl64(8, F_GETFL)                     = 0x1 (flags O_WRONLY)
fstat64(8, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
_llseek(8, 0, [0], SEEK_CUR)            = 0
gettimeofday({1147762539, 296968}, {300, 0}) = 0
getppid()                               = 4728
open("/dev/random", O_RDONLY|O_NONBLOCK|O_NOCTTY) = 10
select(11, [10], NULL, NULL, {0, 10000}) = 1 (in [10], left {0, 10000})
read(10, "\2%\214s\252d-\211\5\302\324\331\256\357.\27", 16) = 16
close(10)                               = 0
write(8, "\377\377\0\0\0\0012\0\22MIT-MAGIC-COOKIE-1\0\20A\262\27"..., 45) = 45
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
sendto(3, "\0\1\0\10\0.\356cC\32\0\0\0\0\0\22MIT-MAGIC-COOKIE"..., 52, 0, {sa_family=AF_INET, sin_port=htons(47645), sin_addr=inet_addr("127.0.0.1")}, 16) = 52
poll([{fd=4, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN|POLLPRI}, {fd=5, events=POLLIN|POLLPRI}, {fd=3, events=POLLIN|POLLPRI, revents=POLLIN}], 4, 0) = 1
gettimeofday({1147762539, 297709}, {300, 0}) = 0
waitpid(-1, 0xbf913624, WNOHANG)        = 0
gettimeofday({1147762539, 297789}, {300, 0}) = 0
recvfrom(3, "\0\1\0\7\0Q\0\2\1\0\0\1\0\4\300\250\1f\0\0\0\0\3\0\22M"..., 8192, 0, {sa_family=AF_INET, sin_port=htons(47645), sin_addr=inet_addr("127.0.0.1")}, [16]) = 87
time(NULL)                              = 1147762539
open("/etc/hosts.allow", O_RDONLY)      = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=523, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
read(8, "#\n# hosts.allow\tThis file descri"..., 4096) = 523
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
open("/etc/hosts.deny", O_RDONLY)       = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=431, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
read(8, "#\n# hosts.allow\tThis file descri"..., 4096) = 523
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
open("/etc/hosts.deny", O_RDONLY)       = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=431, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cfe000
read(8, "#\n# hosts.deny\tThis file describ"..., 4096) = 431
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb7cfe000, 4096)                = 0
time(NULL)                              = 1147762539
time(NULL)                              = 1147762539
pipe([8, 10])                           = 0
time(NULL)                              = 1147762539
time(NULL)                              = 1147762539
geteuid32()                             = 0
getegid32()                             = 0
geteuid32()                             = 0
getegid32()                             = 0
umask(0)                                = 022
mkdir("/tmp/.ICE-unix", 01777)          = -1 EEXIST (File exists)
lstat64("/tmp/.ICE-unix", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
chown32("/tmp/.ICE-unix", 0, 0)         = 0
chmod("/tmp/.ICE-unix", 01777)          = 0
umask(022)                              = 0
umask(0)                                = 022
mkdir("/tmp/.X11-unix", 01777)          = -1 EEXIST (File exists)
lstat64("/tmp/.X11-unix", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0
chown32("/tmp/.X11-unix", 0, 0)         = 0
chmod("/tmp/.X11-unix", 01777)          = 0
umask(022)                              = 0
geteuid32()                             = 0
getegid32()                             = 0
time(NULL)                              = 1147762539
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7eff708) = 4913
close(8)                                = 0
poll([{fd=4, events=POLLIN|POLLPRI}, {fd=7, events=POLLIN|POLLPRI}, {fd=5, events=POLLIN|POLLPRI, revents=POLLIN}, {fd=3, events=POLLIN|POLLPRI}], 4, -1) = 1
read(5, "\nGREETPID 4913 4918\n", 4095) = 20
write(10, "A\n", 2)                     = 2
kill(4913, SIGUSR2)                     = 0
sched_yield()                           = 0
poll(

And there it hangs.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]