Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 40726 - media-libs/faad2-2.0_rc3-r1 causes xmms to segfault
Summary: media-libs/faad2-2.0_rc3-r1 causes xmms to segfault
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Jeremy Huddleston (RETIRED)
URL:
Whiteboard:
Keywords:
: 44652 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-02-07 07:01 UTC by Jonathan Hitchcock
Modified: 2004-03-25 21:19 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Hitchcock 2004-02-07 07:01:23 UTC
If I have an xmms playlist that contains entries that are directories, xmms segfaults when I load this playlist.  Non-existent entries and non-media-file entries are fine.  In other words, a playlist that contained:

/home/vhata/foo.mp3
/home/vhata/bar.mp3
/home/vhata/baz.mp3

Would work fine, even if bar.mp3 didn't exist, and baz.mp3 was actually a recipe for buritos.

A playlist that contained:

/home/vhata/foo.mp3
/home/vhata
/home/vhata/bar.mp3

Would segfault xmms when loaded, however.  Note that xmms only segfault when it tries to calculate the id3info of the entry, though.  That is, if the entry is part of a long list, and is actually scrolled off the bottom of the playlist, it will be fine until you scroll down, and xmms attempts to read the info of the entry.

A backtrace of the segfault reveals:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 8097)]
0x404e1d8f in strcasecmp () from /lib/libc.so.6
(gdb) bt
#0  0x404e1d8f in strcasecmp () from /lib/libc.so.6
#1  0x411149a9 in mp4_isFile () from /usr/lib/xmms/Input/libmp4.so
(gdb)

$ qpkg -f /usr/lib/xmms/Input/libmp4.so 
media-libs/faad2 *

$ emerge info
Portage 2.0.50_pre22 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.1)
=================================================================
System uname: 2.6.1 i686 Intel(R) Celeron(R) CPU 2.00GHz
Gentoo Base System version 1.4.3.12
Autoconf: sys-devel/autoconf-2.59
Automake: sys-devel/automake-1.8.2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/env.d"
CXXFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache fixpackages nostrip sandbox"
GENTOO_MIRRORS="http://ftp.rucus.ru.ac.za/pub/linux/gentoo http://nihil.ict.ru.ac.za http://omnia.ict.ru.ac.za http://zion.ru.ac.za ftp://ftp.is.co.za/linux/distributions/gentoo ftp://trumpetti.atm.tut.fi/gentoo/ ftp://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.rucus.ru.ac.za/gentoo-portage"
USE="X aalib acl acpi alsa amd apm autofs avi berkdb crypt cups curl dga directfb encode esd faad fbcon flash foomaticdb gd gdbm ggi gif gnome gpm gtk gtk2 gtkhtml imagemagick imap imlib ipv6 java javascript jpeg lcms lesstif libg++ libwww mad maildir memlimit mikmod motif mozcalendar mozilla mozinterfaceinfo moznocompose moznoirc mozxmlterm mpeg mysql nas ncurses nls offensive oggvorbis opengl oss pam parse-clocks pdflib perl php pic png python quicktime readline samba sdl slang snmp spell ssl svga tcltk tcpd tetex transparent-proxy truetype unicode usagi vim-with-x wmf x86 xml xml2 xmms xosd xv zlib"


$ listpkgs | egrep '(faad2|xmms|glibc)'
media-plugins/alsa-xmms-0.9.12
sys-libs/glibc-2.3.3_pre20040117
media-sound/xmmsctrl-1.6-r1
media-sound/xmms-1.2.9-r2
media-libs/faad2-2.0_rc3-r1


Earlier versions of faad2 did not have this problem.
Comment 1 Jeremy Huddleston (RETIRED) gentoo-dev 2004-02-12 03:38:54 UTC
Foser, how would you feel about splitting up media-sound/faad2 into media-sound/faad2 and media-plugins/xmms-faad2 if it is doable?
Comment 2 foser (RETIRED) gentoo-dev 2004-02-12 06:38:04 UTC
for what reason exactly ?
Comment 3 Jeremy Huddleston (RETIRED) gentoo-dev 2004-02-12 10:30:56 UTC
We could avoid the ugly "fix" for the xmms plugin that way and it would allow users to use different versions of the plugin with different versions of the lib when one of the two is broken.
Comment 4 foser (RETIRED) gentoo-dev 2004-02-15 09:33:32 UTC
sorry for the delay.

I don't really like the idea, because it is not very gentoo-ish. The plug-in should afaic always work with the lib that comes with it plus that it always gets updated vs. the latest lib release (you can't trust API/ABI stability in rc's).

The problem here is the broken configure script, that is what needs fixing.
Comment 5 Jeremy Huddleston (RETIRED) gentoo-dev 2004-02-15 12:23:53 UTC
fair enough ;)
Comment 6 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-24 19:42:42 UTC
Is this still happening with

faad2-2.0
xmms-1.2.10-r2?
Comment 7 Jonathan Hitchcock 2004-03-25 05:47:06 UTC
There doesn't appear to be an xmms-1.2.10-r2, only an -r1, but I'll test it with those.  A bit bogged down right now, but will get back to you ASAP.
Comment 8 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-25 19:35:43 UTC
my tests show it's still in 2.0... =(  I'll try getting around to this soon...
Comment 9 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-25 19:37:13 UTC
*** Bug 44652 has been marked as a duplicate of this bug. ***
Comment 10 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-25 20:39:46 UTC
Here's the full gdb output... I'll put together a patch, test it, and send it upstrea..

~/gentoo/test $ gdb xmms
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) set ARGS noext
(gdb) run
Starting program: /usr/bin/xmms noext
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 2131)]
[New Thread 32769 (LWP 2144)]
[New Thread 16386 (LWP 2145)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16386 (LWP 2145)]
0x40419e93 in strcasecmp () from /lib/libc.so.6
(gdb) bt
#0  0x40419e93 in strcasecmp () from /lib/libc.so.6
#1  0x40e48a05 in mp4_isFile (
    filename=0x81d6790 "/home/jeremy/gentoo/test/noext") at libmp4.c:115
#2  0x0805e0eb in input_check_file (
    filename=0x81d6790 "/home/jeremy/gentoo/test/noext") at input.c:236
#3  0x08062e22 in playlist_ins (
    filename=0x81d6790 "/home/jeremy/gentoo/test/noext", pos=-1)
    at playlist.c:305
#4  0x0806350b in playlist_ins_url_string (
    string=0x81d6790 "/home/jeremy/gentoo/test/noext", pos=-1)
    at playlist.c:522
#5  0x08066f34 in ctrlsocket_func (arg=0x0) at controlsocket.c:373
#6  0x40238030 in pthread_start_thread () from /lib/libpthread.so.0
#7  0x402381c2 in pthread_start_thread_event () from /lib/libpthread.so.0
#8  0x404786ba in clone () from /lib/libc.so.6
Comment 11 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-25 21:19:41 UTC
fixed in 2.0-r1...  patch sent upstream...