Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 317491 - media-sound/mpg321-0.2.11 crashes with Segmentation fault
Summary: media-sound/mpg321-0.2.11 crashes with Segmentation fault
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
: 333841 335473 (view as bug list)
Depends on: 335565
Blocks:
  Show dependency tree
 
Reported: 2010-04-27 16:05 UTC by Juergen Rose
Modified: 2010-09-01 16:05 UTC (History)
5 users (show)

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


Attachments
Backtrace from gdb, mpg321 compiled with -O on (mpg321_segfault_gdb_bt.txt,2.99 KB, text/plain)
2010-06-01 09:35 UTC, Tobias Klausmann (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2010-04-27 16:05:19 UTC
Trying to play a mpeg file mpg321 crashes with Segmentation fault:

root@lynx:/home/rose/(5)# mpg321 BBob_Dylan_-_Don-t_Think_Twice.mp3 
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
Version 0.59r (2009/06/16). Written and copyrights by Joe Drew.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Title  : Don't Think Twice Its Allright  Artist: Bob Dylan                     
Album  : Best Of                         Year  : 1963
Comment:                                 Genre : BluesBlues                    

Playing MPEG stream from Bob_Dylan_-_Don-t_Think_Twice.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Segmentation fault


Reproducible: Always




rose@lynx:/home/rose/Multimedia/Music_mp3(100)$ emerge --info
Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.4.3, glibc-2.11.1-r0, 2.6.33-gentoo-r1 x86_64)
=================================================================
System uname: Linux-2.6.33-gentoo-r1-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T8300_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 27 Apr 2010 10:30:01 +0000
app-shells/bash:     4.1_p5
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5-r1, 3.1.2-r2
dev-python/pycrypto: 2.1.0
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.7.9-r2, 1.8.5-r3, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
FFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="de fr"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/dotnet /var/lib/layman/lordvan /var/lib/layman/n4g /var/lib/layman/science /var/lib/layman/suka /var/lib/layman/x11 /var/lib/layman/zugaina /var/lib/layman/java-overlay /var/lib/layman/sunrise /var/lib/layman/arcon /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="64bit X Xaw3d a52 aac abiword acl acpi afs alsa amd64 ao apache2 applet archive arpack asf aspell assistant audacious audiofile automap automount bash-completion beagle berkdb blas blast bluetooth boo boost branding bzip2 cairo cardbus cdda cddb cdf cdio cdparanoia cdr cg cgi chm cli consolekit corba cracklib crypt css cuda cups curl cxx daap db dbase dbi dbm dbus designer devhelp device-mapper dga dia djvu doc dri ds2490 dts dv dvb dvd dvdr dvi eds elf emacs emboss empathy encode epiphany evo examples exif expat extensions extra extras fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx fts3 fuse galago garmin gd gdal gdbm gedit geolocation geos gif gimp ginac git glade glib glitz gml gmp gmtsuppl gnokii gnome gnome-keyring gnome-print gnuplot gnutls gphoto2 gpm grammar graphics graphtft graphviz grass gs gsl gsm gstreamer gtk guile hal harness hddtemp hdf hdf5 hdri hlapi http httpd hvm iconv icq icu id3 ide imagemagick imap innodb inotify ipod ipv6 irda ithreads jabber jadetex java java5 java6 jbig john jpeg jpeg2k kdrive kerberos kpathsea kqemu kvm ladspa lame lapack laptop latex latex3 lcms ldap lensfun libffi libgda libnotify libsamplerate lirc lua lzo mad mail maildir mailwrapper mapnik math matroska mikmod mkl mmx mmxext mng modules mono moonlight motif mozdevelop mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric nvidia obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp overview pae pam pango pcre pda pdf perl plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio pymol python python-bindings qemu qhull qt3support qt4 quicktime readline reflection reiserfs rle romio rpc rrdcgi rrdtool samba sasl science sdl secure-delete semantic-desktop server session sip slang slp smbclient smp sms sndfile snmp soup sox speex spell spl sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs theora thinkpad threads thunderbird tidy tiff tk tntc tools truetype udev unicode usb userlocales utempter v4l2 video virtualbox vorbis wav webdav webdav-serf webkit wifi wmf wxwidgets x264 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" 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="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CAMERAS="canon" DVB_CARDS="usb-wt220u" ELIBC="glibc" INPUT_DEVICES="keyboard mouse                evdev                synaptics               " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18 jruby" USERLAND="GNU" VIDEO_CARDS="nv nvidia nouveau vesa" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

rose@lynx:/home/rose/Multimedia/Music_mp3(101)$ genlop -t mpg321 | tail

     Sun Dec 20 22:54:47 2009 >>> media-sound/mpg321-0.2.11
       merge time: 19 seconds.

     Wed Apr  7 13:05:27 2010 >>> media-sound/mpg321-0.2.11
       merge time: 17 seconds.

     Tue Apr 27 17:57:11 2010 >>> media-sound/mpg321-0.2.11
       merge time: 26 seconds.
Comment 1 Juergen Rose 2010-04-27 16:06:41 UTC
rose@lynx:/home/rose/Multimedia/Music_mp3(102)$ emerge -pvD mpg321

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] media-sound/mpg321-0.2.11  USE="alsa ipv6" 0 kB
Comment 2 Panagiotis Christopoulos (RETIRED) gentoo-dev 2010-05-03 12:39:14 UTC
Can you try to compile it without -fomit-frame-pointer in your C/CXX-FLAGS?
Comment 3 Juergen Rose 2010-05-07 14:40:20 UTC
mpg321 also seqfaults, if it is compiled without -fomit-frame-pointer in  C/CXX-FLAGS.
If I run gdb with mpg321, I get the following results:

root@lynx:/home/rose/Multimedia/Music_mp3/Bob_Dylan(30)# gdb mpg321
GNU gdb (Gentoo 7.1 p1) 7.1
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/mpg321...Reading symbols from /usr/lib64/debug/usr/bin/mpg321.debug...done.
done.
(gdb) info args
No frame selected.
(gdb) set args /home_lynx/rose/Multimedia/Music_mp3/Bob_Dylan/Bob_Dylan_-_Don-t_Think_Twice.mp3
(gdb) step
The program is not being run.
(gdb) run
Starting program: /usr/bin/mpg321 /home_lynx/rose/Multimedia/Music_mp3/Bob_Dylan/Bob_Dylan_-_Don-t_Think_Twice.mp3
[Thread debugging using libthread_db enabled]
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
Version 0.59r (2009/06/16). Written and copyrights by Joe Drew.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Title  : Don't Think Twice Its Allright  Artist: Bob Dylan                     
Album  : Best Of                         Year  : 1963
Comment:                                 Genre : BluesBlues                    

Directory: /home_lynx/rose/Multimedia/Music_mp3/Bob_Dylan/
Playing MPEG stream from Bob_Dylan_-_Don-t_Think_Twice.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff758cdce in ?? () from /usr/lib/libao.so.4


If I also compile libao with debugging CFLAGS, I get:
root@lynx:/home/rose/Multimedia/Music_mp3/Bob_Dylan(35)# gdb mpg321
GNU gdb (Gentoo 7.1 p1) 7.1
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/mpg321...Reading symbols from /usr/lib64/debug/usr/bin/mpg321.debug...done.
done.
(gdb) set args /home_lynx/rose/Multimedia/Music_mp3/Bob_Dylan/Bob_Dylan_-_Don-t_Think_Twice.mp3
(gdb) run
Starting program: /usr/bin/mpg321 /home_lynx/rose/Multimedia/Music_mp3/Bob_Dylan/Bob_Dylan_-_Don-t_Think_Twice.mp3
warning: no loadable sections found in added symbol-file /usr/lib64/debug/usr/lib64/libao.so.4.0.0.debug
[Thread debugging using libthread_db enabled]
warning: no loadable sections found in added symbol-file /usr/lib64/debug/usr/lib64/ao/plugins-4/libpulse.so.debug
warning: no loadable sections found in added symbol-file /usr/lib64/debug/usr/lib64/ao/plugins-4/liboss.so.debug
warning: no loadable sections found in added symbol-file /usr/lib64/debug/usr/lib64/ao/plugins-4/libalsa.so.debug
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
Version 0.59r (2009/06/16). Written and copyrights by Joe Drew.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Title  : Don't Think Twice Its Allright  Artist: Bob Dylan                     
Album  : Best Of                         Year  : 1963
Comment:                                 Genre : BluesBlues                    

Directory: /home_lynx/rose/Multimedia/Music_mp3/Bob_Dylan/
Playing MPEG stream from Bob_Dylan_-_Don-t_Think_Twice.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff758cdce in _sanitize_matrix (maxchannels=<value optimized out>, matrix=0x200663c80 <Address 0x200663c80 out of bounds>, device=0x642580) at audio_out.c:633
633         char *ret = calloc(strlen(matrix)+1,1); /* can only get smaller */

Does it helps?
Comment 4 Tobias Klausmann (RETIRED) gentoo-dev 2010-06-01 09:34:54 UTC
I've run into the same problem. I played with my CFLAGS and I've found out that it needs to be compiled with at least -O1 (or any higher -O) to trigger this problem. While I also use -msse3 and -march=k8 by default, turning them off does not make a difference. 

I'll attach my gdb backtrace.

I'll rebuild libao with debug symbols to see if that part of the stack yields more info.
Comment 5 Tobias Klausmann (RETIRED) gentoo-dev 2010-06-01 09:35:42 UTC
Created attachment 233761 [details]
Backtrace from gdb, mpg321 compiled with -O on
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2010-07-08 15:54:29 UTC
mpg321-0.2.12 is out since few days ago, propably not good idea to debug this release anymore...
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2010-07-26 10:12:11 UTC
Try 0.2.12
Comment 8 Juergen Rose 2010-07-30 14:25:45 UTC
0.2.12 works for me.

Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2010-07-30 14:26:55 UTC
(In reply to comment #8)
> 0.2.12 works for me.
> 

good enough for me.
Comment 10 Tobias Klausmann (RETIRED) gentoo-dev 2010-08-03 16:17:58 UTC
Just to add a "me too": works fine with the files it used to barf on. Thanks!
Comment 11 Seth Graham 2010-09-01 15:51:36 UTC
*** Bug 335473 has been marked as a duplicate of this bug. ***
Comment 12 Samuli Suominen (RETIRED) gentoo-dev 2010-09-01 16:04:48 UTC
*** Bug 333841 has been marked as a duplicate of this bug. ***