GNOME Bugzilla – Bug 331312
gdm-2.13.0.8 looses theming, crashes when trying to run gdmsetup
Last modified: 2006-02-24 18:29:26 UTC
Steps to reproduce: I installed gdm 2.13.0.8 and attempted to login, my theme (happygnome) was gone and it was just a barebones gdm look. I can login fine but attempting to run gdmsetup from gdm would result in gdm crashing as soon as I typed in my password. I logged in and ran gdmsetup manually as root and it worked fine as soon as I clicked in the application to give it focus. It segfaulted. Now when I try to run it I just get the following error... (gdmsetup:20659): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text() *** glibc detected *** double free or corruption (out): 0x083ccf80 *** Stack trace: (gdb) bt
+ Trace 66204
Other information: I'm using clearlooks + tango currently. I have a feeling it has something to do with gtk+ theming but I could be totally off base.
I have here exactly the same situation. Upgraded to gdm-2.13.0.8 and suddenly I get the old login dialog. Normal login works from there. I wanted to switch to my graphical greeter theme through the configuration GUI, but as soon as I type in the password GDM crashes. I tried to start gdmsetup as root from gnome-terminal after login. First time it worked and I could switch to the theme and start gdm and see that it works. But then gdmsetup keeps crashing. One time I got the same glibc error. After that I keep getting pango warnings about UTF-8. The window of gdmsetup shows up fine but as soon as I click on it to get focus it segfaults.
I think you are seeing two problems. 1) In GDM 2.8.0.6 the config file has been split. Instead of using /etc/gdm/gdm.conf, GDM now uses /usr/share/gdm/defaults.conf - a place where GDM distros can install their defaults. Secondly there is /etc/gdm/custom.conf for storing user changes. The 2.8.0.6 release notes highlighted that distros should compare the users /etc/gdm/gdm.conf with the /etc/gdm/factory-gdm.conf. If they are different, this means the user has made changes to their configuration, and the package should move the gdm.conf to custom.conf to preserve user changes. I'm guessing your distro didn't do this, so you should file a bug with them. However, if your changes to your configuration are easy to redo (like just changing back to the GDM greeter and the theme you want), then either running gdmsetup or hand-editing the /etc/gdm/custom.conf file for the specific keys you want changed is better. You really want to inherit the distro defaults except for the keys you really want customized. This is a nice feature because it allows distros to update the default config if necessary (say for a security reason) and you will make use of the defaults when they update. Sorry, this is a one-time pain for distros that don't manage this for you automatically. 2) Above I suggest running gdmsetup, but it isn't working for you. It's core dumping. I think I just fixed this by making some changes to gui/gdmconfig.c It would be really useful to me if you could rebuild 2.8.0.7 with gui/gdmconfig.c from CVS head. I've attached this version of the file so you don't have to dig it out of CVS. It would be very useful to me if you could verify this fixes the core dumping issue.
Created attachment 59433 [details] [review] updated gdmconfig.c file
Created attachment 59435 [details] [review] gdmsetup.c file
Another problem was found that is probably more likely the issue that is causing your core dump. If you can rebuild GDM 2.13.0.8 and update gui/gdmconfig.c and gui/gdmsetup.c with the above two attachments and verify that the core dumping is gone, that would be much appreciated. If this fixes the problem, I'll do another 2.13.0.9 release to address this issue so people can have a working GDM out-of-the-box.
Created attachment 59445 [details] [review] updated gui/gdmconfig.c file Sorry, updated gui/gdmconfig.c to fix a bug. Try this one instead of the previous one.
Same here on Fedora rawhide. I've build a new package with your changes included, and it works for me.
Cool, glad to hear this fixes the problem. The next release of GDM should fix this issue. Thanks for reporting the issue.