Bug 508436 (pa-update-hosed)

Summary: GNOME session init freezes because of pulseaudio
Product: [Fedora] Fedora Reporter: Nicolas Mailhot <nicolas.mailhot>
Component: pulseaudioAssignee: Lennart Poettering <lpoetter>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: lkundrak, lpoetter, tmraz, wtogami, zkabelac
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-07-01 16:45:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 473303    

Description Nicolas Mailhot 2009-06-27 08:17:01 UTC
rawhide pulseaudio causes gnome session init to freeze ; the few windows already drawn (pidgin...) stop being repainted

downgrading to F11 pulse solves the problem (spectacularly, the frozen init thaws and everything proceeds normally)

Sound used to be non-critical on linux desktops. It is a major bug if broken sound init has now the capability to make the user UI essentially dead.

Jun 26 21:52:35 arekh pulseaudio[2928]: main.c: Module load failed.
Jun 26 21:52:35 arekh pulseaudio[2928]: main.c: Ãchec lors de l'initialisation du démon
Jun 26 21:52:35 arekh pulseaudio[2924]: main.c: Ãchec lors du démarrage du démon.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 19:52:35 arekh rtkit-daemon[2339]: Warning: Reached burst limit for user '500', denying request.
Jun 26 21:52:35 arekh pulseaudio[2942]: module.c: Failed to open module "module-detect": file not found
Jun 26 21:52:35 arekh pulseaudio[2942]: main.c: Module load failed.
Jun 26 21:52:35 arekh pulseaudio[2942]: main.c: Ãchec lors de l'initialisation du démon
Jun 26 21:52:35 arekh pulseaudio[2932]: main.c: Ãchec lors du démarrage du démon.

Comment 1 Lennart Poettering 2009-06-29 11:54:28 UTC
Could you please run "pulseaudio -vvvv" in a terminal with LANG=C and paste the output here?

Comment 2 Nicolas Mailhot 2009-06-29 12:05:14 UTC
As I wrote, with this version session init freezes and fails, so there's no terminal (or anything else) available to type anything in

Comment 3 Lennart Poettering 2009-06-29 12:13:06 UTC
Then please kill PA with "killall pulseaudio" to make sure that gnome startup can continue.

Comment 4 Nicolas Mailhot 2009-06-29 17:31:48 UTC
In today's rawhide this seems not blocking anymore, but PA is still sick

$ pulseaudio -vvvv
I: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: core-rtclock.c: Timer slack is set to 50 us.
I: core-util.c: Failed to acquire high-priority scheduling: Input/output error
I: main.c: This is PulseAudio 0.9.16-test1
D: main.c: Compilation host: x86_64-redhat-linux-gnu
D: main.c: Compilation CFLAGS: -ggdb -Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option
D: main.c: Running on host: Linux x86_64 2.6.30-1.fc12.x86_64 #1 SMP Wed Jun 10 12:09:50 EDT 2009
D: main.c: Found 2 CPUs.
I: main.c: Page size is 4096 bytes
D: main.c: Compiled with Valgrind support: no
D: main.c: Running in valgrind mode: no
D: main.c: Optimized build: no
D: main.c: All asserts enabled.
I: main.c: Machine ID is bc6854458d0c46c1ae82530469e90000.
I: main.c: Session ID is bc6854458d0c46c1ae82530469e90000-1246296308.379573-1449653924.
I: main.c: Using runtime directory /home/nim/.pulse/bc6854458d0c46c1ae82530469e90000:runtime.
I: main.c: Using state directory /home/nim/.pulse.
I: main.c: Running in system mode: no
I: main.c: Fresh high-resolution timers available! Bon appetit!
D: memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
D: database-tdb.c: Opened TDB database '/home/nim/.pulse/bc6854458d0c46c1ae82530469e90000:device-volumes.tdb'
I: module-device-restore.c: Sucessfully opened database file '/home/nim/.pulse/bc6854458d0c46c1ae82530469e90000:device-volumes'.
I: module.c: Loaded "module-device-restore" (index: #0; argument: "").
D: database-tdb.c: Opened TDB database '/home/nim/.pulse/bc6854458d0c46c1ae82530469e90000:stream-volumes.tdb'
I: module-stream-restore.c: Sucessfully opened database file '/home/nim/.pulse/bc6854458d0c46c1ae82530469e90000:stream-volumes'.
I: module.c: Loaded "module-stream-restore" (index: #1; argument: "").
D: database-tdb.c: Opened TDB database '/home/nim/.pulse/bc6854458d0c46c1ae82530469e90000:card-database.tdb'
I: module-card-restore.c: Sucessfully opened database file '/home/nim/.pulse/bc6854458d0c46c1ae82530469e90000:card-database'.
I: module.c: Loaded "module-card-restore" (index: #2; argument: "").
I: module.c: Loaded "module-augment-properties" (index: #3; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib64/pulse-0.9.16/modules/module-hal-detect.so': failure
E: module.c: Failed to open module "module-detect": file not found
E: main.c: Module load failed.
E: main.c: Failed to initialize daemon.
I: module.c: Unloading "module-device-restore" (index: #0).
I: module.c: Unloaded "module-device-restore" (index: #0).
D: core-subscribe.c: Dropped redundant event due to remove event.
I: module.c: Unloading "module-stream-restore" (index: #1).
I: module.c: Unloaded "module-stream-restore" (index: #1).
D: core-subscribe.c: Dropped redundant event due to remove event.
I: module.c: Unloading "module-card-restore" (index: #2).
I: module.c: Unloaded "module-card-restore" (index: #2).
D: core-subscribe.c: Dropped redundant event due to remove event.
I: module.c: Unloading "module-augment-properties" (index: #3).
I: module.c: Unloaded "module-augment-properties" (index: #3).
D: core-subscribe.c: Dropped redundant event due to remove event.
I: main.c: Daemon terminated.

Also system logs show rtkit-daemon is not using the right timezone in its syslog messages timestamps

Comment 5 Nicolas Mailhot 2009-06-29 17:41:21 UTC
(In reply to comment #4)
> In today's rawhide this seems not blocking anymore, 

Forget this, it just triggered 30s later (instead of at once as usual)

killall pulseaudio found nothing to kill

As usual re-installing F11 PA packages un-froze the UI

Comment 6 Lennart Poettering 2009-06-29 18:21:23 UTC
Are you sure you are running the pristine default.pa? Please revert to the pristine default.pa.

syslog is confused because rtkit runs in a chroot. That needs fixing in syslog.

Comment 7 Nicolas Mailhot 2009-06-30 18:27:47 UTC
Of course I'm not running the pristine default.pa. I had set tsched like a gazillon other people to workaround last release's pa problems.

With the pristine default.pa things work again. So we have the why it failed

Now, since changing default.pa was widely advertised as the right way to fix things, not being able to upgrade gracefully afterwards is certainly not ok. Not to mention having the sound system pull down the whole desktop when it fails.

Comment 8 Lennart Poettering 2009-06-30 20:33:27 UTC
(In reply to comment #7)
> Of course I'm not running the pristine default.pa. I had set tsched like a
> gazillon other people to workaround last release's pa problems.
> 
> With the pristine default.pa things work again. So we have the why it failed
> 
> Now, since changing default.pa was widely advertised as the right way to fix
> things, not being able to upgrade gracefully afterwards is certainly not ok.
> Not to mention having the sound system pull down the whole desktop when it
> fails.  

Widely advertised? Where?

I probably should move default.pa to /usr/share to make sure people don't fiddle with it unnecessarily.

Comment 9 Nicolas Mailhot 2009-06-30 21:35:00 UTC
(In reply to comment #8)

> Widely advertised? Where?

Since you seem to suffer from amnesia let me remind you of

http://fedoraproject.org/wiki/Features/GlitchFreeAudio

(one of the 1 740 pages google finds on pulseaudio and tsched)

> I probably should move default.pa to /usr/share to make sure people don't
> fiddle with it unnecessarily.  

Do you really think anyone but you "fiddles" with this file for pleasure without any reason?

Comment 10 Lennart Poettering 2009-07-01 16:45:20 UTC
I am certainly not adding code to the PA rpm scripts which patch default.pa on installation, sorry.

Comment 11 Tomas Mraz 2009-07-30 07:43:47 UTC
If you do not plan to be backwards compatible on possible previous config file settings, why don't you at least make the file %config without (noreplace)?