First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 70886
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gstreamer Herd <gstreamer@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Chris Irwin <chris@cidesign.ca>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 70886 depends on: Show dependency tree
Show dependency graph
Bug 70886 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-11-11 16:20 0000
Running gst-register-0.8 caused a segfault while registering plugins. I
narrowed this down to the files libgstmodplug.so and/or libgstmodplug.la in
/usr/lib/gstreamer-0.8/ . ldd reports libgstmodplug.so has all required links. 

Removing and remerging gstreamer and gst-plugins (only, leaving other plugins
out for now) still causes gst-register-0.8 to fail.

After some googling, I came across the following entry on the freebsd-gnome
mailing list. 
http://lists.freebsd.org/pipermail/freebsd-gnome/2004-September/008265.html

I first tried recomiling without my --march setting, and it continued to have
the same issue. 

Recompiling gstreamer and gst-plugins with CFLAGS="" and CXXFLAGS="" corrected
the issue. I've readded all other required gst-plugins (-alsa, -ogg, etc) with
the same cflags settings and everything is working as expected.

Note that this is an entirely ~x86 system.

Reproducible: Always
Steps to Reproduce:
1. emerge gstreamer
2. gst-register-0.8
3. 

Actual Results:  
gst-register segfaults.

Expected Results:  
gst-register registers all plugins, and I can listen to music.


Portage 2.0.51-r3 (gcc34-x86-2004.2, gcc-3.4.3, glibc-2.3.4.20041102-r0,
2.6.8-ck4 i686)
=================================================================
System uname: 2.6.8-ck4 i686 Unknown CPU Typ
Gentoo Base System version 1.6.6
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-Os -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-Os -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks fixpackages sandbox"
GENTOO_MIRRORS="http://mirrors.tds.net/gentoo
ftp://ftp.ndlug.nd.edu/pub/gentoo/
http://mirror.datapipe.net/gentoo http://adelie.polymtl.ca/
ftp://mirrors.tds.net/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X acpi aim alsa apm avi berkdb bindist bitmap-fonts bonobo cdinstall
cdparanoia cdr crypt cups dga divx4linux dvd encode esd f77 fam foomaticdb
fortran gdbm gif gnome gstreamer gtk gtk2 icq imagemagick imlib jpeg libg++
libwww lm_sensors mad mikmod mmx mono motif mozilla moznocompose moznoirc
moznomail mozsvg mpeg mpeg4 mplayer msn ncurses nls no_wxgtk1 nowin nptl
offensive oggvorbis opengl oss pam pda pdflib perl png python quicktime radeon
readline samba sdl slang spell sse ssl svga tcpd tiff truetype unicode usb v4l
wxwindows x86 xml2 xosd xrandr xv yahoo zlib"

------- Comment #1 From Chase Covello 2004-11-15 20:07:55 0000 -------
I'd like to add that I ran into the same problem on ~x86 and CFLAGS didn't fix
it, but switching to gcc-3.3.4 did. Is this a problem with gstreamer or gcc?

------- Comment #2 From Chris Irwin 2004-11-15 21:07:26 0000 -------
I'm on gcc 3.4.3 when I tried this.

------- Comment #3 From foser (RETIRED) 2004-11-16 02:56:45 0000 -------
it might be '-Os' with a certain compiler, to check that the reporter should
compile with say gcc-3.3 or gcc-2

------- Comment #4 From Lisa Seelye (RETIRED) 2004-12-26 20:18:45 0000 -------
I just tried this.

With gcc 3.4.3,
CFLAGS="-march=pentium4 -Os -pipe"  -- Failure
CFLAGS="-march=pentium4 -O -pipe"   -- Failure
CFLAGS=""                           -- Failure

with gcc 3.3.4
CFLAGS="-march=pentium4 -Os -pipe"  -- Failure

Emerge info:
Portage 2.0.51-r8 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20041102-r0, 2.6.8-gentoo-r3 i686)
=================================================================
System uname: 2.6.8-gentoo-r3 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.6.8
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Dec 26 2004, 11:36:30)]
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.9.3, 1.7.9
sys-devel/binutils:  2.15.92.0.2-r2
sys-devel/libtool:   1.5.10-r2
virtual/os-headers:  2.6.8.1-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -Os -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -Os -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig cvs distcc distlocks nostrip sandbox sfperms userpriv"
GENTOO_MIRRORS="http://mirrors.acm.cs.rpi.edu/gentoo/ http://gentoo.mirrors.pair.com/ http://mirrors.tds.net/gentoo http://ftp.gentoo.or.kr/"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/home/gentoo/tmp"
PORTDIR="/home/gentoo/portage-rsync"
PORTDIR_OVERLAY="/home/gentoo/portage"
SYNC="rsync://www.thedoh.com/gentoo-portage"
USE="x86 3dnow X acl acpi aim alsa audiofile avi bcmath berkdb bidi bitmap-fonts bonobo bzlib calendar cdb cdr crypt cscope csope ctype curl dio divx4linux dvd dvdr dvdread encode esd ethereal evo exif fam flac flash foomaticdb fortran freetds freewnn ftp gb gd gdbm gif gnome gpm gstreamer gtk gtk2 icq imagemagick imlib innodb ipv6 jpeg ladcca lcms ldap lesstif libg++ libwww mad maildir mbox mcal mikmod mime ming mjpeg mmx mng motif moznocompose moznoirc moznomail moznoxfg mpeg mpi msn mysql ncurses nls nptl offensive oggvorbis opengl oscar oss pam pcre pdflib perl png pnp python qt quicktime readline samba sasl sdl simplexml slang snmp soap speex spell sse ssl svga tcltk tcpd tidy tiff truetype unicode usb xine xml xml2 xmlrpc xmms xsl xv xvid yahoo zlib"

gstreamer was compiled with +debug for the backtrace.



Backtrace:

Starting program: /usr/bin/gst-register-0.8 
[Thread debugging using libthread_db enabled]
[New Thread 1077773024 (LWP 17793)]
Rebuilding global_registry (/var/lib/cache/gstreamer-0.8/registry.xml) ...
Added plugin decodebin with 1 feature.
Added plugin playbin with 1 feature.
Added plugin alphacolor with 1 feature.
Added plugin gstmultifilesink with 1 feature.
Added plugin alsa with 3 features.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1077773024 (LWP 17793)]
0x407e3e00 in CzCUBICSPLINE::CzCUBICSPLINE ()
   from /usr/lib/gstreamer-0.8/libgstmodplug.so

(gdb) bt
#0  0x407e3e00 in CzCUBICSPLINE::CzCUBICSPLINE ()
   from /usr/lib/gstreamer-0.8/libgstmodplug.so
#1  0x407eb351 in X86_StereoFill ()
   from /usr/lib/gstreamer-0.8/libgstmodplug.so
#2  0x407fbdb5 in ModPlug_SetSettings ()
   from /usr/lib/gstreamer-0.8/libgstmodplug.so
#3  0x407d7af8 in _init () from /usr/lib/gstreamer-0.8/libgstmodplug.so
#4  0x4000abac in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#5  0x4000ac5d in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#6  0x403a8bf0 in getutmpx () from /lib/tls/libc.so.6
#7  0x4000aa41 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#8  0x403a9129 in _dl_open () from /lib/tls/libc.so.6
#9  0x40269d58 in ?? () from /lib/libdl.so.2
#10 0xfffffffe in ?? ()
#11 0x0052e0e4 in ?? ()
#12 0xbffff14c in ?? ()
#13 0x40080efe in __PRETTY_FUNCTION__.2 () from /usr/lib/libgstreamer-0.8.so.1
#14 0x403aa6e9 in __libc_dlclose () from /lib/tls/libc.so.6
#15 0x4000aa41 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#16 0x4026a220 in dlerror () from /lib/libdl.so.2
#17 0x40269da0 in dlopen () from /lib/libdl.so.2
#18 0x402676ff in g_module_open () from /usr/lib/libgmodule-2.0.so.0
#19 0x4005a00a in gst_plugin_check_file (
---Type <return> to continue, or q <return> to quit---
    filename=0x806e200 "/usr/lib/gstreamer-0.8/libgstmodplug.so", error=0x0)
    at gstplugin.c:333
#20 0x4005a5f5 in gst_plugin_load_file (
    filename=0x806e200 "/usr/lib/gstreamer-0.8/libgstmodplug.so", error=0x0)
    at gstplugin.c:381
#21 0x40077989 in gst_xml_registry_rebuild (registry=0x80524a8)
    at gstxmlregistry.c:1432
#22 0x4006da90 in gst_registry_rebuild (registry=0x80524a8)
    at gstregistry.c:187
#23 0x08048d91 in main (argc=1, argv=0xbffff4b4) at gst-register.c:129

------- Comment #5 From foser (RETIRED) 2005-01-06 06:40:43 0000 -------
so in short an -Os problem with some compilers ?

------- Comment #6 From Duarte Henriques 2005-01-07 11:42:51 0000 -------
I also had this problem, using gcc 3.4.3 and -Os
the problem was solved by replacing -Os for -O2, still using gcc 3.4.3

So, for me:
With gcc 3.4.3,
CFLAGS="-march=athlonxp -Os -pipe"  -- Failure
CFLAGS="-march=athlonxp -O2 -pipe"  -- Success

------- Comment #7 From Cesar Talon 2005-01-10 08:30:00 0000 -------
The same happens here with gstreamer-0.8.8. The change of -Os to -O2 fixed the
problem with segmentation faults.

The problem seems to be in gst-plugins and not in gstreamer. At least on my
case just re-emerging gst-plugins with -O2 fixed everything without emerging
again gstreamer.

I'm using gcc-3.4.3, didn't try with other versions.

------- Comment #8 From Eric Shattow 2005-01-29 12:59:00 0000 -------
gcc 3.4.x bug.   you should report it upstream.

http://gcc.gnu.org/bugzilla/

------- Comment #9 From foser (RETIRED) 2005-02-05 06:36:43 0000 -------
added an Os->O2 statement in 0.8.8 to be on the safe side for now

First Last Prev Next    No search results available      Search page      Enter new bug