Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 273691 - media-sound/mp3splt reports error: cannot allocate memory for normal user
Summary: media-sound/mp3splt reports error: cannot allocate memory for normal user
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-11 09:22 UTC by Luyang Han
Modified: 2009-07-24 19:44 UTC (History)
1 user (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 Luyang Han 2009-06-11 09:22:34 UTC
the combination of:
media-libs/libmp3splt-0.5.6
media-sound/mp3splt-2.2.5

when trying to split mp3 as a normal user the program reports:
 error: cannot allocate memory

However the program runs fine as root.

Reproducible: Always
Comment 1 Rafał Mużyło 2009-06-11 16:52:48 UTC
Is that complete error message ?
Comment 2 Luyang Han 2009-06-12 07:28:36 UTC
mp3splt 2.2.5 (16/05/09) - using libmp3splt 0.5.6
        Matteo Trotta <mtrotta AT users.sourceforge.net>
        Alexandru Munteanu <io_fx AT yahoo.fr>
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

Searching for plugins ...
Scanning plugins in the directory  _/usr/lib64/libmp3splt_
 error: cannot allocate memory

This is all the error message. As root this program runs fine.
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-06-14 00:21:12 UTC
WOrks without any problems here. Please post your "emerge --info".
Comment 4 Luyang Han 2009-06-14 10:14:20 UTC
Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.29-gentoo-r5 x86_64)
=================================================================
System uname: Linux-2.6.29-gentoo-r5-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7250_@_2.00GHz-with-gentoo-1.12.11.1
Timestamp of tree: Thu, 11 Jun 2009 08:00:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.6.2-r1
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /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 /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages nodoc parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.twaren.net/Linux/Gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
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/layman/sunrise /var/layman/science /var/layman/roslin"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 arts berkdb bluetooth bzip2 cairo cjk cli cracklib crypt cups custom-cxxflags dbus djvu dri flac fortran gdbm gif gnutls gpm gtk hal iconv ieee1394 ipv6 isdnlog java jpeg jpeg2k kde lm_sensors midi mmx mng mp3 mudflap multilib ncurses nls nptl nptlonly nsplugin opengl openmp pam pcmcia pcre pdf perl png pppd python qt3 qt3support qt4 readline reflection sdl session spell spl sqlite sqlite3 sse sse2 ssl svg sysfs tcpd threads tiff truetype unicode vorbis xcomposite xml xorg xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 authn_alias authn_anon 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 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" ELIBC="glibc" INPUT_DEVICES="keyboard evdev mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 5 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-06-21 14:43:04 UTC
Does the error disappear when you compile the package with ccache being diasbled?
Comment 6 Luyang Han 2009-06-22 08:12:49 UTC
No. The problem stays.
 error: cannot allocate memory
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2009-07-22 12:03:13 UTC
Upstream replied,

<snap>

Hello,

thanks for the report.

Can you please send me the mp3splt command + output by adding the '-D' option ?

You can also try the latest development snapshot from :
   http://ioalex.net/testing_downloads/
to see if the problem still occurs.

I will also reply on the gentoo bugs later.

-- Alex

</snap>

So can you do that for me Luyang? I was able to reproduce this earlier, but I rebuilt my system only few days ago and tried it again just now, and I can't anymore! How annoying to not know what caused it! :-/
Comment 8 Luyang Han 2009-07-22 12:40:58 UTC
The command:
mp3splt -D -c foobar.cue foobar.mp3

Output:
mp3splt 2.2.5 (16/05/09) - using libmp3splt 0.5.6
        Matteo Trotta <mtrotta AT users.sourceforge.net>
        Alexandru Munteanu <io_fx AT yahoo.fr>
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

Searching for plugins ...
Scanning plugins in the directory  _/usr/lib64/libmp3splt_
 error: cannot allocate memory


I will try to compile the newer version later.
Comment 9 Alexandru Munteanu 2009-07-22 18:14:05 UTC
(In reply to comment #8)
> The command:
> mp3splt -D -c foobar.cue foobar.mp3
> 
> Output:
> mp3splt 2.2.5 (16/05/09) - using libmp3splt 0.5.6
>         Matteo Trotta <mtrotta AT users.sourceforge.net>
>         Alexandru Munteanu <io_fx AT yahoo.fr>
> THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
> 
> Searching for plugins ...
> Scanning plugins in the directory  _/usr/lib64/libmp3splt_
>  error: cannot allocate memory

Thank you for the output.
I believe that this was a bug caused by bad coding in the plugin search section.
However, this could also be a bug when permissions are wrong 
Part of this section has been re-written in the latest development code.

In order to check if this has been fixed, knowing the output of the following command could help :
  $ ls -lah /usr/lib64/libmp3splt
Comment 10 Luyang Han 2009-07-22 19:52:37 UTC
Sorry for the trouble but I think I found out the problem.
The permission of /usr/lib64/libmp3splt is somehow wrong.
I change it from drwxr-x--- to drwxr-xr-x, which it should be, and everything works. So a permission problem. 

I think a quick look into the ebuild of media-libs/libmp3splt could solve this problem.
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2009-07-22 19:58:08 UTC
well, we just use "make install" to DESTDIR as normal, the ebuild isn't doing anything special..

perhaps the autotools update in the upstream package could use some improving? i really don't know

but i'll add chmod to the ebuild as workaround to ensure it works
Comment 12 Samuli Suominen (RETIRED) gentoo-dev 2009-07-22 20:04:57 UTC
workaround added
Comment 13 Alexandru Munteanu 2009-07-24 19:04:17 UTC
There is no problem with the libmp3splt autotools scripts.
Probably the ebuild should contain permission change (?).
Maybe there was some umask change or something before the installation of libmp3splt.

I have tested on amd64 with both ebuilds versions 0.5.4 (without any chmod) & 0.5.6 (with the new chmod change). Both work on my system.

Btw, why are the '.la' files deleted ?
Comment 14 Alexandru Munteanu 2009-07-24 19:11:37 UTC
Fixed the wrong error message in the latest development version.
Next version will point out that 'no plugin was found'.
Comment 15 Samuli Suominen (RETIRED) gentoo-dev 2009-07-24 19:12:25 UTC
> There is no problem with the libmp3splt autotools scripts.
> Probably the ebuild should contain permission change (?).

It does now, but that shouldn't be required. The ebuild really only does 'make
DESTDIR="/temporary/target" install' as standard GNU installation. As I said
when I mailed you, I was able to reproduce this once; but when I tried again it
worked so I really don't know what's going on here... Anyway, the workaround is
only a one line so it's no big deal to include it. I'll drop it from the next
version that gets out, and see if this happens again.

The .la files are useless, it can load the plugins anyway:

ssuominen@unique ~ $ strace -e open mp3splt |& fgrep libmp3splt
open("/usr/lib/libmp3splt.so.0", O_RDONLY) = 3
mp3splt 2.2.5 (16/05/09) - using libmp3splt 0.5.6
open("/usr/lib64/libmp3splt", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
open("/usr/lib64/libmp3splt/libsplt_mp3.so", O_RDONLY) = 3
open("/usr/lib64/libmp3splt/libsplt_ogg.so", O_RDONLY) = 4
open("/usr/lib64/libmp3splt/libsplt_ogg.so", O_RDONLY) = 3
open("/usr/lib64/libmp3splt/libsplt_mp3.so", O_RDONLY) = 3

You can also read:
http://blog.flameeyes.eu/2009/07/06/identifying-pointless-la-files-for-plugins

Thanks again for looking at this issue.
Comment 16 Alexandru Munteanu 2009-07-24 19:25:01 UTC
You can leave the workaround, no problem :)
Just please reply here or drop me a mail if the problem still occurs.

I agree, '.la' files are not necessary for "plugins" :
 * libmp3splt 0.5.6 is only looking for 'libsplt_XXX.so' files
 * next version will look for 'libsplt_XXX.so.0' files

I was wondering why removing the 'libmp3splt.la' file.
Comment 17 Samuli Suominen (RETIRED) gentoo-dev 2009-07-24 19:35:24 UTC
(In reply to comment #16)
> I was wondering why removing the 'libmp3splt.la' file.

Also useless, gcc can link directly to -lmp3splt and because we don't install libmp3splt.a (static archive) at all for this package.

You can also read: http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files
Comment 18 Alexandru Munteanu 2009-07-24 19:44:58 UTC
Ok, thanks for the replies :)