[pulseaudio-discuss] Crash when testing PulseAudio 3.0 on a Pandaboard ES.
Luke Yelavich
themuso at ubuntu.com
Thu Jan 24 16:40:26 PST 2013
On Mon, Jan 21, 2013 at 05:16:44PM EST, Tanu Kaskinen wrote:
> On Mon, 2013-01-21 at 16:44 +1100, Luke Yelavich wrote:
> > On Mon, Jan 21, 2013 at 09:55:07AM EST, Tanu Kaskinen wrote:
> > > On Mon, 2013-01-21 at 09:08 +1100, Luke Yelavich wrote:
> > > > On Fri, Jan 18, 2013 at 06:22:05PM EST, Tanu Kaskinen wrote:
> > > > > On Fri, 2013-01-18 at 16:08 +1100, Luke Yelavich wrote:
> > > > > > Hey folks,
> > > > > > I was attempting to test Pulse 3.0 on a PandaBoard ES for something
> > > > > > completely unrelated, however when attepting to load PulseAudio, it
> > > > > > crashed when attempting to make use of UCM. The stacktrace is
> > > > > > attached, and I still have the core dump if anybody requires that as
> > > > > > well. This test was conducted on Ubuntu Raring with all latest updates
> > > > > > for the PandaBoard.
> > > > > >
> > > > > > Happy to provide information if required, and I hope this stacktrace
> > > > > > is useful to whip up a fix.
> > > > >
> > > > > Looks like an alsa-lib bug that has been fixed in 1.0.26.
> > > >
> > > > Thanks, will round up the patch and get it included in our package.
> > >
> > > So you can't upgrade alsa-lib to 1.0.26? I'm not sure if "round up"
> > > means that you already know which patch it is or not, so here's a link
> > > to the patch:
> > >
> > > http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=e16a9a04b190c1c7981d9c65c08c504b9a23fe37
> >
> > Thanks, I figured that was the one. As for upgrading to 1.0.26 ALA, we
> > haven't got to it yet, and it requires a little QA testing before we
> > throw it in. Pulse is getting sed testing atm, so whilst 1.0.26 wille
> > ventually l and, I need to solve this bug now, and then move onto
> > 1.0.26.
> >
> > Unfortunately it seems that I still get a crash with that patch
> > included. Traceback attached.
>
> Are you sure you are testing a properly patched alsa-lib? If you are,
> then this is some other alsa-lib bug. ucm_get_modifiers() in pulseaudio
> definitely doesn't do any double-freeing.
Yes, I have verified that I was testing with your referenced patch, and alsa 1.0.26 twice, and I still get the crash.
For reference, I am also attaching the UCM files that are used in Ubuntu for the PandaBoardES, which is what I am using. I haven't verified their syntax beyond making sure they are packaged.
Luke
-------------- next part --------------
# Use case Configurationfor TI PandaBoardES HiFi Music
# By Liam Girdwood <lrg at slimlogic.co.uk>
SectionVerb {
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='AMIC_UL PDM Switch' 1"
cset "name='MUX_UL00' 9"
cset "name='MUX_UL01' 10"
cset "name='Capture Volume' 4"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='AMIC_UL PDM Switch' 0"
cset "name='MUX_UL00' 0"
cset "name='MUX_UL01' 0"
cset "name='Capture Volume' 0"
]
# Optional TQ and ALSA PCMs
Value {
TQ "Music"
CapturePCM "hw:0,0"
}
}
SectionDevice."Headset".0 {
Comment "PandaBoardES 3.5mm Headset"
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='Analog Left Capture Route' 2"
cset "name='Analog Right Capture Route' 2"
cset "name='Capture Preamplifier Volume' 2"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='Analog Left Capture Route' 3"
cset "name='Analog Right Capture Route' 3"
cset "name='Capture Preamplifier Volume' 0"
]
}
-------------- next part --------------
# UCM configuration for PandaBoardES
SectionUseCase."Record" {
File "record"
Comment "Record."
}
SectionUseCase."HiFi" {
File "hifi"
Comment "Play HiFi quality Music."
}
SectionUseCase."HiFi_Low_Power" {
File "hifiLP"
Comment "Play HiFi quality Music in Low Power Mode."
}
SectionUseCase."Voice" {
File "voice"
Comment "Playback Voice quality."
}
SectionUseCase."Voice_Low_Power" {
File "voice"
Comment "Playback Voice quality in Low Power Mode."
}
SectionUseCase."Voice_Call" {
File "voiceCall"
Comment "Capture and Playback in Voice quality."
}
SectionUseCase."Voice_Call_IP" {
File "voiceCall"
Comment "Capture and Playback in Voice quality."
}
SectionUseCase."FM_Analog_Radio" {
File "FMAnalog"
Comment "Capture FM Analog Radio."
}
SectionDefaults [
cdev "hw:PandaBoardES"
exec "echo Im setting PandaBoardES defaults"
]
-------------- next part --------------
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <lrg at slimlogic.co.uk>
SectionVerb {
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='DL1 Mixer Multimedia' 1"
cset "name='Sidetone Mixer Playback' 1"
cset "name='DL1 PDM Switch' 1"
cset "name='DL1 Media Playback Volume' 90,90"
cset "name='SDT DL Volume' 120"
cset "name='Headset Left Playback' 1"
cset "name='Headset Right Playback' 1"
cset "name='Headset Playback Volume' 13"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='DL1 Mixer Multimedia' 0"
cset "name='Sidetone Mixer Playback' 0"
cset "name='DL1 PDM Switch' 0"
cset "name='DL1 Media Playback Volume' 0,0"
cset "name='SDT DL Volume' 0"
cset "name='Headset Right Playback' 0"
cset "name='Headset Left Playback' 0"
cset "name='Headset Playback Volume' 0"
]
# Optional TQ and ALSA PCMs
# Value {
# TQ "Music"
# PlaybackPCM "hw:0,0"
# PlaybackVolume "name='DL1 Media Playback Volume' 90,90"
# PlaybackSwitch "name='DL1 PDM Switch' 1"
# }
}
SectionDevice."Headset".0 {
Comment "PandaBoardES 3.5mm Headset"
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='Headset Left Playback' 1"
cset "name='Headset Right Playback' 1"
cset "name='Headset Playback Volume' 13"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='Headset Right Playback' 0"
cset "name='Headset Left Playback' 0"
cset "name='Headset Playback Volume' 0"
]
}
#SectionModifier."RecordMedia".0 {
# SupportedDevice [
# "Headset"
# ]
# EnableSequence [
# ....
# ]
#
# DisableSequence [
# ...
# ]
#
# TransitionSequence."ToModifierName" [
# ...
# ]
#
# # Optional TQ and ALSA PCMs
# Value {
# TQ Voice
# CapturePCM "hw:1"
# PlaybackVolume "name='Master Playback Volume',index=2"
# PlaybackSwitch "name='Master Playback Switch',index=2"
# }
#
#}
-------------- next part --------------
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <lrg at slimlogic.co.uk>
SectionVerb {
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='DL1 Mixer Multimedia' 1"
cset "name='Sidetone Mixer Playback' 1"
cset "name='DL1 PDM Switch' 1"
cset "name='DL1 Media Playback Volume' 90,90"
cset "name='SDT DL Volume' 120"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='DL1 Mixer Multimedia' 0"
cset "name='Sidetone Mixer Playback' 0"
cset "name='DL1 PDM Switch' 0"
cset "name='DL1 Media Playback Volume' 0,0"
cset "name='SDT DL Volume' 0"
]
# Optional TQ and ALSA PCMs
Value {
TQ "Music"
PlaybackPCM "hw:0,6"
}
}
SectionDevice."Headset".0 {
Comment "PandaBoardES 3.5mm Headset"
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='Headset Left Playback' 1"
cset "name='Headset Right Playback' 1"
cset "name='Headset Playback Volume' 13"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='Headset Right Playback' 0"
cset "name='Headset Left Playback' 0"
cset "name='Headset Playback Volume' 0"
]
}
-------------- next part --------------
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <lrg at slimlogic.co.uk>
SectionVerb {
EnableSequence [
cdev "hw:PandaBoardES"
# No more AMIC PDM Switch in current kernels
#cset "name='AMIC_UL PDM Switch' 1"
cset "name='MUX_UL00' 9"
cset "name='MUX_UL01' 10"
cset "name='Capture Volume' 4"
]
DisableSequence [
cdev "hw:PandaBoardES"
# No more AMIC PDM Switch in current kernels
#cset "name='AMIC_UL PDM Switch' 0"
cset "name='MUX_UL00' 0"
cset "name='MUX_UL01' 0"
cset "name='Capture Volume' 0"
]
# Optional TQ and ALSA PCMs
Value {
TQ "Music"
CapturePCM "hw:0,0"
}
}
SectionDevice."Headset".0 {
Comment "PandaBoardES 3.5mm Headset"
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='Analog Left Capture Route' 0"
cset "name='Analog Right Capture Route' 0"
cset "name='Capture Preamplifier Volume' 2"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='Analog Left Capture Route' 3"
cset "name='Analog Right Capture Route' 3"
cset "name='Capture Preamplifier Volume' 0"
]
}
-------------- next part --------------
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <lrg at slimlogic.co.uk>
SectionVerb {
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='DL1 Mixer Voice' 1"
cset "name='Sidetone Mixer Playback' 1"
cset "name='DL1 PDM Switch' 1"
cset "name='DL1 Voice Playback Volume' 90,90"
cset "name='SDT DL Volume' 120"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='DL1 Mixer Voice' 0"
cset "name='Sidetone Mixer Playback' 0"
cset "name='DL1 PDM Switch' 0"
cset "name='DL1 Voice Playback Volume' 0,0"
cset "name='SDT DL Volume' 0"
]
# Optional TQ and ALSA PCMs
Value {
TQ "Voice"
PlaybackPCM "hw:0,2"
}
}
SectionDevice."Headset".0 {
Comment "PandaBoardES 3.5mm Headset"
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='Headset Left Playback' 1"
cset "name='Headset Right Playback' 1"
cset "name='Headset Playback Volume' 13"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='Headset Right Playback' 0"
cset "name='Headset Left Playback' 0"
cset "name='Headset Playback Volume' 0"
]
}
-------------- next part --------------
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <lrg at slimlogic.co.uk>
SectionVerb {
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='AMIC_UL PDM Switch' 1"
cset "name='Sidetone Mixer Capture' 1"
cset "name='MUX_VX0' 9"
cset "name='MUX_VX1' 10"
cset "name='DL1 Mixer Voice' 1"
cset "name='Sidetone Mixer Playback' 1"
cset "name='DL1 PDM Switch' 1"
cset "name='DL1 Voice Playback Volume' 90,90"
cset "name='Capture Volume' 4"
cset "name='Capture Mixer Voice Capture' 90,90"
cset "name='SDT DL Volume' 120"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='AMIC_UL PDM Switch' 0"
cset "name='Sidetone Mixer Capture' 0"
cset "name='MUX_VX0' 0"
cset "name='MUX_VX1' 0"
cset "name='DL1 Mixer Voice' 0"
cset "name='Sidetone Mixer Playback' 0"
cset "name='DL1 PDM Switch' 0"
cset "name='DL1 Voice Playback Volume' 0,0"
cset "name='Capture Volume' 0"
cset "name='DL1 Voice Playback Volume' 0,0"
cset "name='SDT DL Volume' 0"
]
# Optional TQ and ALSA PCMs
Value {
TQ "Voice"
CapturePCM "hw:0,2"
PlaybackPCM "hw:0,2"
}
}
SectionDevice."Headset".0 {
Comment "PandaBoardES 3.5mm Headset"
EnableSequence [
cdev "hw:PandaBoardES"
cset "name='Analog Left Capture Route' 0"
cset "name='Analog Right Capture Route' 0"
cset "name='Capture Preamplifier Volume' 2"
cset "name='Headset Left Playback' 1"
cset "name='Headset Right Playback' 1"
cset "name='Headset Playback Volume' 13"
]
DisableSequence [
cdev "hw:PandaBoardES"
cset "name='Analog Left Capture Route' 3"
cset "name='Analog Right Capture Route' 3"
cset "name='Capture Preamplifier Volume' 0"
cset "name='Headset Right Playback' 0"
cset "name='Headset Left Playback' 0"
cset "name='Headset Playback Volume' 0"
]
}
More information about the pulseaudio-discuss
mailing list