Bug 355601

Summary: gdm segfaults trying to connect to another host via xdmcp
Product: [Fedora] Fedora Reporter: Msquared <142.bugzilla.redhat>
Component: gdmAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 8   
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: 2008-01-08 09:56:42 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 Msquared 2007-10-28 04:03:07 UTC
Description of problem:

Trying to connect to a different host via F10 -> Remote Login via XDMCP causes
the connecting session to crash before showing the login screen, and returns to
the local login screen.


Version-Release number of selected component (if applicable):

Fedora 8 Test 3 with latest updates as of 28-Oct-2007, including:
gdm-2.20.1-5.fc8


How reproducible:

Always


Steps to Reproduce:
1. Turn on machine
2. At login screen, press F10
3. At popup menu, select Remote Login via XDMCP
4. At host list, choose any host (even fails with local machine)
5. Click on Connect
  
Actual results:

The screen briefly changes, then returns to the local login screen.  In about a
dozen attempts I have seen the remote login screen show up once, but it
disappeared again after about a second.


Expected results:

The login screen for the remote machine should be presented, and I should be
able to log in to the remote machine.


Additional info:

I have tested and demonstrated this bug with FC4, FC7, FC8T3, and CentOS5 remote
hosts.  All (mis)behave as described above.  This bug occurs both with a normal
login after boot, and when trying to use 'gdmflexiserver -l' to connect to a
remote machine.

/var/log/messages entries from a sample failed remote login:

Oct 28 12:43:07 neuromancer gdmchooser[3087]: GLib-GObject-WARNING:
gsignal.c:1019: unable to lookup signal "activate" of unloaded type `GtkMenuItem'
Oct 28 12:43:17 neuromancer kernel: gdm-binary[3091]: segfault at 000004d0 eip
0014e328 esp bfb6bd40 error 4
Oct 28 12:43:17 neuromancer gdm-binary[2721]: WARNING: gdm_cleanup_children:
child 3091 crashed of signal 11
Oct 28 12:43:17 neuromancer gdm-binary[2721]: WARNING: gdm_cleanup_children:
Slave crashed, killing its children

/var/log/messages entries from the failed remote login where I did briefly see
the remote login screen:

Oct 28 12:56:40 neuromancer gdmchooser[3660]: GLib-GObject-WARNING:
gsignal.c:1019: unable to lookup signal "activate" of unloaded type `GtkMenuItem'
Oct 28 12:56:49 neuromancer kernel: gdm-binary[3663]: segfault at 000004d0 eip
0014e328 esp bfb6bd40 error 4
Oct 28 12:56:49 neuromancer gdm-binary[2721]: WARNING: gdm_cleanup_children:
child 3663 crashed of signal 11
Oct 28 12:56:49 neuromancer gdm-binary[2721]: WARNING: gdm_cleanup_children:
Slave crashed, killing its children

Comment 1 Msquared 2007-10-31 12:29:44 UTC
I'd like to see this one fixed for F8 release, since using domain 0's login
screen and/or gdmflexiserver is a nice way to connect to a Xen-hosted X-based
guest without the mouse-pointer sync issue and display lag associated with VNC.

Also, I use XDMCP to access other physical machines on my nework, and I want to
upgrade/reinstall my workstation to F8.

Comment 2 Ray Strode [halfline] 2007-10-31 13:31:56 UTC
Hi,

we probably won't be able to look at this before the F8 release, unfortunately.
 We should investigate and fix it in an F8 Update, though.

Comment 3 Msquared 2007-11-01 05:45:06 UTC
That's cool.  If there's anything I can do to help track it down, let me know.

Comment 4 Mathias De Belder 2007-12-02 12:38:40 UTC
I've just been bitten by this bug too when trying to connect with xdmcp from a
Fedora 8 machine (x86_64) to another physical host on the network. The other
machine (running NetBSD and XFree86's 4.5 xdm server) gets this in its xdm.log file:

Warning: Cannot convert string
"-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1" to type FontStruct
Warning: Cannot convert string
"-adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1" to type FontStruct
Warning: Cannot convert string
"-adobe-helvetica-bold-o-normal--24-240-75-75-p-138-iso8859-1" to type FontStruct
xdm error (pid 4603): fatal IO error 32 (Broken pipe)

The remote greeter screen is visible for a very brief moment before gdm crashes
and returns to whatever was there before (an already started local X11 session
in my case).


Comment 5 Ray Strode [halfline] 2007-12-02 23:17:25 UTC
Hi guys,

A number of xdmcp related fixes are in the gdm in -updates-testing.  Would you
guys mind trying it out?

Comment 6 Mathias De Belder 2007-12-03 16:20:34 UTC
I can confirm that the problem disappears after updating gdm to
'gdm-2.20.2-1.fc8' from updates-testing. gdm no longer crashes when showing a
remote, xdmcp initiated greeter.

Thank you for the pointer to the updated version.

Comment 7 Ray Strode [halfline] 2007-12-03 16:33:59 UTC
thanks for the confirmation, i've requested the package be pushed to -updates

Comment 8 Msquared 2007-12-03 16:43:38 UTC
The update fixes the problem for me too, but I did notice a small glitch that
might be part of the update.

After updating, I launch "gdmflexiserver -l", press F10, then select 'Remote
Login via XDMCP'.  I then see a popup error:

Cannot run chooser
The chooser version (2.20.2) does not match the daemon version (2.20.1).  You
have probably upgraded GDM.  Please restart the GDM daemon or the computer.

I was logged in to X as a normal user and ran the yum update on the testing repo
from a root VT (while still logged in to X as the normal user).

Logging out of X and back in again fixed it.

Perhaps the gdm package needs to restart the GDM daemon when it's updated/installed?

Comment 9 Ray Strode [halfline] 2007-12-03 16:51:48 UTC
So it can't actually restart the daemon, because that would kill your running
session.

Comment 10 Msquared 2007-12-03 17:04:00 UTC
Good point.  You know, that did actually occur to me after I posted, as I
remembered that gdm stands for Gnome Display Manager.  :o)