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 332426 - GDMsetup immediately crashes in Dapper.
GDMsetup immediately crashes in Dapper.
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
2.13.x
Other Linux
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2006-02-24 10:33 UTC by Sebastien Bacher
Modified: 2006-03-01 10:46 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastien Bacher 2006-02-24 10:33:22 UTC
That bug has been described on https://launchpad.net/distros/ubuntu/+source/gdm/+bug/32034

"The GDM setup tool "gdmsetup" crashes every time I attempt to use it. I tried running it as "sudo gdmsetup" and I got the error:

"*** glibc detected *** free(): invalid pointer: 0x0846a230 *** Aborted."

Then I tried running it as "gksudo gdmsetup" and got this error:

"*** glibc detect8�|�8(�7ed *** double free or corruption (fasttop): 0x08461c18 ***"

I am running the latest update of dapper (gnome 2.13.91), although it did it with gnome 2.13.90 too.
...
> Thanks for your bug. Could you get a backtrace of the crash of a valgrind log? - sudo gdb gdmsetup
> (gdb) run
> ... crash
> (gdb) thread apply all bt

> Or install valgrind and run "sudo valgrind gdmsetup"

> You can copy the log to a comment. Did you have any custom value to /etc/gdm/gdm.conf-custom?
...
Updated libpango and got your custom package to install. Unfortunately, gdmsetup is no longer crashing like it was before, so I don't know if this valgrind will help or not?"
 
I copy some part of the user comment valgrind log which seems to point issues with gdm:

"==21124== Invalid read of size 1
==21124==    at 0x48B6C91: strstr (in /lib/tls/i686/cmov/libc-2.3.6.so)
==21124==    by 0x480437A: g_strsplit (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x80542E7: setup_include_exclude (gdmsetup.c:1722)
==21124==    by 0x80553D0: setup_face (gdmsetup.c:2127)
==21124==    by 0x8057A2E: setup_users_tab (gdmsetup.c:2957)
==21124==    by 0x8060385: setup_gui (gdmsetup.c:6271)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)
==21124==  Address 0x4A9C6E0 is 0 bytes inside a block of size 1 free'd
==21124==    at 0x401CFCF: free (vg_replace_malloc.c:235)
==21124==    by 0x47F2EDB: g_free (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x8063823: _gdm_config_get_string (gdmconfig.c:371)
==21124==    by 0x8063870: gdm_config_get_string (gdmconfig.c:381)
==21124==    by 0x80614FB: gdm_users_init (gdmuser.c:314)
==21124==    by 0x8053DA0: setup_user_combobox_list (gdmsetup.c:1619)
==21124==    by 0x8053F3D: setup_user_combobox (gdmsetup.c:1649)
==21124==    by 0x805C9F8: setup_security_tab (gdmsetup.c:5002)
==21124==    by 0x8060380: setup_gui (gdmsetup.c:6270)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)
==21124==
==21124== Invalid read of size 1
==21124==    at 0x48043B6: g_strsplit (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x80542E7: setup_include_exclude (gdmsetup.c:1722)
==21124==    by 0x80553D0: setup_face (gdmsetup.c:2127)
==21124==    by 0x8057A2E: setup_users_tab (gdmsetup.c:2957)
==21124==    by 0x8060385: setup_gui (gdmsetup.c:6271)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)
==21124==  Address 0x4A9C6E0 is 0 bytes inside a block of size 1 free'd
==21124==    at 0x401CFCF: free (vg_replace_malloc.c:235)
==21124==    by 0x47F2EDB: g_free (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x8063823: _gdm_config_get_string (gdmconfig.c:371)
==21124==    by 0x8063870: gdm_config_get_string (gdmconfig.c:381)
==21124==    by 0x80614FB: gdm_users_init (gdmuser.c:314)
==21124==    by 0x8053DA0: setup_user_combobox_list (gdmsetup.c:1619)
==21124==    by 0x8053F3D: setup_user_combobox (gdmsetup.c:1649)
==21124==    by 0x805C9F8: setup_security_tab (gdmsetup.c:5002)
==21124==    by 0x8060380: setup_gui (gdmsetup.c:6270)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)
==21124==
==21124== Invalid read of size 1
==21124==    at 0x48B6C91: strstr (in /lib/tls/i686/cmov/libc-2.3.6.so)
==21124==    by 0x480437A: g_strsplit (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x8054335: setup_include_exclude (gdmsetup.c:1724)
==21124==    by 0x80553EA: setup_face (gdmsetup.c:2129)
==21124==    by 0x8057A2E: setup_users_tab (gdmsetup.c:2957)
==21124==    by 0x8060385: setup_gui (gdmsetup.c:6271)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)
==21124==  Address 0x4A9CCD8 is 0 bytes inside a block of size 89 free'd
==21124==    at 0x401CFCF: free (vg_replace_malloc.c:235)
==21124==    by 0x47F2EDB: g_free (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x8063823: _gdm_config_get_string (gdmconfig.c:371)
==21124==    by 0x8063870: gdm_config_get_string (gdmconfig.c:381)
==21124==    by 0x806157A: gdm_users_init (gdmuser.c:321)
==21124==    by 0x8053DA0: setup_user_combobox_list (gdmsetup.c:1619)
==21124==    by 0x8053F3D: setup_user_combobox (gdmsetup.c:1649)
==21124==    by 0x805C9F8: setup_security_tab (gdmsetup.c:5002)
==21124==    by 0x8060380: setup_gui (gdmsetup.c:6270)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)
==21124==
==21124== Invalid read of size 1
==21124==    at 0x401E898: strncpy (mac_replace_strmem.c:290)
==21124==    by 0x4804449: g_strsplit (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x8054335: setup_include_exclude (gdmsetup.c:1724)
==21124==    by 0x80553EA: setup_face (gdmsetup.c:2129)
==21124==    by 0x8057A2E: setup_users_tab (gdmsetup.c:2957)
==21124==    by 0x8060385: setup_gui (gdmsetup.c:6271)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)
==21124==  Address 0x4A9CCD8 is 0 bytes inside a block of size 89 free'd
==21124==    at 0x401CFCF: free (vg_replace_malloc.c:235)
==21124==    by 0x47F2EDB: g_free (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x8063823: _gdm_config_get_string (gdmconfig.c:371)
==21124==    by 0x8063870: gdm_config_get_string (gdmconfig.c:381)
==21124==    by 0x806157A: gdm_users_init (gdmuser.c:321)
==21124==    by 0x8053DA0: setup_user_combobox_list (gdmsetup.c:1619)
==21124==    by 0x8053F3D: setup_user_combobox (gdmsetup.c:1649)
==21124==    by 0x805C9F8: setup_security_tab (gdmsetup.c:5002)
==21124==    by 0x8060380: setup_gui (gdmsetup.c:6270)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)"


That seems to point a leak too:

"==21124== 286 bytes in 12 blocks are definitely lost in loss record 112 of 218
==21124==    at 0x401C422: malloc (vg_replace_malloc.c:149)
==21124==    by 0x48A777B: vasprintf (in /lib/tls/i686/cmov/libc-2.3.6.so)
==21124==    by 0x4812490: g_vasprintf (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x4802F30: g_strdup_vprintf (in /usr/lib/libglib-2.0.so.0.902.4)==21124==    by 0x4802F50: g_strdup_printf (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x8063909: _gdm_config_get_translated_string (gdmconfig.c:414)
==21124==    by 0x80639A1: gdm_config_get_translated_string (gdmconfig.c:434)
==21124==    by 0x8056C58: setup_greeter_untranslate_entry (gdmsetup.c:2600)
==21124==    by 0x805EADF: setup_local_welcome_message (gdmsetup.c:5775)
==21124==    by 0x805EB3F: setup_local_plain_settings (gdmsetup.c:5803)
==21124==    by 0x805EB4C: setup_local_tab (gdmsetup.c:5809)
==21124==    by 0x8060371: setup_gui (gdmsetup.c:6267)
==21124==
==21124==
==21124== 350 bytes in 5 blocks are definitely lost in loss record 120 of 218
==21124==    at 0x401D89D: realloc (vg_replace_malloc.c:306)
==21124==    by 0x48A7754: vasprintf (in /lib/tls/i686/cmov/libc-2.3.6.so)
==21124==    by 0x4812490: g_vasprintf (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x4802F30: g_strdup_vprintf (in /usr/lib/libglib-2.0.so.0.902.4)==21124==    by 0x4802F50: g_strdup_printf (in /usr/lib/libglib-2.0.so.0.902.4)
==21124==    by 0x8058F8B: read_themes (gdmsetup.c:3411)
==21124==    by 0x805D23A: setup_local_themed_settings (gdmsetup.c:5241)
==21124==    by 0x805EB51: setup_local_tab (gdmsetup.c:5810)
==21124==    by 0x8060371: setup_gui (gdmsetup.c:6267)
==21124==    by 0x8060B18: main (gdmsetup.c:6527)"
Comment 1 Brian Cameron 2006-02-24 23:51:27 UTC
Thanks for pointing out some of the above leaks.  I updated the code in CVS head so that the leaks you point out should be gone.  

I also think that the core dumping problem was fixed already on February 15th (see ChangeLog).

Could you test with building from CVS head and tell me if you are seeing gdmsetup work better? 
Comment 2 Islam Amer 2006-02-25 08:26:20 UTC
I've found this problem and building from cvs fixes it. Although CVS is missing the Makefile.in for UK docs. Thanks for fixing this.
Comment 3 Sebastien Bacher 2006-02-25 11:56:45 UTC
I've just tried the CVS, it was not crashing before so I'm not sure about it but it fixes the valgrind issue that I had before. I'll upload the package of new tarball for GNOME 2.13.92 when it's rolled and comment to confirm if that's fixed for the different users who had the issue
Comment 4 Brian Cameron 2006-02-27 20:55:52 UTC
Ok, I think I fixed the problem in CVS.  Thanks for the debug info, I think that pinpointed the problem.  I'm doing a release later today, can you test if this fixes the problem for you?
Comment 5 Brian Cameron 2006-02-28 01:10:03 UTC
It sounds like this problem is fixed.  Reopen the bug if you see the problem again in the 2.13.0.9 release.
Comment 6 Sebastien Bacher 2006-03-01 10:46:02 UTC
The new version works fine according to the Ubuntu users comments on that, thank you!