Bug 457276

Summary: old libpulse doesn't work with new pa daemon
Product: [Fedora] Fedora Reporter: Bastien Nocera <bnocera>
Component: PackageKitAssignee: Robin Norwood <robin.norwood>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 9CC: lkundrak, lmacken, mclasen, pierre-bugzilla, rhughes, richard, robin.norwood, tuxbrewr, walters
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: 2008-10-27 13:19:19 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:

Description Bastien Nocera 2008-07-30 16:13:44 UTC
After having upgraded pulseaudio:

In the logs:
Jul 30 17:07:33 cookie pulseaudio[2748]: shm.c: Invalid shared memory segment size
Jul 30 17:07:33 cookie pulseaudio[2748]: pstream.c: Failed to import memory block.

$ ls /etc/pulse/*rpmnew
8.2k /etc/pulse/client.conf.rpmnew  8.2k /etc/pulse/daemon.conf.rpmnew   13k
/etc/pulse/default.pa.rpmnew

Moving the *rpmnew files on top of the "old" ones fixes pulseaudio errors.

The user-visible effect of this bug was for my Rhythmbox to eat all the CPU on
all my CPUs (and hang).

Comment 1 Lennart Poettering 2008-09-23 22:07:58 UTC
This only happens on upgrade: when an old version of libpulse connects to a new pa instance. A reboot or logout fixes that.

Comment 2 Colin Walters 2008-09-24 18:50:51 UTC
We need a system in packagekit that will lead to a session restart (or full reboot if system components are involved) after upgrades.  Moving there.

Comment 3 Richard Hughes 2008-09-25 08:30:54 UTC
There's exactly that functionality already. PackageKit understands system, session and application restarts, but only system restart information is provided in bohdi. If bohdi is patched to allow us to signal a session restart is required, then it's trivial to make PackageKit handle that new interaction (it just needs connecting up, all the UI and strings are already there).

Luke, is this somehting you're interested in adding?

Richard.

Comment 4 Richard Hughes 2008-09-25 08:35:42 UTC
Also, I think it's a bit of a cheap shot reassigning this to PackageKit, as it's a case of an old library not talking to a new daemon. I don't want PackageKit being the dumping ground for bugs that could be mitigated if there were generic changes to the infrastructure.

Comment 5 Colin Walters 2008-09-30 13:58:36 UTC
We should probably assume that when anything that runs in the user session is upgraded we need a session restart.

Was not intended to be a cheap shot in any way - just moving it into the general topic area, we can reassign further from here.

Comment 6 Bastien Nocera 2008-10-03 22:22:17 UTC
This doesn't need to be on the F10 blockers, it only happens when upgrading "live". Restarting the session will fix this, and we already suck in a number of similar ways in other apps.

Comment 7 Richard Hughes 2008-10-27 13:19:19 UTC
I've added detection in PackageKit telling the user to restart the session if anything that is being run is updated. We'll have to see how effective this is, or if users just ignore it.