Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 458668 - gnome-base/gnome-control-center-3.6.3-r1[-kerberos]: segmentation fault when adding an user and maybe broken handling of kerberos flag
Summary: gnome-base/gnome-control-center-3.6.3-r1[-kerberos]: segmentation fault when ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: NeedPatch
: 475526 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-02-22 00:32 UTC by Sławomir Nizio
Modified: 2013-07-28 18:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
fix (gnome-control-center-kerberos-fixup.patch,268 bytes, patch)
2013-02-22 00:33 UTC, Sławomir Nizio
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sławomir Nizio 2013-02-22 00:32:28 UTC
Let me start with steps to reproduce:
- launch gnome-control-center,
- click on users applet,
- unlock the thing,
- click [+] to try to add an user.
This happens, with a segmentation fault.
(gnome-control-center:30279): Gtk-CRITICAL **: gtk_toggle_button_get_active: assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed

(gnome-control-center:30279): Gtk-CRITICAL **: gtk_bin_get_child: assertion `GTK_IS_BIN (bin)' failed

The problem is with the Gentoo patch gnome-control-center-3.5.91-optional-kerberos.patch. The bug occurs in panels/user-accounts/um-account-dialog.c, in function mode_change. Let's assume kerberos disabled (if it's not, the bug should not occur). Because NUM_MODES = 2, the loop executes two times. However the second time it executes, button = NULL. And it's the culprit. It's NULL (and perhaps other elements related to blah[UM_ENTERPRISE == 2] are too), because: around line 1024, stuffs like 'self->mode_areas[UM_ENTERPRISE] = widget' are excluded because of the #ifdef KERBEROS, so it's not set, so it's NULL.

I'm attaching a patch that should be attached on top of the current patch that fixes it. However, you may want to take a second look, and maybe also correct the patch submitted upstream.

Without the Gentoo patch it works.



Regarding "maybe broken handling of kerberos USE flag": it shouldn't happen if USE=kerberos is on, unless something else is bad in the patch, but it does. So maybe the flag has no effect - but it needs to be checked. But if I compiled g-c-center without the 'epatch … kerberos…patch' part, I got a different 'add user' dialog.

Reproducible: Always
Comment 1 Sławomir Nizio 2013-02-22 00:33:09 UTC
Created attachment 339652 [details, diff]
fix
Comment 2 Sławomir Nizio 2013-02-22 00:36:32 UTC
s/UM_ENTERPRISE == 2/UM_ENTERPRISE == 1/

Portage 2.2.0_alpha142 (default/linux/x86/13.0/desktop, gcc-4.6.3-vanilla, glibc-2.15-r2, 3.6.0-sabayon i686)
=================================================================
System uname: Linux-3.6.0-sabayon-i686-AMD_Athlon-tm-_XP_1700+-with-gentoo-2.2
Timestamp of tree: Sat, 16 Feb 2013 16:30:01 +0000
ld GNU ld (GNU Binutils) 2.22
ccache version 3.1.8 [disabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.6.6-r2, 2.7.3-r2, 3.2.3-r1
dev-util/ccache:          3.1.8
dev-util/cmake:           2.8.10.2-r1
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2::sabayon-distro
sys-apps/openrc:          0.11.8::sabayon-distro
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.69
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3::sabayon-distro
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.4 (virtual/os-headers)
sys-libs/glibc:           2.15-r2::sabayon-distro
Repositories: gentoo user_defined sabayon sabayon-distro
Installed sets: @system
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/entropy /usr/share/config/kdm /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/skel /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/var/tmp/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs candy collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2 -s "
PKGDIR="/var/tmp/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/t /var/lib/ov/for-gentoo /var/lib/ov/sabayon"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac accessibility acl acpi aiglx aim alsa artswrappersuid audiofile avahi bash-completion berkdb bidi bluetooth bzip2 cairo cdda cddb cdr cjk cli consolekit cpudetection cracklib crypt cups cxx dbus dga dri dts dv dvb dvd dvdr dvdread dvi emboss encode exif fam fame fat ffmpeg firefox flac foomatic-db fortran freetype gcj gdbm gif gimpprint gmp gnutls gphoto2 gpm gsm gtk hal hfs iconv icq ieee1394 imap inotify ipod ipv6 irc irda jabber jack jfs joystick jpeg kde kdeenablefinal kdehiddenvisibility kerberos lame lcd lcms ldap libnotify live lm_sensors lzo mad mail matroska mjpeg mmx mng modules mozdevelop mp3 mp3rtp mp4 mpeg msn mudflap musepack musicbrainz ncurses network nls nptl nsplugin ntfs ogg openal openexr opengl openmp pam pango pcmcia pcre pda pdf perl png policykit ppds pulseaudio python qt3support qt4 rar rdesktop readline reiserfs rss scanner sdl session slp speex spell ssl startup-notification stream svg sysfs tcpd theora tiff truetype udev udisks unicode upower usb v4l v4l2 visualization vorbis wifi win32codecs wmf wxwidgets x264 x86 xcb xfs xine xinerama xml xpm xprint xulrunner xv xvid xvmc yahoo zeroconf zlib" ALSA_CARDS="emu10k1x darla20 darla24 emu10k1 gina20 gina24 hdsp hdspm ice1712 indigo indigoio layla20 layla24 mia mixart mona pcxhr rme32 rme96 sb16 sbawe sscape usbusx2y vx222 usb-usx2y" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="agfa_cl20 casio_qv dimagev dimera3500 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica_qm150 panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ricoh_g3 sipix_blink sipix_blink2 sipix_web2 sony_dscf1 sony_dscf55 toshiba_pdrm11 adc65 aox barbie canon clicksmart310 digigr8 digita directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 konica largan lg_gsm mars mustek pccam300 pccam600 ptp2 ricoh samsung sierra smal sonix soundvision spca50x sq905 stv0674 stv0680 sx330z template" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US af ar az bg bn br bs ca cs cy da de el en_GB eo es et eu fa fi fr fy ga gl he hi hr hu is it ja kk km ko lt lv mk mn ms nb nds nl nn pa pl pt pt_BR ro ru rw se sk sl sr sr@Latn ss sv ta tg tr uk uz vi zh_CN zh_TW es_AR es_ES fy_NL ga_IE gu gu_IN nb_NO nn_NO pt_PT sv_SE zh" LIRC_DEVICES="audio audio_alsa serial" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python2_6 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev vesa nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.6 2.7 3.2"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

It's Sabayon, but someone on a Gentoo channel confirmed it.
Comment 3 Alexandre Rostovtsev (RETIRED) gentoo-dev 2013-02-22 15:17:46 UTC
Confirmed; thanks for reporting. We should review the optional-kerberos patch to make sure there aren't other similar problems with it.
Comment 4 Sławomir Nizio 2013-02-22 16:35:25 UTC
Regarding bug title change: to be clear, I've experienced it with the kerberos flag enabled, not disabled (the flag handling seems broken here). However the crash probably occurs with 'kerberos' disabled too.

Thanks for looking into it.
Comment 5 Pacho Ramos gentoo-dev 2013-07-27 11:25:52 UTC
*** Bug 475526 has been marked as a duplicate of this bug. ***
Comment 6 Alexandre Rostovtsev (RETIRED) gentoo-dev 2013-07-28 18:45:06 UTC
Fixed in 3.8.4.1-r1, sorry for the wait.

+*gnome-control-center-3.8.4.1-r1 (28 Jul 2013)
+
+  28 Jul 2013; Alexandre Rostovtsev <tetromino@gentoo.org>
+  +gnome-control-center-3.8.4.1-r1.ebuild,
+  +files/gnome-control-center-3.8.4-optional-kerberos.patch:
+  Fix optional-kerberos patch (bug #458668, thanks to SN (Enlik)). Require
+  mit-krb5 when USE=kerberos, since building against heimdal fails.