After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 349640 - Themes with userlist browser do not work
Themes with userlist browser do not work
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
2.15.x
Other All
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2006-08-02 08:48 UTC by Guillaume Bedot
Modified: 2006-08-03 16:45 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
don't setup io channel until after processing faces. (1.49 KB, patch)
2006-08-03 05:57 UTC, Ray Strode [halfline]
none Details | Review

Description Guillaume Bedot 2006-08-02 08:48:53 UTC
Please describe the problem:
When using a theme with a user browser in gdm, the display manager fails to display anything but a "waiting" mouse cursor.

To have the dm working again you have to set back the theme to something working like happygnome or circles, editing gdm.conf within a console.

Steps to reproduce:
1. launch gdmsetup
2. select graphical theme / happygnome-list
3. go back to gdm if already logged in


Actual results:
The display manager fails to display anything but a "waiting" mouse cursor.

Expected results:
The display manager should work, with the happygnome-list, or an other theme  and display some error or such.

Does this happen every time?
Yes

Other information:
To have the dm working again you have to set back the theme to something working like happygnome or circles, editing gdm.conf manually.
Comment 1 Guillaume Bedot 2006-08-02 08:51:29 UTC
I suggest using gdm in Xnest for testing as the bug happens as well (well you already know for sure)
Comment 2 Brian Cameron 2006-08-03 02:44:52 UTC
Hmmm - I've spent the past few hours looking into this.  I can reproduce the problem.  I suspect that this problem was introduced by Ray Strode's change of how messages are handled.  See commits on 08/18 and 07/21.

I notice that it seems that the slave (gdmgreeter) crashes soon after receiving a message that seems to contain NULL characters.

I notice in the daemon/slave.c function run_pictures that the code seems to be doing something weird like send the face image from the daemon to the slave through the pipe.  I believe this is done because only the daemon running as root has a real chance of being able to access files in the user's $HOME directory, not the slave running as GDM.

I'm not sure Ray's code was written to handle this well.

I find it strange that gdmlogin seems to work okay when the face browser is turned on, since it should be getting the same messages. 

I'm cc:ing Ray on this bug in the hopes that he may have some ideas.  After digging into it this long, I've just been able to narrow down where the problem is happening.
Comment 3 Brian Cameron 2006-08-03 03:00:34 UTC
Hmm, I also seem to notice that gdmsetup seems to have problems hanging when greeter/Include has a value.  It seems to suspeciously be in the same gdm_user logic.  gdmsetup doesn't really grab the images, but it does validate the users to display in the "Users" tab which possibly does cause some talking between the daemon and gdmsetup.
Comment 4 Brian Cameron 2006-08-03 03:05:35 UTC
Oh, ignore that last comment - I just had my environment messed up after doing some debug.  Sorry.
Comment 5 Ray Strode [halfline] 2006-08-03 05:57:30 UTC
Created attachment 70112 [details] [review]
don't setup io channel until after processing faces.

One of the changes I made when reworking that code was to make the message input nonblocking. The face browser code expects blocking i/o to work correctly, I think.

The reason the standard greeter works is because it gets all the face setup code taken care of before setting up the IO channel.

The above patch makes the themed greeter behave the same way.  Can you guys confirm that the patch fixes the problem you're seeing?
Comment 6 Guillaume Bedot 2006-08-03 11:23:01 UTC
Many thanks :) And you were quick !

The patch corrected the bug from my point of view.
Will it be included in the next release ?
Comment 7 Brian Cameron 2006-08-03 16:45:32 UTC
Thanks Ray, I applied the patch to the 2.15 branch.