Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 403493

Summary: sys-fs/udev-171-r5 - problem running /usr/sbin/alsactl when /usr is not mounted
Product: Gentoo Linux Reporter: vyperin
Component: [OLD] Core systemAssignee: Gentoo ALSA team <alsa-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal CC: dschridde+gentoobugs, O01eg
Priority: Normal    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description vyperin 2012-02-13 22:50:50 UTC
After upgrading to sys-fs/udev-171-r5 , the following issue appeared at boot time:

udev[5823]: failed to execute '/usr/sbin/alsactl' '/usr/sbin/alsactl restore 0': No such file or directory

/usr/sbin/alsactl is present on system.

_______

Running manually "/usr/sbin/alsactl restore 0" from bash yields:

/usr/sbin/alsactl: load_state:1586: Cannot open /var/lib/alsa/asound.state for reading: No such file or directory
Found hardware: "EMU10K1" "SigmaTel STAC9708,11" "AC97a:83847608" "0x1102" "0x8064"
Hardware is initialized using a generic method

/var/lib/alsa/asound.state is not present on system.

_______

As I have read searching for a similar error as mine - it might be a problem with /usr/sbin directory not being mounted at the time of the execution.

_______

On an amd64 VirtualBox Gentoo guest, also upgraded to sys-fs/udev-171-r5 and same thing happens to "/usr/sbin/alsactl restore 0". Other than this, on this VM, there is another error similar to this:

udev[5796]: failed to execute '/usr/bin/vmmouse_detect' '/usr/bin/vmmouse_detect': No such file or directory

/usr/bin/vmmouse_detect is present on the respective system.

Reproducible: Always

Steps to Reproduce:
1. emerge -uDN world
2. reboot
Actual Results:  
No more sound due to failure of '/usr/sbin/alsactl restore 0' command.

Expected Results:  
/usr/sbin/alsactl should run at boot time.

Installed versions:  171-r5(06:40:07 13.02.2012)(acl edd extras floppy gudev hwdb introspection keymap rule_generator -action_modeswitch -build -debug -selinux -test)

Portage 2.1.10.44 (default/linux/x86/10.0, gcc-4.5.3, glibc-2.13-r4, 2.6.38-gentoo-r6-vyper-v1 i686)
=================================================================
System uname: Linux-2.6.38-gentoo-r6-vyper-v1-i686-AMD_Athlon-tm-_3200+-with-gentoo-2.0.3
Timestamp of tree: Mon, 13 Feb 2012 00:15:01 +0000
ccache version 3.1.6 [enabled]
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.1.4-r3
dev-util/ccache:          3.1.6
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.10.3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.4.5, 4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind /var/spool/torque"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs candy ccache clean-logs compress-build-logs distlocks ebuild-locks fixlafiles force-prefix news parallel-fetch parallel-install protect-owned sandbox sfperms split-elog split-log strict unknown-features-filter unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="http://ftp.romnet.org/gentoo/ 		ftp://ftp.romnet.org/gentoo/ 		http://mirrors.xservers.ro/gentoo/ 		ftp://mirrors.telepoint.bg/gentoo/ 		http://tux.rainside.sk/gentoo/ 		ftp://gentoo.inf.elte.hu/ 		http://gentoo.inf.elte.hu/ 		http://gentoo.mneisen.org/ 		ftp://tux.rainside.sk/gentoo/ 		http://mirrors.linuxant.fr/distfiles.gentoo.org/"
LANG="ro_RO.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en ro"
MAKEOPTS="-j2 -l=77"
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="/usr/local/portage"
SYNC="rsync://rsync.ro.gentoo.org/gentoo-portage"
USE="3dnow X Xaw3d a52 aac aalib accessibility acl acpi alsa avahi bash-completion bcmath berkdb branding bzip2 cairo calendar caps cdda cddb cdparanoia cgi clamav cli cracklib crypt css ctype curl curlwrappers cvs cxx dbus dga directfb djvu doc dts dv dvd encode examples exif expat fam fastcgi fbcon ffmpeg flac flatfile fontconfig ftp gd gdbm geoip ggi gif gmp gnuplot gnutls gpm graphviz gsm gstreamer gtk guile handbook iconv icu idn imagemagick imap imlib inifile iodbc ipv6 java java6 jbig jpeg jpeg2k kontact ladspa lame latex lcms ldap libcaca libnotify libsamplerate lm_sensors lua lzma lzo mad maildir matroska mbox mhash mmap mmx mng modplug mono motif mp3 mp4 mpeg mpi mplayer mtp musepack mysql mysqli nas ncurses netboot nis nls nptl nsplugin odbc ogg openal openexr opengl openmp pam pcntl pcre pdf perl php png policykit posix profile python qt4 quicktime radius raw readline recode rss ruby samba sasl sdl semantic-desktop session sharedext simplexml skey slang slp sndfile snmp soap sockets socks5 speex spell spl sqlite sqlite3 sse ssl startup-notification subversion suid svg svga syslog sysvipc taglib tcl tcpd theora threads tidy tiff tk tokenizer truetype udev unicode usb vcd vhosts vorbis wavpack wddx win32codecs wmf x264 x86 xattr xcb xcomposite xft xine xinerama xml xmlrpc xosd xpm xscreensaver xsl xulrunner xv xvid zeroconf zlib zsh-completion" ALSA_PCM_PLUGINS="*" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LINGUAS="en ro" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Rafał Mużyło 2012-02-14 00:32:51 UTC
Is /usr a separate partition from / ?
Comment 2 Rafał Mużyło 2012-02-14 01:54:07 UTC
Never mind, I noticed the relevant part:
> it might be a problem
> with /usr/sbin directory not being mounted at the time of the execution

that's indeed a problem cause udev pretty much assumes /usr is already mounted.

See the thread on gentoo-dev - most likely you'll need an initramfs.
Comment 3 vyperin 2012-02-14 13:02:52 UTC
/usr is an ext4 partition, using lvm2, on a volume group spanning on top of a raid 0 partition created with an array of 2 disks - mount output:

/dev/mapper/vg-usr on /usr type ext4 (rw)

_______

The kernel is generated with genkernel, and does have an intramfs - grub.conf setting:

title Gentoo Linux 2.6.38-r6-vyper-v1
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.38-gentoo-r6-vyper-v1 dolvm real_root=/dev/md3 vga=0x31A splash=verbose,theme:natural_gentoo console=tty1
initrd /boot/initramfs-genkernel-x86-2.6.38-gentoo-r6-vyper-v1

________

I am waiting for the 3.2.1 ~x86 stabilization for the next kernel update on the machine (the VM with the same issue is running a 3.2.1 kernel, also with intramfs, because 3.2.1 is stable for amd64).

I build all my kernels with genkernel (because less time and knowledge is required ...). I have seen lately that i can include intramfs right into the kernel - is this the new way to do it ?

________

I presume from your comment that this might be an OpenRC issue, regarding the order of service execution - but who was first ? - the egg or the hen ? - does udev need all filesystem mounted or vice-versa - the filesystem needs udev so it can be mounted ?

Regards
Comment 4 Rafał Mużyło 2012-02-14 22:32:49 UTC
The thread in question starts here: http://archives.gentoo.org/gentoo-dev/msg_c3c5bdabbe058b08627ff04cee896af3.xml (indeed, this mail archive interface is quite lacking).

I meant "you need an initramfs that mounts /usr" - I'm not sure one generated by genkernel does that.

Recent udev changes gone in a direction of treating not mounted /usr as a sysadmin failure.

(on a semi-related note: I've always considered as a problem,not a solution)
Comment 5 Fab 2012-02-18 09:23:29 UTC
Duplicate of bug #384375 ? Seems fixed by last alsa-utils in the tree :

> 03 Feb 2012; Tony Vroon <chainsaw@gentoo.org> +alsa-utils-1.0.25.ebuild,
>  +files/alsa-utils-1.0.25-separate-usr-var-fs.patch:
> [...]
>  Patch by Martin van Gagern silences warnings when using a separate /usr
>  or /var partition, closes bug #384375.
Comment 6 Rafał Mużyło 2012-02-26 16:13:24 UTC
*** Bug 405801 has been marked as a duplicate of this bug. ***
Comment 7 Oleg 2012-03-17 14:45:37 UTC
Did anybody try to move /usr/sbin/alsactl to /sbin/alsactl?
Comment 8 cyberbat 2012-03-17 21:11:50 UTC
(In reply to comment #7)
> Did anybody try to move /usr/sbin/alsactl to /sbin/alsactl?

I think it will not make problem go away because of
ldd /usr/sbin/alsactl | grep usr
        libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f5355278000)
Comment 9 Oleg 2012-03-17 23:22:14 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > Did anybody try to move /usr/sbin/alsactl to /sbin/alsactl?
> 
> I think it will not make problem go away because of
> ldd /usr/sbin/alsactl | grep usr
>         libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f5355278000)

> /usr/lib64/libasound.so.2

It can be fixed also.
Comment 10 Rafał Mużyło 2012-03-18 11:53:38 UTC
@comment 9: the thing is it *won't* be fixed. Just read the thread I mentioned: there's a lot of bikeshedding there, but in the end it make it quite clear, that unless somebody *successfully* forks udev, /usr *must* be mounted by the time udevd gets run.
Comment 11 Alexander E. Patrakov 2012-03-19 05:36:29 UTC
Is the problem really limited to /usr? Does genkernel or drakut also mount /var? I am asking because alsactl also reads /var/lib/alsa/asound.state, and thus, by the same logic, /var must be mounted.
Comment 12 Samuli Suominen (RETIRED) gentoo-dev 2012-03-21 00:17:54 UTC

*** This bug has been marked as a duplicate of bug 364235 ***