[pulseaudio-discuss] System freeze

Colin Guthrie gmane at colin.guthr.ie
Sun Nov 27 08:51:20 PST 2011


'Twas brillig, and dirkydirk at 22/11/11 09:47 did gyre and gimble:
> On Sat, 2011-11-19 at 15:38 +0000, Colin Guthrie wrote:
>> 'Twas brillig, and dirkydirk at 19/11/11 13:13 did gyre and gimble:
>>> On Sat, 2011-11-19 at 10:27 +0100, Daniel Mack wrote:
>>>> On 11/18/2011 07:23 PM, dirkydirk wrote:
>>>>> You are right, I don't know for sure if it's a PA problem at all, but I
>>>>> have to start looking somewhere ;)
>>>>>
>>>>> With the same result, a complete system lockup, I have tried kernels
>>>>> 3.1.0 and 2.6.37, rhythmbox and banshee (both use gstreamer),
>>>>> flashplayer 10 and 11, firefox 8. Oopses are none in the logs.
>>>>
>>>> Did you try with a different sound card?
>>>
>>> Have no other card available. PA volume control shows three output
>>> devices: the SB card, onboard sound, and some HDMI audio from the
>>> graphics card. As I understand, pa sends audio to all of these devices
>>> in parallel, doesn't it? Or is it possible to deactivate specific
>>> devices (other that to just mute them, which I tried with no
>>> improvement).
>>
>> No, PA will only send audio to the device you want. We do have a
>> "combine" module that creates a virtual device that then outputs to all
>> the others, but this is very much an option.
>>
>> You can disable devices using pavucontrol or the Gnome and KDE tools.
>> With pavucontrol see the "Configuration" tab. Each card should have a
>> profile selection dialog, you can turn the unneeded cards to the "Off"
>> profile to ignore them and the devices should disappear.
>>
>>>> Sure. Just use the 'alsasink' component, and temporarily disable
>>>> pulseaudio by prefixing the command with 'pasuspender'.
>>>
>>> With "gstreamer-properties" UI I selected alsa, but where do I find the
>>> setting to be 'pasuspender'ed?
>>
>> Just run whatever program you are testing with "pasuspender -- myapp"
>> rather than just "myapp". This suspends PA until the application exits.
>>
>> That said, unless you pick a very specific alsasink device, it will
>> likely use the "default" alsa device which is, in turn, likely to be
>> routed to PA!
> 
> I see. How is it possible to determine reliably whether gstreamer uses
> alsa or pa? Currently, I'm lookung at pavucontrol's applications tab
> where rhythmbox is listet just as "rhythmbox", whereas flash is listed
> as "alsa-plugin". I would suspect that rhythmbox would switch to
> "alsa-plugin" too if gstreamer uses alsa. Is that right? In the
> gstreamer-properties UI I selected a specific device (instead of
> "default"), but rhythmbox still is listed as "rhythmbox"...

It could be that e.g. rhythmbox will force the use of PA rather than
honouring the gstreamer preferences... I don't know for sure (I know
e.g. empathy does, but that's because it uses specific bits of PA that
make it a requirement).

Regardless, you are correct when you say it should have "alsa-plugin".
However, if you pick alsa and a specific device in gstreamer-properties,
it should in theory output directly to the h/w device. This means it
won't show up in pavucontrol at all. Perhaps it tried to do this, but PA
had the device open and thus it failed in gst and it ended up using PA
as a fallback? I really don't know, but when testing, it's better to use
gst-launch on the command line with known pipelines rather than rely on
apps which might do their own thing with their gst pipelines.

> Well, it seems I'm running out of luck with the lockup. Some tutorials
> mentioned kernel special keys (Alt+SysRq), and I even set up netconsole
> to log kernel messages on a separate computer. Alas, no kernel messages
> or oopses, no keypresses possible, have to hard-reset the machine. 
> 
> What kind of process or environment is able to shoot the system that far
> into the abyss? We're talking about Linux, after all... ;)
> 
> Anyways, thanks to both of you for your help and giving me some insights
> into PulseAudio.

Sadly I've not really got any other advice here... not sure what could
cause this kind of hard lockup. My only suggestion is trying a few
different kernels to see if you can spot a regression at any point. :s

Col


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/



More information about the pulseaudio-discuss mailing list