Pulseaudio causes hangs in any app that tries to play audio on cifs mounted home directories. This appears to be caused pa_get_runtime_dir creating/checking the users ~/.pulse directory to find the appropriate /tmp/pulse* directory. On a single machine this causes no problems. After a user has logged into one machine and then logs into another machine (even if they have logged off the original) anythiing the tries to play a sound gets stuck looping. This has a few effects. One, it freezes the users app (such as gnome-settings-daemon, firefox, metacity, etc) making the machine unusable. It also causes a high amount of server load since the home directory a cifs mount (with unix extensions) the client is just looping over doing the same thing but not accomplishing anything. From Firefox once frozen: (gdb) bt #0 0x00000037c42d26b7 in symlink () at ../sysdeps/unix/syscall-template.S:82 #1 0x00007f70c85ae40f in make_random_dir_and_link (k=<value optimized out>, m= 448) at pulsecore/core-util.c:1421 #2 0x00007f70c85ae62a in pa_get_runtime_dir () at pulsecore/core-util.c:1547 #3 0x00007f70c85ae906 in get_path (fn=0x7f70c8819da6 "native", prependmid= false, rt=<value optimized out>) at pulsecore/core-util.c:1882 #4 0x00007f70c87f4323 in prepend_per_user (l=0x7f70d06a0cd0) at pulse/context.c:661 #5 0x00007f70c87f7d1b in pa_context_connect (c=0x7f70d1ecbf10, server=<value optimized out>, flags=PA_CONTEXT_NOFLAGS, api=0x0) at pulse/context.c:1007 #6 0x00007f70c8a2d8b4 in context_connect (c=0x7f70d1c77ac0, nofail=0) at pulse.c:232 #7 0x00007f70c8a2dabe in pulse_driver_open (c=0x7f70d1c77ac0) at pulse.c:372 #8 0x00007f70df0c6ff1 in driver_open (c=0x7f70d1c77ac0) at dso.c:271 #9 0x00007f70df0be6d8 in context_open_unlocked (c=0x7f70d1c77ac0) at common.c:291 #10 0x00007f70df0beee5 in ca_context_play_full (c=0x7f70d1c77ac0, id=0, p= 0x7f70d1ecb470, cb=0, userdata=0x0) at common.c:515 #11 0x00007f70df0bf290 in ca_context_play (c=0x7f70d1c77ac0, id=0) at common.c:460 As mentioned, home directories are cifs mounts (server is redhat 5.4 server) with unix extensions enabled. More then happy to test or get more info if needed.
If symlink() hangs this is certainly a problem in the CIFS implementation in the kernel.
Is this still an issue? If so, what sort of server are you mounting here?
I'll try to test again during the coming week. We've updated to the samba3x version (was previously the normal samba version) provided on rhel. From what i remember, the actual hang seen on the desktop I wass caused by what's probably a logic error in pulseaudio which is triggered by the failing call that causes pulseaudio to get stuck in an infinite loop. I'll check again though with the current versions and a better explanation with a log showing the pulse loop problem (I think it should fail more gracefully) and what exactly failed in regards to samba.
Ok, thanks. Setting the needinfo flag until you can provide that info.
Ping...any more word on this?
No response in several months. Closing bug.