First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 232875
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo ALSA team <alsa-bugs@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Bob Raitz <pappy_mcfae@yahoo.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:
Flags: Requestee:
  ()

Filename Description Type Creator Created Size Actions
alsasound_intel_hda_endfreeze.patch patch that fixes snd-intel-hda shutdown hang patch Bob Raitz 2008-08-11 17:45 0000 236 bytes Details | Diff
alsasound.patch alsasound module unload on stop patch patch nvinson@comcast.net 2009-03-27 01:51 0000 1.77 KB Details | Diff
alsa-rmmod-topsort.patch rmmod snd* modules in topological order patch Pavel Shved 2009-04-05 12:03 0000 1.49 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 232875 depends on: Show dependency tree
Bug 232875 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2008-07-24 19:05 0000
At shutdown, whether during a reboot or a full shutdown, the process will hang
after putting the message "Killing processes using ALSA" on the screen. This is
an intermittant problem. Sometimes, the system will shutdown properly. However,
when the error hits, it can take upwards of ten minutes to shutdown properly.
If the shutdown is forced, the root partition comes up as dirty on the next
boot, and receives a full fscking.

Reproducible: Sometimes

Steps to Reproduce:
1. Shutdown system normally
2. Receive "Killing processes using ALSA" message
3. Wait ten minutes or more for the computer to finish shutdown cycle.

Actual Results:  
This is an intermittent bug. Sometimes the results are fine, sometimes, not. 

Expected Results:  
That this error shouldn't occur.

It seems limited to the snd-intel-hda sound chip, as I have two systems with
different sound chips, and neither of them experience this issue.

EMERGE --INFO FOR AFFECTED MACHINE.


pappy-lap ~ # emerge --info
Portage 2.2_rc3 (default-linux/x86/2007.0, gcc-4.2.3, glibc-2.8_p20080602-r0,
2.6.26 i686)
=================================================================
System uname:
Linux-2.6.26-i686-Intel-R-_Celeron-R-_M_CPU_440_@_1.86GHz-with-glibc2.0
Timestamp of tree: Thu, 24 Jul 2008 17:00:03 +0000
distcc 2.18.3 i486-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.4
dev-lang/python:     2.5.2-r5
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.12
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.62-r1
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i486-pc-linux-gnu"
CFLAGS="-march=pentium4 -O2 -pipe"
CHOST="i486-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/php/apache2-php5/ext-active/
/etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild
/etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=pentium4 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distcc distlocks metadata-transfer parallel-fetch
preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS=""
LINGUAS="en"
MAKEOPTS="-j256"
PKGDIR="/usr/portage/packages"
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.gentoo.org/gentoo-portage"
USE="X a52 aac acl alsa ao audiofile avi bash-completion berkdb bitmap-fonts
bzip2 cairo cdr cli cracklib crypt css cups dbus dlloader dri dts dv dvd dvdr
dvdread eds encode fam fbcon ffmpeg fftw flac foomaticdb fortran gdbm gif gimp
gpm gsl gtk hal iconv ipv6 isdnlog jack jpeg kde ladspa lame ldap libg++
libsamplerate live mad midi mikmod mp3 mpeg mudflap nas ncurses nls nptl
nptlonly ogg opengl openmp pam pcre pdcre pdf pdflib perl php png ppds pppd
python qt3 quicktime readline reflection samba sdl session slang slp sndfile
spell spl sse ssl swat tcpd theora tiff truetype truetype-fonts type1-fonts
udev unicode usb vidix vorbis wifi win32codecs wxwindows x264 x86 xine xml xorg
xscreensaver xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x
ca0106 cmipci emu10k1      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 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="evdev keyboard mouse synaptics"
KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001
mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="i810"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS,
PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #1 From Sergey Kondakov 2008-07-25 07:24:01 0000 -------
confirming it. this is major failure, you know.

Portage 2.2_rc3 (default/linux/amd64/2008.0/desktop, gcc-4.3.1,
glibc-2.8_p20080602-r0, 2.6.26-gentoo-v-fox-laptop x86_64)
=================================================================
System uname:
Linux-2.6.26-gentoo-v-fox-laptop-x86_64-AMD_Athlon-tm-_64_X2_Dual-Core_Processor_TK-57-with-glibc2.2.5
Timestamp of tree: Fri, 25 Jul 2008 07:04:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[enabled]
app-shells/bash:     3.2_p39
dev-lang/python:     2.4.4-r13, 2.5.2-r5
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.62-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8-sse3 -O2 -Wno-error -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/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/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=k8-sse3 -O2 -Wno-error -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distcc distlocks fixpackages parallel-fetch preserve-libs sandbox
sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.roedu.net/pub/mirrors/gentoo.org/
http://gentoo.tiscali.nl/ http://ftp.dei.uc.pt/pub/linux/gentoo/
http://gentoo.virginmedia.com/ http://fido.online.kz/gentoo"
LANG="ru_RU.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,--sort-common -Wl,--enable-new-dtags -Wl,--as-needed
-Wl,--hash-style=gnu -Wl,-O1"
LINGUAS="ru en"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
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/portage/local/layman/berkano
/usr/portage/local/layman/lila-theme /usr/portage/local/v-fox"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 3ds 64bit 7zip X Xaw3d Xorg a52 aac aalib ace acl acpi
addbookmarks alias alsa amarok amd64 ao apache2 async audiofile autoreplace
bash-completion bluetooth branding bzip2 cairo cap caps cardbus cdb cddb
cdparanoia cdr cdrom cg charconv chm chroot cisco cli colordiff compress
connectionstatus contactnotes cpio cracklib crypt css cups curl curlwrappers
curses cyrillic dbus dedicated dhcp dia dialup directfb disk-partition diskio
divx djvu dlz dmi dmx dri dts dv dvb dvd dvdnav dvdr dvdread dynamicplugin elf
emboss emovix enca encode erandom evdev examples exif expat fam fame fat fbcon
fbcondecor fbdev fbsplash ffmpeg firefox flac foomaticdb fortran ftp gd gdbm
geoip geos ggi gif glibc-omitfp gpm gre groupwise gsm gtk h264 h323 hal
hda-intel hddtemp highlight history html iconv icq ieee1394 imagemagick imlib
ipv6 irc isdnlog jabber jingle john joystick jpeg jpeg2k kde kdexdeltas
kerberos keyboard kqemu lame laptop latex lcms libcaca libnotify libsamplerate
libssh2 libwww lighttpd live lm_sensors login-watch logitech-mouse logrotate
lzo mad matroska md5sum midi mikmod mime mjpeg mmap mmx mmxext mng mouse mp2
mp3 mp4 mpeg mplayer msn mudflap multilib musepack nas ncurses neXt netboot
netmeeting network network-cron nls nntp nowlistening nptl nptlonly nsplugin
ntfs objc objc++ objc-gc offensive ogg openal openexr opengl openmp openssl
openvpn oscar pam pcmcia pcntl pcre pdf perl php physfs plugins png pnm
portaudio posix ppds pppd pptp python qemu qt3 qt3support qt4 quicktime radio
rar rdesktop readline reflection reiser4 reiserfs rtc samba sametime scanner
scsi sdl session sharedext shorten skey slang slp smp sms sockets socks5 sox
speex spell spl sqlite sqlite3 srt sse sse2 sse3 ssl ssse3 startup-notification
statistics subtitles svg symlink sysfs tcpd tftp tga theora threads tiff
timidity truetype udev unicode upnp urandom usb utf8 uuencode v4l v4l2 vcd vesa
vesafb vhosts videos vorbis wavpack wddx webpresence wifi winpopup wma wmf wmp
x264 xattr xcb xcomposite xface xfs xine xml xorg xosd xpm xscreensaver xv xvid
yahoo zip zlib zsh-completion" ALSA_CARDS="hda-intel hda-codec-analog
hda-codec-atihdmi hda-codec-cmedia hda-codec-conexant hda-codec-realtek
hda-codec-si3054 hda-codec-sigmatel hda-codec-via hda-generic hda-hwdep
hda-power-save hpet seq-rtctimer-default virmidi rtctimer"
ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file
hooks iec958 ioplug ladspa lfloat linear meter 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"
APACHE2_MPMS="worker" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse
joystick synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk
hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en"
LIRC_DEVICES="audio_alsa devinput inputlirc usb usbx" USERLAND="GNU"
VIDEO_CARDS="fglrx radeon fbdev v4l"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS,
PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #2 From Bob Raitz 2008-07-25 07:29:29 0000 -------
(In reply to comment #1)
> confirming it. this is major failure, you know.
> 
I'm getting that feeling. It never really bothers me that much since I tend to
shut this machine down at the end of the day, and frankly, I don't care if it
takes its sweet time to shut down. The real PITA comes when I'm doing kernel
compilation or other things that require reboot. 

Blessed be!
Pappy

------- Comment #3 From George GTN 2008-07-25 10:04:31 0000 -------
The same issue here!

emerge --info
Portage 2.1.4.4 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0,
2.6.25-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.25-gentoo-r6 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor
4800+
Timestamp of tree: Thu, 24 Jul 2008 07:15:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r5
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -msse3"
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 /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf
/etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo
/etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=athlon64 -O2 -pipe -msse3"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg distlocks metadata-transfer parallel-fetch sandbox sfperms
strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://files.gentoo.org http://files.gentoo.org
ftp://ftp.ntua.gr/pub/linux/gentoo/ http://ftp.ntua.gr/pub/linux/gentoo/
ftp://ftp.uoi.gr/mirror/OS/gentoo/ http://ftp.uoi.gr/mirror/OS/gentoo/
http://ftp.physics.auth.gr/pub/mirrors/gentoo/
ftp://ftp.physics.auth.gr/pub/mirrors/gentoo/ "
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_GB el uk"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X Xaw3d a52 aac aalib accessibility acl acpi addbookmarks
akode alias alsa amd64 amr aotuv apache2 asf asterisk audiofile avahi avi
bindist bitmap-fonts bzip2 bzlib cairo caps cdda cddb cdparanoia cdr
connectionstatus contactnotes cpudetection cracklib crypt css ctype cups curl
curlwrappers cxx dbus dc1394 divx divx4linux djbfft dlloader dmi doc dri dts dv
dvb dvd dvdr dvdread ecc effects elf encode exif expat extrafilters fam fame
ffmpeg firefox flac flash fontconfig fortran fpx fuse gadu gd gdbm gif gimp
gimpprint gmedia gnutls gpac gphoto2 gpm graphviz gs gstreamer gtk gtk2 hal
highlight history iconv ieee1394 imagemagick imap imlib inkjar irc jack java
javascript jbig jingle jpeg jpeg2k kde ladspa lcms ldap lesstif libcaca
libsamplerate libwww live lm_sensors logitech-mouse lua lzo mad maildir
matroska mbrola mdnsresponder-compat memlimit midi mikmod mjpeg mmap mmx mmxext
mng modplug motif mozilla mp3 mp4 mpeg mpi mplayer mpm-prefork multilib
musepack musicbrainz nas ncurses neXt network nls no-suexec nowlistening nptl
nptlonly nsplugin nvidia odbc offensive ogg oggvorbis openexr opengl oss pam
pcre pda pdf perl png posix povray ppds python qt3 qt4 quicktime rdesktop
readline realmedia rpm rtc ruby sametime scanner sdl session slp smartcard smp
sms smux sndfile snmp sockets sox speex spell sqlite sse sse2 ssl
static-modules statistics stream subtitles svg tcl tcltk tcpd tetex texteffect
theora tidy tiff tk tokenizer translator truetype type1-fonts udev unicode usb
utf8 v4l v4l2 vcd vdr vlm vorbis wavpack webpresence winpopup wmf wmp wxwindows
x264 xanim xine xml xorg xpm xscreensaver xsl xv xvid xvmc yahoo yv12 zeroconf
zlib zvbi" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="alaw copy dshare dsnoop
extplug null shm adpcm file hooks ladspa lfloat linear meter mulaw multi rate
route share" APACHE2_MODULES="access auth mime-magic headers log_config
setenvif mime dir so authz_host" APACHE2_MPMS="prefork" ELIBC="glibc"
INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz
cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB el
uk" USERLAND="GNU" VIDEO_CARDS="nvidia fbdev vesa vga"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #4 From Jeroen Roovers 2008-07-25 15:24:11 0000 -------
Of course, ALSA isn't to blame for these problems, and neither is the init
script system. The reporters should investigate which processes that use ALSA
are slowing it down.

------- Comment #5 From Bob Raitz 2008-07-25 18:27:09 0000 -------
(In reply to comment #4)
> Of course, ALSA isn't to blame for these problems, and neither is the init
> script system. The reporters should investigate which processes that use ALSA
> are slowing it down.
> 
So what is to blame? I do nothing on the machine that acts up that I don't do
on the other systems that don't. The only thread that links this problem to
others is the fact that it's happening with the snd-intel-hda driver. Maybe
it's the chipset...maybe it's the drivers. NO matter what it is, the result is
the same.

Blessed be!
Pappy

------- Comment #6 From George GTN 2008-08-08 10:55:30 0000 -------
Trying to delineat the situation, I have observed that -before the occurrence
of this situation- I get amarok not working at all (it will not load) and one
directory stalled. It will not display its contents no matter what. 

It is the parent directory of the directory where my nfs partition is mounted,
which is also stalled.

I could not find any logs about this, probably because I am unaware of how to
search them properly.

------- Comment #7 From Bob Raitz 2008-08-11 09:51:31 0000 -------
OK, I *think* I have a fix for this. I just tried it, and it seems to work. I'm
going to leave my machine up overnight pulling in an internet stream via gxine.
If anything will cause problems, that will. If my fix works, I'll publish it
here.

Cross your collective fingers!

Blessed be!
Pappy

------- Comment #8 From Bob Raitz 2008-08-11 17:42:11 0000 -------
Ok, I have tried this fix eight times, including one time where the machine ran
overnight with an internet stream feeding gxine. If there was anything that was
sure to cause the problem in this bug, that was it.

The problem lies in the /etc/init.d/alsasound file; specifically, the problem
exists in function unload_modules_recursive() to whit:
unload_modules_recursive() {
        local revdeps="$(lsmod | sed -n -e "s/,/ /g" -e "s/^$1 *[0-9]* *[0-9]*
\(.*\)/\1/p")"

        for module in ${revdeps} ; do
                unload_modules_recursive "${module}"
        done

        vebegin "Unloading: $1"
        rmmod --wait "$1"
        veend $?
}

The problem lies in the heart of the fucntion 'rmmod --wait "$1"' . If that
function gets changed to:

unload_modules_recursive() {
        local revdeps="$(lsmod | sed -n -e "s/,/ /g" -e "s/^$1 *[0-9]* *[0-9]*
\(.*\)/\1/p")"

        for module in ${revdeps} ; do
                unload_modules_recursive "${module}"
        done

        vebegin "Unloading: $1"
        rmmod --force "$1"
        veend $?
}
the kernel can then unload the modules without waiting. It's probably a really
dirty fix, but I figure since the computer is shutting down anyway, if this
taints the kernel, too bad.

Anyway, I have created a patch that I will be sending along after I post this.

Please try this and let me know if it works for you as well. I don't think that
forced module uloading has to be set in the kernel. If the fix works for you
without that option, please let me know.

Blessed be!
Pappy

------- Comment #9 From Bob Raitz 2008-08-11 17:45:45 0000 -------
Created an attachment (id=162692) [details]
patch that fixes snd-intel-hda shutdown hang

This is not the world's greatest patch, but it does work.

------- Comment #10 From Bob Raitz 2008-08-11 17:47:58 0000 -------
One final word: if you decide to manually fix /etc/init.d/alsasound, don't
forget to make sure it is executable after the fact.

Please let me know how this fix works.

Blessed be!
Pappy

------- Comment #11 From Peter Campion-Bye 2008-08-13 14:16:10 0000 -------
(In reply to comment #10)
> 
> Please let me know how this fix works.

Worked for me, thanks Bob. 
Don't think it's specific to the intel snd driver, I use emu10k1.

------- Comment #12 From Bob Raitz 2008-08-13 21:47:54 0000 -------
(In reply to comment #11)
> (In reply to comment #10)
> > 
> > Please let me know how this fix works.
> 
> Worked for me, thanks Bob. 
> Don't think it's specific to the intel snd driver, I use emu10k1.
> 

That's fantastic! I am so glad to hear that it helped.

Blessed be!
Pappy

------- Comment #13 From Bob Raitz 2008-08-22 06:58:25 0000 -------
Unfortunately, this doesn't fix things. What appears to be happening is
something takes hold of alsa, and won't let go. How would I go about finding
which program is taking hold? 

Blessed be!
Pappy

------- Comment #14 From Robert W. 2008-08-23 13:57:38 0000 -------
Confirmed on ibook G4 (ppc32). I also think, that the problem is not related to
a specific sound driver.

mary@belle-gunness ~ $ lsmod|grep snd
snd_seq_dummy           2884  0
snd_seq_oss            35572  0
snd_seq_midi_event      7520  1 snd_seq_oss
snd_seq                59648  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device          7596  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            43968  0
snd_mixer_oss          16480  1 snd_pcm_oss
snd_aoa_codec_tas      12160  2
snd_aoa_fabric_layout    11144  3
snd_aoa                16800  2 snd_aoa_codec_tas,snd_aoa_fabric_layout
snd_aoa_i2sbus         20580  1
snd_pcm                83940  3 snd_pcm_oss,snd_aoa_i2sbus
snd_timer              24260  3 snd_seq,snd_pcm
snd_page_alloc          9128  1 snd_pcm
snd                    59028  15
snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_aoa_codec_tas,snd_aoa_fabric_layout,snd_aoa,snd_aoa_i2sbus,snd_pcm,snd_timer
soundcore               7428  1 snd
snd_aoa_soundbus        5636  2 snd_aoa_fabric_layout,snd_aoa_i2sbus


For completeness, my emerge --info below.

Portage 2.1.4.4 (default/linux/powerpc/ppc32/2008.0/desktop, gcc-4.1.2,
glibc-2.6.1-r0, 2.6.26.2-1 ppc)
=================================================================
System uname: 2.6.26.2-1 ppc 7447A, altivec supported
Timestamp of tree: Tue, 12 Aug 2008 20:37:01 +0000
distcc 2.18.3 powerpc-unknown-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r13, 2.5.2-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="ppc"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -mtune=G4 -mcpu=G4 -maltivec -fno-strict-aliasing -pipe    
-mabi=altivec"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf
/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c
/etc/udev/rules.d"
CPPFLAGS="-O2 -mtune=G4 -mcpu=G4 -maltivec -fno-strict-aliasing -pipe  
-mabi=altivec"
CXXFLAGS="-O2 -mtune=G4 -mcpu=G4 -maltivec -fno-strict-aliasing -pipe  
-mabi=altivec"
DISTDIR="/var/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks metadata-transfer parallel-fetch sandbox
sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
http://mirror.bytemark.co.uk/gentoo/ http://gentoo.ynet.sk/pub
http://ftp.uoi.gr/mirror/OS/gentoo/ http://mirror.qubenet.net/mirror/gentoo/"
LC_ALL="de_DE.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="de en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
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="/var/portage"
PORTDIR_OVERLAY="/var/portage/local/layman/sunrise
/var/portage/local/layman/xfce /var/portage/local/layman/powerpc
/var/portage/local/layman/sabayon /var/portage/local/layman/java-overlay
/usr/local/portage /var/portage/local/layman/swegener"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl alsa altivec apm arts bash-completion berkdb bluetooth bzip2 cairo
caps cddb cdr cli cracklib crypt cscope cups dbus doc dri dvd dvdread eds emacs
emboss encode esd evo fam ffmpeg fftw firefox fortran gdbm gif gpg gpm graphviz
gtk hal htmlhandbook iconv idn imap ipv6 isdnlog java java5 java6 jpeg jpg kde
laptop latex ldap libnotify mad midi mikmod mp3 mpeg mudflap musicbrainz
ncurses networkmanager nls nptl nptlonly ogg opengl openmp pam pcre pda pdf
perl plotutils png ppc ppds pppd python qt3 qt3support qt4 quicktime readline
reflection samba sasl sdl session socks5 spell spl ssl startup-notification svg
sysfs tcpd threads tiff truetype unicode usb vcd vim-syntax vorbis wifi xattr
xcomposite xine xml xorg xscreensaver xv zeroconf zlib" ALSA_CARDS="aoa
aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie
powermac usb-audio via82xx" 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="synaptics mouse evdev keyboard" KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses
text" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="fbdev radeon"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, PORTAGE_COMPRESS,
PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #15 From George GTN 2008-08-24 13:04:12 0000 -------
(In reply to comment #6)
> Trying to delineat the situation, I have observed that -before the occurrence
> of this situation- I get amarok not working at all (it will not load) and one
> directory stalled. It will not display its contents no matter what. 
> 
> It is the parent directory of the directory where my nfs partition is mounted,
> which is also stalled.
> 
> I could not find any logs about this, probably because I am unaware of how to
> search them properly.
> 

Disabling my nfs partition, the problem seems to have vanished. 
It has never occurred again.

I know this is not a solution but at least I seem to have found what caused the
whole problem. 

It is nfs that made its directory stall, which in turn made its parent
directory stall. 

The parent directory included the directory where reside the music files that
Amarok uses and therefore Amarok was getting stalled and consequently Alsa was
having a problem terminating due to Amarok being stalled.

This seems to be the story in my case. I have never received an error message.
I repeat that the conclusion is due to the fact that after disabling NFS the
problem vanished.

------- Comment #16 From Robert W. 2008-08-24 14:08:05 0000 -------
(In reply to comment #15)
> 
> Disabling my nfs partition, the problem seems to have vanished. 
> It has never occurred again.
> 
> I know this is not a solution but at least I seem to have found what caused the
> whole problem. 
> 
> It is nfs that made its directory stall, which in turn made its parent
> directory stall. 
> 
> The parent directory included the directory where reside the music files that
> Amarok uses and therefore Amarok was getting stalled and consequently Alsa was
> having a problem terminating due to Amarok being stalled.
> 
> This seems to be the story in my case. I have never received an error message.
> I repeat that the conclusion is due to the fact that after disabling NFS the
> problem vanished.
> 

Sounds like a heisenbug. On my affected machine neither amarok nor any nfs is
running, thus I doubt again that there's a relationship.

------- Comment #17 From Daniel Macher 2008-10-12 21:19:00 0000 -------
(In reply to comment #16)
> Sounds like a heisenbug. On my affected machine neither amarok nor any nfs is
> running, thus I doubt again that there's a relationship.

I have a similar problem with alsa on shutdown. On my machine neither amarok
nor nfs is in use, too. In my case the problem first occured after compiling
and using the snd_usb_audio module to get the micro of a logitech usb-webcam
running.

------- Comment #18 From Steve Dibb 2008-11-05 04:27:06 0000 -------
I'm curious, has anyone tried editing /etc/init.d/alsasound and actually
telling the init not to unload modules and/or kill processes?

------- Comment #19 From Steve Dibb 2008-11-05 04:27:38 0000 -------
(In reply to comment #18)
> I'm curious, has anyone tried editing /etc/init.d/alsasound and actually
> telling the init not to unload modules and/or kill processes?
> 

Gah, typo, I meant /etc/conf.d/alsasound

UNLOAD_ON_STOP="no"
KILLPROC_ON_STOP="no"

------- Comment #20 From Bob Raitz 2008-11-05 06:16:49 0000 -------
(In reply to comment #19)
> (In reply to comment #18)
> > I'm curious, has anyone tried editing /etc/init.d/alsasound and actually
> > telling the init not to unload modules and/or kill processes?
> > 
> 
> Gah, typo, I meant /etc/conf.d/alsasound
> 
> UNLOAD_ON_STOP="no"
> KILLPROC_ON_STOP="no"
> 

That doesn't fix the problem. It leaves the open audio connnection until it's
time to unmount file systems and remount them read-only...then it ties up yet
again. 

I just don't see that there's a lot of interest with this bug. It remains
unfixed.

------- Comment #21 From Bob Raitz 2008-12-12 06:12:56 0000 -------
The problem remains with alsa-1.0.18. I've turned of system sounds, which keeps
it from happening until I use kaffeine or xine-ui.

Blessed be!
Pappy

------- Comment #22 From Eric Bosch 2009-01-04 00:57:07 0000 -------
I just ran into this issue myself, and in my case, I was able to determine that
NFS was trying to shut down, however it had locked up for some yet to be
determined reason.  Forced to coldboot it.  I am in process now of re-emerging
world to see if there is improvement.

------- Comment #23 From Carl Michal 2009-03-12 22:30:46 0000 -------
I see exactly the same symptoms reproducibly.  I've just installed
kernel-2.6.29-rc7, and the order the modules need to be removed seems to
matter.

In particular, the alsasound initscript tries to remove
snd_hda_realtek_codec before snd_hda_codec - but it hangs waiting for
snd_hda_realtek_codec.  snd_hda_codec has to be removed first.

------- Comment #24 From nvinson@comcast.net 2009-03-27 01:51:45 0000 -------
Created an attachment (id=186372) [details]
alsasound module unload on stop patch

Here's a second patch for the issue.  This one is much more sophisticated than
the previously posted one.  Basically this patch ensures that all driver and
sequencer modules are unloaded before everything else.  Hopefully, this fixes
the problem for everyone.

------- Comment #25 From Carl Michal 2009-03-27 05:22:10 0000 -------
This is a bit weird.  The patch *nearly* works for me, but not quite.

On boot, the alsasound initscript doesn't complain about anything, but the
/var/run/alsasound/alsa.modules file that it creates contains one blank line. 
And so then when I shutdown I run into the same problem.

However, if I stop alsa (I have to manually remove snd_intel_hda before
stopping with the initscript), and then start again with the initscript, then
the script complains:

 *   Could not detect custom ALSA settings.  Loading all detected alsa drivers.

My /proc/asound/cards looks like:

 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xdfebc000 irq 16

but now /var/run/alsasound/alsa.modules looks like:
snd_hda_intel 
and after that the initscript will shutdown nicely.

------- Comment #26 From Pavel Shved 2009-04-05 11:57:09 0000 -------
I had the same issue and here's what i figured out:

Some modules are listed in lsmod without their reverse dependencies.  However,
number of revdeps is correct.

In my lsmod the following line presents:
----- snip ------
snd_hda_codec_realtek   241652  1
----- snip ------                 ^^^^^^
                               nothing here!

I manually figured out that i should rmmod snd_hda_intel for
snd_hda_codec_realtek to unload.

In comment #14 we see several such modules:
> snd_aoa_codec_tas      12160  2
> snd_aoa_fabric_layout    11144  3
> snd_aoa_i2sbus         20580  1

I think it's alsa/kernel bug.  Please, report it to them (i don't know where
exactly).

What i propose is the other algorithm of recursive module unloading: 1) lsmod;
2) pick a module with zero reverse dependencies; 3) rmmod it; 4) repeat.

That would work in all cases (except some even more weird).  But the problem is
more profound.

------- Comment #27 From Pavel Shved 2009-04-05 12:03:52 0000 -------
Created an attachment (id=187365) [details]
rmmod snd* modules in topological order

The patch implements the algorithm proposed in comment #26.

WARNING! This patch won't work if snd* module may depend on any other module
(that doesn't match snd* pattern).  I think that it's impossible by design, but
you know better.  However, the patch can be fixed if the opposite holds.

------- Comment #28 From renato gallo 2009-04-07 13:38:59 0000 -------
same problem on kernel 2.6.29.1

(In reply to comment #27)
> Created an attachment (id=187365) [edit] [details]
> rmmod snd* modules in topological order
> 
> The patch implements the algorithm proposed in comment #26.
> 
> WARNING! This patch won't work if snd* module may depend on any other module
> (that doesn't match snd* pattern).  I think that it's impossible by design, but
> you know better.  However, the patch can be fixed if the opposite holds.
> 

------- Comment #29 From renato gallo 2009-04-07 13:45:24 0000 -------
patch tested it seems to work

(In reply to comment #27)
> Created an attachment (id=187365) [edit] [details]
> rmmod snd* modules in topological order
> 
> The patch implements the algorithm proposed in comment #26.
> 
> WARNING! This patch won't work if snd* module may depend on any other module
> (that doesn't match snd* pattern).  I think that it's impossible by design, but
> you know better.  However, the patch can be fixed if the opposite holds.
> 

------- Comment #30 From Gabor Garami 2009-04-15 18:19:48 0000 -------
I have same issue with 2.6.29-gentoo-r1 kernel. My laptop uses
snd_hda_codec_realtek module, and it cannot removable even if no sound
application running (i booted firstly without X and the shutdown was freezed at
alsasound). No nfs installed...

Portage 2.1.6.11 (default/linux/amd64/2008.0, gcc-4.3.2,
glibc-2.8_p20080602-r1, 2.6.29-gentoo-r1 x86_64)
=================================================================
System uname:
Linux-2.6.29-gentoo-r1-x86_64-Intel-R-_Pentium-R-_Dual_CPU_T2370_@_1.73GHz-with-glibc2.2.5
Timestamp of tree: Tue, 14 Apr 2009 01:45:03 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.4.4-r14, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.3.0
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=nocona -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/kde/4.3/env /opt/kde/4.3/share/config
/opt/kde/4.3/shutdown /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/php/apache2-php5/ext-active/
/etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/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
/etc/udev/rules.d"
CXXFLAGS="-O2 -march=nocona -pipe"
DISTDIR="/mnt/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox
sfperms strict unmerge-orphans userfetch userpriv"
GENTOO_MIRRORS="http://gentoo.osuosl.org"
LANG="hu_HU.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="hu"
MAKEOPTS="-j3"
PKGDIR="/mnt/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--bwlimit=512"
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/portage/local/layman/solaris-theme
/usr/portage/local/layman/hron /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 avahi bash-completion berkdb bluetooth branding
bzip2 cli cracklib crypt cups dbus dri eds fortran gdbm gif gnome gnome-keyring
gpm gtk hal iconv ipv6 isdnlog jpeg kdeprefix kerberos ldap libnotify midi mmx
mudflap multilib ncurses networkmanager nls nptl nptlonly opengl openmp pam
pcre perl png pppd python readline reflection samba session spl sse sse2 ssl
sysfs tcpd tiff truetype ttf unicode vim-syntax xinerama xml xorg xulrunner
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 mouse synaptics evdev"
KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001
mtxorb ncurses text" LINGUAS="hu" NETBEANS_MODULES="apisupport groovy gsf
harness ide j2ee java nb websvccommon xml" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS


Module                  Size  Used by
snd_hda_codec_realtek  243652 1 
snd_hda_intel          25656  1 
snd_hda_codec          62208  2 snd_hda_codec_realtek,snd_hda_intel
snd_pcm                79256  2 snd_hda_intel,snd_hda_codec
snd_timer              21808  1 snd_pcm
snd                    63176  7
snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
snd_page_alloc          9760  2 snd_hda_intel,snd_pcm

------- Comment #31 From Gabor Garami 2009-04-15 18:24:55 0000 -------
I thinking... it is a correct way? Because, in your example, the
snd_hda_codec_realtek have zero dependencies but 1 user. How it can works if no
sound application started, so definitelly not uses anythin sound in system?

(In reply to comment #26)
[...]
> What i propose is the other algorithm of recursive module unloading: 1) lsmod;
> 2) pick a module with zero reverse dependencies; 3) rmmod it; 4) repeat.
> 
> That would work in all cases (except some even more weird).  But the problem is
> more profound.
> 

------- Comment #32 From Pavel Shved 2009-04-15 19:49:32 0000 -------
(In reply to comment #31)
> I thinking... it is a correct way? Because, in your example, the
> snd_hda_codec_realtek have zero dependencies but 1 user. How it can works if no
> sound application started, so definitelly not uses anythin sound in system?
What you call a `user' I call a `dependency'.  Anyway modules can also be
`users' of other modules, however, whithout being listed in lsmod!  Try `rmmod
snd_hda_codec_realtek` and check number of users of `snd_hda_intel'.

Anyway, to see an error in generic algorithm and fix it, it doesn't require
profound knowledge on deeper levels.  Experience, Intuition and Experiment are
engineer's weapons.  So, please, try my patch and report whether it works :-) 

------- Comment #33 From renato gallo 2009-04-15 20:15:55 0000 -------
I am looking forward to see this patch on the tree

(In reply to comment #32)
> (In reply to comment #31)
> > I thinking... it is a correct way? Because, in your example, the
> > snd_hda_codec_realtek have zero dependencies but 1 user. How it can works if no
> > sound application started, so definitelly not uses anythin sound in system?
> What you call a `user' I call a `dependency'.  Anyway modules can also be
> `users' of other modules, however, whithout being listed in lsmod!  Try `rmmod
> snd_hda_codec_realtek` and check number of users of `snd_hda_intel'.
> 
> Anyway, to see an error in generic algorithm and fix it, it doesn't require
> profound knowledge on deeper levels.  Experience, Intuition and Experiment are
> engineer's weapons.  So, please, try my patch and report whether it works :-) 
> 

------- Comment #34 From Matthew Schultz 2009-04-15 21:21:29 0000 -------
(In reply to comment #32)
> (In reply to comment #31)
> > I thinking... it is a correct way? Because, in your example, the
> > snd_hda_codec_realtek have zero dependencies but 1 user. How it can works if no
> > sound application started, so definitelly not uses anythin sound in system?
> What you call a `user' I call a `dependency'.  Anyway modules can also be
> `users' of other modules, however, whithout being listed in lsmod!  Try `rmmod
> snd_hda_codec_realtek` and check number of users of `snd_hda_intel'.
> 
> Anyway, to see an error in generic algorithm and fix it, it doesn't require
> profound knowledge on deeper levels.  Experience, Intuition and Experiment are
> engineer's weapons.  So, please, try my patch and report whether it works :-) 
> 

Your patch is working flawlessly here with emu10k1 and intel hda.

------- Comment #35 From Bob Raitz 2009-04-15 21:41:29 0000 -------
Just a word of advice. This problem can be very intermittent. If the new patch
works properly for at least two weeks, I'd say it's fixed. I've got my fingers
crossed.

------- Comment #36 From ranson@mit.edu 2009-04-21 07:17:45 0000 -------
My computer hadn't shut down properly once since I upgraded to 2.6.29.

With alsa-rmmod-topsort.patch, it now shuts down cleanly.

------- Comment #37 From renato gallo 2009-04-21 07:20:20 0000 -------
It solves the problem please add to tree

(In reply to comment #36)
> My computer hadn't shut down properly once since I upgraded to 2.6.29.
> 
> With alsa-rmmod-topsort.patch, it now shuts down cleanly.
> 

------- Comment #38 From Tony Vroon 2009-04-21 10:53:16 0000 -------
All that should be done is stabilising a newer ALSA. We no longer support
module unloading in that version, it was a bad idea in the first place.

------- Comment #39 From Matthew Schultz 2009-04-21 16:46:48 0000 -------
(In reply to comment #38)
> All that should be done is stabilising a newer ALSA. We no longer support
> module unloading in that version, it was a bad idea in the first place.
> 

When will alsa-utils 1.0.19 be stabilized then?

------- Comment #40 From Bob Raitz 2009-04-21 18:57:56 0000 -------
One week down, and not a hang in sight. This might actually be the one to do
the trick. I'll check back next week. :)

------- Comment #41 From pier 2009-04-22 11:40:46 0000 -------
Patch worked for me too. Thanks!

Linux localhost 2.6.29-gentoo-r1 #2 SMP Tue Apr 21 10:53:38 CEST 2009 i686
Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

dmidecode | grep Mac
        Product Name: MacBook4,1
        Family: MacBook
        Product Name: Mac-F22788A9
        Version: Mac-F22788A9

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio
Controller (rev 04)

------- Comment #42 From Gabor Garami 2009-04-24 10:41:42 0000 -------
No, i mean in 'user' as app/service what uses this. For example, if you mount
something, you see 1 user, but no defined dependency. I think, if sound app is
stuck, then the number is greater than 1. How do you decide what happen?

(In reply to comment #32)
> (In reply to comment #31)
> > I thinking... it is a correct way? Because, in your example, the
> > snd_hda_codec_realtek have zero dependencies but 1 user. How it can works if no
> > sound application started, so definitelly not uses anythin sound in system?
> What you call a `user' I call a `dependency'.  Anyway modules can also be
> `users' of other modules, however, whithout being listed in lsmod!  Try `rmmod
> snd_hda_codec_realtek` and check number of users of `snd_hda_intel'.
> 
> Anyway, to see an error in generic algorithm and fix it, it doesn't require
> profound knowledge on deeper levels.  Experience, Intuition and Experiment are
> engineer's weapons.  So, please, try my patch and report whether it works :-) 
> 

------- Comment #43 From Bob Raitz 2009-04-30 18:35:39 0000 -------
Barring the fact that the patch tells me I have some devices not loading, it
has been over two weeks, and I have not experienced a lock up. I'd say this is
probably as close to fixed as the problem has been since I posted it.

Thanks to all.

------- Comment #44 From renato gallo 2009-04-30 23:26:45 0000 -------
I think this is solved it misses just to be added on tree

(In reply to comment #43)
> Barring the fact that the patch tells me I have some devices not loading, it
> has been over two weeks, and I have not experienced a lock up. I'd say this is
> probably as close to fixed as the problem has been since I posted it.
> 
> Thanks to all.
> 

------- Comment #45 From Vlastimil Babka (Caster) 2009-04-30 23:51:05 0000 -------
(In reply to comment #44)
> I think this is solved it misses just to be added on tree

I think alsa team is planning to stabilize new alsa which does not unload
modules anymore by default, per comment 38.
Meanwhile you can try the same behaviour with older alsa as comment 19
suggests.

Comment 20 suggests that disabling module unloading just postpones the problem.
I don't see how the patches on this bug could help in that case, but if that's
still reproducible, then that's a bug to solve IMHO. Otherwise, if disabling
module unloading works for you, that's the solution.

------- Comment #46 From Christophe PEREZ 2009-06-03 04:58:50 0000 -------
(In reply to comment #27)
> Created an attachment (id=187365) [edit] [details]
> rmmod snd* modules in topological order

Worked for me too.
Thanks.

But I wanted to say that I haven't this problem if I boot with
gentoo-sources-2.6.28-r5 kernel. Only with gentoo-sources-2.6.29-r5.

------- Comment #47 From Eric Johnson 2009-06-06 21:22:13 0000 -------
(In reply to comment #27)
> Created an attachment (id=187365) [edit] [details]
> rmmod snd* modules in topological order
> 
> The patch implements the algorithm proposed in comment #26.

Much appreciated. The patch worked for me, as well, running gentoo-sources
2.6.29-r5. And, as in comment #46, under gentoo-sources 2.6.28-r5, the problem
did not exist.

------- Comment #48 From Patrick Leetzor 2009-06-08 22:15:26 0000 -------
If anyone is still having this problem you can fix this by editing:

/etc/conf.d/rc

And disabling unload modules on shutdown.

This is probably for more recent or the MOST recent version of alsa.

------- Comment #49 From Jakob Schiotz 2009-06-10 09:04:08 0000 -------
The suggestion in comment #19 of setting

UNLOAD_ON_STOP="no"

in /etc/conf.d/alsasound worked well for me.  I did *not* set KILLPROC_ON_STOP
to no since that part was not hanging.  Perhaps that is the reason I did not
get hangs at the end of the shutdown process, as reported in comment #20.

/Jakob

------- Comment #50 From Michael Pyne 2009-06-21 06:07:36 0000 -------
I've encountered this bug when building the kernel with the "snd" module
compiled in (so it didn't show up in lsmod).  My fix I generated here was
essentially the same as the last patch attached to this bug (i.e. remove snd*
modules that have 0 dependents until all are removed).

However, I would say that the best fix is to disable module unloading,
especially after reading the rmmod man page (some kernels even have unloading
disabled completely).  Module unloading is not needed to shutdown the computer
and actually it even increases the time it takes to shutdown.  It's also not
needed for saving audio settings, since unloading happens after that is done.

If it is decided to leave in the option to unload modules then it will be
necessary to implement Pavel's patch however as the current unloading is
broken.

------- Comment #51 From Sebastián Treu 2009-07-02 09:58:27 0000 -------
Hi there,

I was having similar problems with alsa. Kernel is vanilla-sources-2.6.29.5
patched with the real time patch:
ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/

When the system was going down the alsasound script hangs on "Unloading Alsa
modules". Same when doing "/etc/init.d/alsasoun stop". I issue this manually,
and in another terminal I issue: "modprobe -r snd-hda-intel". Then, alsasound
script exits complaining on unexisting modules. For debug purposes I enabled
more verbose debug (all posible) on alsa. I've donde the same without any
modules message.

Then, I was sure that it was a kernel issue, because prior this kernel I had no
problems. So I tried removing options until it works fine for now and I removed
this ones:

< > HR-timer backend support 
< > RTC Timer support 
[ ] Build hwdep interface for HD-audio driver

And the only features enabled on HDA are the ones that correspond to my
chipset, and the generic parser (this is needed, module loading will complaint
if not):

[*] Enable generic HD-audio codec parser
[*] Build NVIDIA HDMI HD-audio codec support

With that and this:
<M>   Sequencer support
<M>   Sequencer dummy client
<M>   OSS Mixer API
<M>   OSS PCM (digital audio) API
[*]     OSS PCM (digital audio) API - Include plugin system
[*]   OSS Sequencer API

But, this is with vanilla-sources, not with gentoo-sources. I repeat that prior
using vanilla-sources I was using gentoo-sources-2.6.25 without this problem.

Hope it helps,
Regards

------- Comment #52 From Sebastián Treu 2009-07-02 10:03:29 0000 -------
Sorry for my incompleteness. 

I forgot to mention an important thing. When I said that I issued "modprobe -r
snd-hda-intel", I really was able to unload the modules. That is not explicity
said in my comment, just in case of a doubt I want it to specify that. And,
that's why alsasound scripts complain about modules that want to remove that
there aren't there.

Regards,

------- Comment #53 From Pacho Ramos 2009-07-03 16:17:59 0000 -------
All these problems ended for me when I upsated to alsa-*-1.0.19 :-/

------- Comment #54 From Bob Raitz 2009-07-23 07:55:31 0000 -------
Is anyone still having issues with this? If not, I'd say it might be time to
close this one. This has long since stopped being an issue for me, and last I
read, it's pretty much that way for everyone else who signed on to this bug.
Maybe it's time to close this one as fixed.

------- Comment #55 From Steve Dibb 2009-08-01 05:06:21 0000 -------
(In reply to comment #54)
> Is anyone still having issues with this? If not, I'd say it might be time to
> close this one. This has long since stopped being an issue for me, and last I
> read, it's pretty much that way for everyone else who signed on to this bug.
> Maybe it's time to close this one as fixed.
> 

The option is getting punted from initd/confd soon.

------- Comment #56 From Steve Dibb 2009-08-03 16:36:18 0000 -------
(In reply to comment #55)
> (In reply to comment #54)
> > Is anyone still having issues with this? If not, I'd say it might be time to
> > close this one. This has long since stopped being an issue for me, and last I
> > read, it's pretty much that way for everyone else who signed on to this bug.
> > Maybe it's time to close this one as fixed.
> > 
> 
> The option is getting punted from initd/confd soon.
> 

Gone

------- Comment #57 From Bob Raitz 2009-08-04 04:32:03 0000 -------
YAY!

------- Comment #58 From Leho Kraav 2009-08-11 19:35:14 0000 -------
i ran into the same 'snd-hda-intel not unloading when stopping alsasound'
problem. running 2.6.30-tuxonice-r4 and alsa-* 1.17. upgrading to alsa-* 1.19
seems to have implemented a new strategy for simply not unloading the modules
at all when stopping alsasound. i guess that does fix the problem in a way.

First Last Prev Next    No search results available      Search page      Enter new bug