Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 130663 - gnome-settings-daemon from gnome 2.14 crashes
Summary: gnome-settings-daemon from gnome 2.14 crashes
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Gentoo Linux Gnome Desktop Team
URL: https://launchpad.net/malone/bugs/33077
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-20 14:23 UTC by Marcin Deranek
Modified: 2006-04-23 15:38 UTC (History)
0 users

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


Attachments
Test program which compiled with '-O -ftree-vectorize' crashes (test.c,389 bytes, text/plain)
2006-04-23 15:12 UTC, Marcin Deranek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marcin Deranek 2006-04-20 14:23:44 UTC
Trying to run gnome-settings-daemon from gnome 2.14 crashes. Here is the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47454488024736 (LWP 21738)]
0x00002aaaaaf0deca in oil_test_new () from /usr/lib/liboil-0.3.so.0

(gdb) thread apply all bt

Thread 2 (Thread 1082132816 (LWP 21694)):
#0  0x00002b855cad6b9b in __read_nocancel () from /lib/libpthread.so.0
#1  0x00002b855d1e0d84 in g_main_context_wakeup () from /usr/lib/libglib-2.0.so.0
#2  0x00002b855d1fca14 in g_thread_create_full () from /usr/lib/libglib-2.0.so.0
#3  0x00002b855cad134a in start_thread () from /lib/libpthread.so.0
#4  0x00002b855d40722e in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 47851802064544 (LWP 21689)):
#0  0x00002aaaaaf0deca in oil_test_new () from /usr/lib/liboil-0.3.so.0
#1  0x00002aaaaaf07d13 in oil_init () from /usr/lib/liboil-0.3.so.0
#2  0x00002aaaaaf098f9 in oil_test_init () from /usr/lib/liboil-0.3.so.0
#3  0x00002aaaaaf06552 in oil_cpu_fault_check_try () from /usr/lib/liboil-0.3.so.0
#4  0x00002aaaaaf09a9d in oil_test_check_impl () from /usr/lib/liboil-0.3.so.0
#5  0x00002aaaaaf07542 in oil_class_optimize () from /usr/lib/liboil-0.3.so.0
#6  0x00002aaaaaf07723 in oil_optimize_all () from /usr/lib/liboil-0.3.so.0
#7  0x00002aaaaaf077da in oil_init () from /usr/lib/liboil-0.3.so.0
#8  0x00002aaaaadbf355 in resample_init () from /usr/lib64/gstreamer-0.10/libgstaudioresample.so
#9  0x00002aaaaadbd479 in gst_audioresample_get_type () from /usr/lib64/gstreamer-0.10/libgstaudioresample.so
#10 0x00002b855c628c4c in _gst_plugin_initialize () from /usr/lib/libgstreamer-0.10.so.0
#11 0x00002b855c629128 in gst_plugin_load_file () from /usr/lib/libgstreamer-0.10.so.0
#12 0x00002b855c62df8b in gst_registry_lookup () from /usr/lib/libgstreamer-0.10.so.0
#13 0x00002b855c5f8917 in gst_init () from /usr/lib/libgstreamer-0.10.so.0
#14 0x00002b855d1ec6bd in g_option_context_parse () from /usr/lib/libglib-2.0.so.0
#15 0x00002b855c5f7fc5 in gst_init_check () from /usr/lib/libgstreamer-0.10.so.0
#16 0x00002b855c5f8024 in gst_init () from /usr/lib/libgstreamer-0.10.so.0
#17 0x0000000000423b2a in acme_volume_gstreamer_get_type ()
#18 0x00002b855c7abbaf in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
#19 0x00002b855c791c6f in g_object_newv () from /usr/lib/libgobject-2.0.so.0
#20 0x00002b855c792131 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
#21 0x00002b855c7922d1 in g_object_new () from /usr/lib/libgobject-2.0.so.0
#22 0x00000000004235da in acme_volume_new ()
#23 0x0000000000412719 in gnome_settings_multimedia_keys_load ()
#24 0x000000000041111d in gnome_settings_daemon_new ()
#25 0x000000000040fae7 in main ()
(gdb)

It seems the problem is already known (look at URL provided).

Portage 2.1_pre7-r5 (default-linux/amd64/2005.1, gcc-4.1.0, glibc-2.4-r1, 2.6.16-beyond2 x86_64)
=================================================================
System uname: 2.6.16-beyond2 x86_64 AMD Athlon(tm) 64 Processor 3500+
Gentoo Base System version 1.12.0_pre17
ccache version 2.4 [enabled]
dev-lang/python:     2.4.2-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=athlon64 -mtune=athlon64 -ftracer -ftree-vectorize -fprefetch-loop-arrays -floop-optimize2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon64 -mtune=athlon64 -ftracer -ftree-vectorize -fprefetch-loop-arrays -floop-optimize2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://mirror.nutsmaas.nl/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X a52 aac aalib accessibility acpi adns alsa apm audiofile avi bash-completion bcmath berkdb bidi bindist bitmap-fonts bluetooth bzip2 cairo cdparanoia cdr clamav cli crypt cscope ctype cups curl curlwrappers dga dio directfb dri dts dv dvb dvd dvdr dvdread emul-linux-x86 encode evo exif expat fbcon ffmpeg fftw flac flatfile foomaticdb ftp gb gcj gd gdbm ggi gif ginac glitz glut gmp gnome gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal iconv idn imagemagick imlib ipv6 isdnlog java javascript jikes jpeg jpeg2k lcms lesstif libcaca libedit libgda libwww lm_sensors lzw lzw-tiff m17n-lib mad maildir matroska mbox mcal memlimit mhash mikmod mime mmap mng mono motif mp3 mpeg mpi msession ncurses nls nptl nsplugin offensive ogg oggvorbis openal opengl osc oss pam pcntl pcre pda pdf pdflib perl pic plotutils png portaudio posix ppds pppd python quicktime readline recode reflection scanner sdl session sharedmem shorten simplexml skey slang slp sndfile snmp sockets sox speex spell ssl svg sysvipc szip tcltk tcpd test theora threads tidy tiff truetype truetype-fonts type1-fonts unicode usb v4l vcd videos vorbis wifi wmf wxwindows x264 xine xinerama xml xml2 xmlrpc xosd xpm xsl xv xvid yaz zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_fglrx"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS
Comment 1 Daniel Gryniewicz (RETIRED) gentoo-dev 2006-04-20 14:52:52 UTC
Please try again with liboil built without -ftree-vectorize
-fprefetch-loop-arrays -floop-optimize2.  liboil does it's own optimization for vector loops, and will likely interact badly with these options.  You may also need to remove these flags for other parts of your system (CFLAGS beyond basic -O and -march flags are known to cause random problems throughout various packages)
Comment 2 Marcin Deranek 2006-04-21 06:08:04 UTC
I have already tried to compile it with empty CFLAGS (liboil uses -O2 anyway) and it looks like it works..
In the evening I'll try to figure out which compilation flag is causing those problems (for the record) and then I believe we can close the bug report..
Comment 3 Marcin Deranek 2006-04-21 22:17:29 UTC
It looks like compiling liboil without '-ftree-vectorize' solves the problem, but here comes something I cannot understand...
To fix the problem you have to recompile liboil without '-ftree-vectorize' flag AND recompile gst-plugins-base package otherwise gnome-settings-daemon still crashes. Surprisingly recompiling liboil afterwards with usual CFLAGS (including -ftree-vectorize) doesn't break it. This would indicate that liboil is used statically, but it's not:
gringo@sun ~ $ ldd /usr/lib64/gstreamer-0.10/libgstaudioresample.so |grep liboil        liboil-0.3.so.0 => /usr/lib/liboil-0.3.so.0 (0x00002ae542899000)
Besides segfault happened in shared liboil library.. Any ideas ?
Comment 4 Daniel Gryniewicz (RETIRED) gentoo-dev 2006-04-23 14:18:42 UTC
Either that or the problem is actually in gstreamer and not liboil at all.  I only picked on liboil because it's related to vector processing, and it was in the backtrace.  The moral of the story is: don't play with your CFLAGS.  It won't greatly help, but it will greatly destablize your system.
Comment 5 Marcin Deranek 2006-04-23 15:09:25 UTC
Seems like liboil code causes program to crash, but it is gcc fault (I believe bug should be escalated to gcc porting team). I have extracted a sample function from liboil code which is causing the code to crash (please see the attached file).
When I compile the code with eg. CFLAGS=-O3 everything seems to work fine, but setting CFLAGS to '-O -ftree-vectorize' causes program to crash.
Can anyone confirm that ? I have only one AMD64 machine with gcc-4.1 installed.
Comment 6 Marcin Deranek 2006-04-23 15:12:38 UTC
Created attachment 85308 [details]
Test program which compiled with '-O -ftree-vectorize' crashes

Works:
gcc -O3 test.c; ./a.out

Segfaults:
gcc -O -ftree-vectorize test.c; ./a.out
Comment 7 Daniel Gryniewicz (RETIRED) gentoo-dev 2006-04-23 15:38:49 UTC
No, take it upstream to gcc.  We (gentoo) don't support flags like -ftree-vectorize.