From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: snd-ioctl32 is failing on x86_64 (no crashes, just errors) Date: Mon, 10 Jan 2005 12:26:28 +0100 Message-ID: References: <20050106130649.GA253131@lion.gg3.net> <20050108074026.GA8595@lion.gg3.net> Mime-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from Cantor.suse.de (cantor.suse.de [195.135.220.2]) by alsa.alsa-project.org (ALSA's E-mail Delivery System) with ESMTP id 9AFD8278 for ; Mon, 10 Jan 2005 12:26:34 +0100 (MET) In-Reply-To: <20050108074026.GA8595@lion.gg3.net> Sender: alsa-devel-admin@lists.sourceforge.net Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Georgi Georgiev Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org At Sat, 8 Jan 2005 16:40:27 +0900, Georgi Georgiev wrote: > > maillog: 07/01/2005-11:45:44(+0100): Takashi Iwai types > > At Thu, 6 Jan 2005 22:06:50 +0900, > > Georgi Georgiev wrote: > > > > > > Running a 32-bit version of any application fails with: > > > > > > amixer: Mixer hw:0 load error: Invalid argument > > > > > > for example. I have snd-ioctl32 loaded properly (lsmod shows it). > > > > Try strace amixer and see which ioctl failed. Maybe it's the size > > mismatching of argument, or an unimplemented ioctl. > > Here is the relevant part of a diff between the output of stracing 32 > and 64-bit versions of amixer on 2.6.10: > > --- amixer.2.6.10-y2.32.log 2005-01-08 16:07:48.000000000 +0900 > +++ amixer.2.6.10-y2.64.log 2005-01-08 16:07:27.000000000 +0900 > -ioctl(3, USBDEVFS_CONTROL, 0xffffcd4c) = 0 > -fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR) > -fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > -ioctl(3, USBDEVFS_RELEASEINTERFACE, 0xffffcf90) = 0 > -ioctl(3, USBDEVFS_RELEASEINTERFACE, 0xffffcf90) = 0 > -ioctl(3, USBDEVFS_CONNECTINFO, 0xffffcc80) = 0 > -ioctl(3, USBDEVFS_IOCTL, 0xffffc510) = -1 EINVAL (Invalid argument) It's SNDRV_CTL_IOCTL_ELEM_READ. Could you check which place returns -EINVAL in _snd_ioctl32_ctl_elem_value in alsa-kernel/core/ioctl32/ioctl32.c? > > > Kernel is vanilla 2.6.10 and I just tried it with version 1.0.8rc2 of > > > alsa-driver. Also, alsa-lib and alsa-utils version 1.0.8rc2 are > > > installed in my 64-bit environment, and also in the 32-bit chroot env > > > where I am trying to run amixer from. The distro is Gentoo, and I also > > > have their alsa-headers-1.0.8_rc2 installed in the 32-bit chroot. > > > > ALSA ioctl32 in 2.6.10 or older is buggy. Try to avoid it. > > Avoid using ioctl32? I don't have much of a choice since it doesn't work > anyway. It would be nice to get some sound on flash pages and wine, > though. Yes, but the code in 2.6.10 may crash your system. (On x86-64, this might work, though...) > 2.6.10 or older pretty much covers every kernel out there. What kernel > version is it OK to test this with? The one in latest alsa-driver (alsa-kernel) tree. I think Linus's bk and mm trees have included already fixes. Takashi ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt