Bug 568178 - Pulseaudio causes hangs/freezes for applications on cifs home directories
Summary: Pulseaudio causes hangs/freezes for applications on cifs home directories
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 12
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Jeff Layton
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-02-24 22:50 UTC by Trevor Davenport
Modified: 2014-06-18 07:39 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-10-12 13:01:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Trevor Davenport 2010-02-24 22:50:03 UTC
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.

Comment 1 Lennart Poettering 2010-02-25 14:46:34 UTC
If symlink() hangs this is certainly a problem in the CIFS implementation in the kernel.

Comment 2 Jeff Layton 2010-07-26 16:36:15 UTC
Is this still an issue? If so, what sort of server are you mounting here?

Comment 3 Trevor Davenport 2010-07-31 00:21:12 UTC
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.

Comment 4 Jeff Layton 2010-08-17 10:53:11 UTC
Ok, thanks. Setting the needinfo flag until you can provide that info.

Comment 5 Jeff Layton 2010-09-19 22:33:49 UTC
Ping...any more word on this?

Comment 6 Jeff Layton 2010-10-12 13:01:32 UTC
No response in several months. Closing bug.


Note You need to log in before you can comment on or make changes to this bug.