Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 124288 - Sound does not work in 32 bit alsa applications under AMD64
Summary: Sound does not work in 32 bit alsa applications under AMD64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-27 10:55 UTC by Ramon Garcia
Modified: 2006-03-06 03:43 UTC (History)
0 users

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 Ramon Garcia 2006-02-27 10:55:18 UTC
I tried to run Openwengo in a 64 bit laptop with Gentoo. After fixing tipical shared libraries issues, the program runs but it detects no sound card.

Downloading a 32 bit aplay command shows that this is a problem of ALSA 32 bit applications (64 bit aplay works fine). Trying to run 32 bit aplay shows these messages:

> ./aplay /usr/share/sounds/alsa/Front_Right.wav
ALSA lib confmisc.c:560:(snd_determine_driver) could not open control for card 0
ALSA lib conf.c:2686:(snd_config_hooks_call) function snd_config_hook_load_for_all_cards returned error: Invalid argument
ALSA lib pcm.c:1959:(snd_pcm_open_conf) Invalid type for PCM default definition (id: default, value: cards.pcm.default)
aplay: main:508: audio open error: Invalid argument

strace shows that /dev/snd files are opened without problem, but some ioctls fail:

execve("./aplay", ["./aplay", "/usr/share/sounds/alsa/Front_Rig"...], [/* 69 vars */]) = 0
[ Process PID=22832 runs in 32 bit mode. ]
uname({sys="Linux", node="acer", ...})  = 0
brk(0)                                  = 0x8054000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(0x3, 0xffffc670)                = 0
mmap2(NULL, 153500, PROT_READ, MAP_PRIVATE, 3, 0) = 0x5556c000
close(3)                                = 0
open("/emul/linux/x86/usr/lib/libasound.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\357"..., 512) = 512
fstat64(0x3, 0xffffc6e4)                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x55592000
mmap2(NULL, 745404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x55593000
mmap2(0x55644000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb0) = 0x55644000
close(3)                                = 0
open("/lib32/libm.so.6", O_RDONLY)      = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2003\0"..., 512) = 512
fstat64(0x3, 0xffffc6c8)                = 0
mmap2(NULL, 139424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x55649000
mmap2(0x5566a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20) = 0x5566a000
close(3)                                = 0
open("/lib32/libdl.so.2", O_RDONLY)     = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\v\0"..., 512) = 512
fstat64(0x3, 0xffffc6ac)                = 0
mmap2(NULL, 12392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x5566c000
mmap2(0x5566e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x5566e000
close(3)                                = 0
open("/lib32/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240H\0"..., 512) = 512
fstat64(0x3, 0xffffc690)                = 0
mmap2(NULL, 70104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x55670000
mmap2(0x5567e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) = 0x5567e000
mmap2(0x55680000, 4568, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x55680000
close(3)                                = 0
open("/lib32/libc.so.6", O_RDONLY)      = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 P\1\000"..., 512) = 512
fstat64(0x3, 0xffffc674)                = 0
mmap2(NULL, 1141948, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x55682000
mmap2(0x55793000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x111) = 0x55793000
mmap2(0x55797000, 7356, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x55797000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x55799000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x5579a000
mprotect(0x55793000, 4096, PROT_READ)   = 0
set_thread_area(0xffffcd3c)             = 0
munmap(0x5556c000, 153500)              = 0
set_tid_address(0x55799f08)             = 22832
rt_sigaction(SIGRTMIN, {0x4556743f0, [], SA_RESTORER|SA_RESTART|SA_NOMASK|0x1592a40, (nil)}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x1000000455674470, [], SA_RESTORER|SA_RESTART|SA_NOMASK|0x1592a40, (nil)}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=-4286578688, rlim_max=0}) = 0
_sysctl({0x25567c828, -13108, (nil), (nil), (nil), 6157460233047764480}) = 0
open("/dev/urandom", O_RDONLY)          = 3
read(3, "\264\234\365\213", 4)          = 4
close(3)                                = 0
brk(0)                                  = 0x8054000
brk(0x8075000)                          = 0x8075000
stat64(0x80540d0, 0xffffcc3c)           = 0
open("/usr/share/alsa/alsa.conf", O_RDONLY) = 3
fstat64(0x3, 0xffffca80)                = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0x20000) = 0x5556c000
read(3, "#\n#  ALSA library configuration "..., 131072) = 7501
read(3, "", 131072)                     = 0
read(3, "", 131072)                     = 0
close(3)                                = 0
munmap(0x5556c000, 131072)              = 0
futex(0x5566f064, FUTEX_WAKE, 2147483647) = 0
access("/etc/asound.conf", R_OK)        = -1 ENOENT (No such file or directory)
access("/home/ramon/.asoundrc", R_OK)   = -1 ENOENT (No such file or directory)
open("/usr/share/alsa/cards/aliases.conf", O_RDONLY) = 3
fstat64(0x3, 0xffffc980)                = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0x20000) = 0x5556c000
read(3, "#\n#  Define aliases for various "..., 131072) = 1186
open("/usr/share/alsa/pcm/default.conf", O_RDONLY) = 4
fstat64(0x4, 0xffffc940)                = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0x20000) = 0x5579b000
read(4, "#\n# Default output\n#\n\npcm.!defau"..., 131072) = 507
read(4, "", 131072)                     = 0
close(4)                                = 0
munmap(0x5579b000, 131072)              = 0
open("/usr/share/alsa/pcm/dmix.conf", O_RDONLY) = 4
fstat64(0x4, 0xffffc940)                = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0x20000) = 0x5579b000
read(4, "#\n# dmix output\n#\n\npcm.!dmix {\n\t"..., 131072) = 1069
read(4, "", 131072)                     = 0
close(4)                                = 0
munmap(0x5579b000, 131072)              = 0
open("/usr/share/alsa/pcm/dsnoop.conf", O_RDONLY) = 4
fstat64(0x4, 0xffffc940)                = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0x20000) = 0x5579b000
read(4, "#\n# dsnoop\n#\n\npcm.!dsnoop {\n\t@ar"..., 131072) = 1071
read(4, "", 131072)                     = 0
close(4)                                = 0
munmap(0x5579b000, 131072)              = 0
read(3, "", 131072)                     = 0
read(3, "", 131072)                     = 0
close(3)                                = 0
munmap(0x5556c000, 131072)              = 0
open("/dev/snd/controlC0", O_RDONLY)    = 3
close(3)                                = 0
stat64(0x80540f0, 0xffffc9cc)           = 0
open("/dev/snd/controlC0", O_RDONLY)    = 3
close(3)                                = 0
open("/dev/snd/controlC0", O_RDWR)      = 3
ioctl(3, USBDEVFS_CONTROL, 0xffffc8fc)  = -1 EINVAL (Invalid argument)
close(3)                                = 0
write(2, "ALSA lib confmisc.c:560:(snd_det"..., 47ALSA lib confmisc.c:560:(snd_determine_driver) ) = 47
write(2, "could not open control for card "..., 33could not open control for card 0) = 33
write(2, "\n", 1
)                       = 1
write(2, "ALSA lib conf.c:2686:(snd_config"..., 45ALSA lib conf.c:2686:(snd_config_hooks_call) ) = 45
write(2, "function snd_config_hook_load_fo"..., 76function snd_config_hook_load_for_all_cards returned error: Invalid argument) = 76
write(2, "\n", 1
)                       = 1
write(2, "ALSA lib pcm.c:1959:(snd_pcm_ope"..., 40ALSA lib pcm.c:1959:(snd_pcm_open_conf) ) = 40
write(2, "Invalid type for PCM default def"..., 79Invalid type for PCM default definition (id: default, value: cards.pcm.default)) = 79
write(2, "\n", 1
)                       = 1
write(2, "aplay: main:508: ", 17aplay: main:508: )       = 17
write(2, "audio open error: Invalid argume"..., 34audio open error: Invalid argument) = 34
write(2, "\n", 1
)                       = 1
exit_group(1)                           = ?


This affect both Skype and openwengo binaries under AMD64. (openwengo is not yet 64 bit clean).

emerge -info:
System uname: 2.6.11-gentoo-r9 x86_64 AMD Athlon(tm) 64 Processor 3700+
Gentoo Base System version 1.12.0_pre8
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5, 2.4.2
sys-apps/sandbox:    1.2.13
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-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer -D_FILE_OFFSET_BITS=64"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer -D_FILE_OFFSET_BITS=64"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache confcache distlocks prelink sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ ftp://ftp.heanet.ie/pub/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.du.se/pub/os/gentoo"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LINGUAS="pl"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="amd64 X X509 Xaw3d a52 aac aalib accessibility acl acpi adns alsa amarok ao apache2 arts artworkextra asterisk audiofile bash-completion bdf berkdb bitmap-fonts blas bluetooth boundschecking bzip2 bzlib caps cddb cdparanoia cdr chasen chroot clearpasswd crypt cscope css cups curl curlwrappers custom-cflags dba dedicated dga directfb divx4linux djbfft dlloader dmalloc dmx dpms dts dv dvb dvd dvdr dvdread ecc edl eds elf emboss encode erandom esd estraier exif expat extensions extraicons extramodules extras fam fame fbcon ffmpeg fftw firefox fits flac flash foomaticdb fortran fpx ftp gcj gd geoip gif gimpprint glitz glut gnokii gnome gnutls gphoto2 gpm graphviz gsm gstreamer gtk gtk2 gtkhtml hal hdf hdf5 howl iconv ide idea idn ieee1394 imagemagick imap imlib inetd insecure-drivers ipalias irda ithreads jack jack-tmpfs java javamail javascript jce jikes jpeg jpeg2k justify kakasi kde kdeenablefinal kdgraphics kerberos krb4 latex lcms libcaca libclamav libgda libwww lirc live livecd lm_sensors logitech-mouse lua lzo lzw lzw-tiff mad mail mailwrapper matroska mbox md5sum mecab memlimit mhash migemo mikmod mime mjpeg mmap mng motif mozilla moznomail mozsvg mozxmlterm mp3 mpeg mpm-prefork musepack mysql mythtv ncurses neXt netboot netcdf nethack network nls nntp nologin nptl nptlonly nvidia oav objc ogdi ogg oggvorbis openal opengl oss pam pam_chroot pam_timestamp parse-clocks pcmcia pcre pcsc-lite pda pdflib perl perlsuid pheaders physfs pic plotutils png portaudio posix postgres povray ppds pwdb python qt quicktime quotas rdesktop readline real rpm rrdtool rtc samba sample sblive scanner sdl session sftplogging skey slang slp smartcard sms smux sndfile sockets spamassassin speech speex spell srp ssl static-modules stencil-buffer streamzap subject-rewrite svg sysfs szip tcltk tcpd tetex tga theora threads thumbnail tidy tiff toolbar truetype truetype-fonts type1-fonts ucs2 udev unicode urandom usb userlocales v4l v4l2 vcd vim-with-x visualization voice vorbis wifi winbind wmf xanim xine xinerama xml xml2 xmms xosd xpm xprint xscreensaver xv xvid xvmc yv12 zeroconf zlib zvbi linguas_pl userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS, PORTDIR_OVERLAY
Comment 1 Ramon Garcia 2006-03-06 03:43:45 UTC
After last system upate, the problem with 32 bit alsa aplay no longer occurrs.