[pulseaudio-tickets] [PulseAudio] #218: PulseAudio crashes very quickly when resample-method is src-sink-* or speex-*-10
PulseAudio
trac-noreply at tango.0pointer.de
Fri Mar 28 01:59:37 PDT 2008
#218: PulseAudio crashes very quickly when resample-method is src-sink-* or
speex-*-10
--------------------------------+-------------------------------------------
Reporter: erik at slagter.name | Owner: lennart
Type: defect | Status: reopened
Priority: highest | Milestone:
Component: daemon | Severity: critical
Resolution: | Keywords: resampler segfault
--------------------------------+-------------------------------------------
Comment (by erik at slagter.name):
Somehow I didn't receive the updates by email (although I did get this
one...)
AstralStorm:
This is what I use: x86-64 with fedora 8, I have pulseaudio installed from
fedora 9: pulseaudio-0.9.8-5.fc9.x86_64. Both the versions from 8 and 9
exhibit the problem.
I do not have a "broken" or "overoptimized" system. All is really
standard/default fedora. Also I happen to be systems administrator in real
life, so I tend to know when a system is broken.
Lennart:
Sure, sure, ehm, no, I did not write the code ;-) I only can say that the
time that elapses before pulseaudio crashes depends on the resample
configuration. The higher the resampling quality, the faster pulseaudio
crashes.
I'd really like to send you the backtrace (I guess you mean the output of
gdb "where") but I have trouble getting gdb to work on pulseaudio, it has
something to do with the pulseaudio debug package from fedora being
uncooperative. I'll have another go soon.
In the meantime, here are my configs:
client.conf: almost empty
default.pa:
#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
.nofail
### Load something into the sample cache
#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-access /usr/share/sounds/generic.wav
.fail
### Load audio drivers statically (it's probably better to not load
### these drivers manually, but instead use module-hal-detect --
### see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-oss device="/dev/dsp" sink_name=output
source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output
source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
### Automatically load driver modules depending on the hardware available
#.ifexists /usr/lib64/pulse-0.9/modules/module-hal-detect.so
#load-module module-hal-detect
#.else
### Alternatively use the static hardware detection module (for systems
that
### lack HAL support)
#load-module module-detect
#.endif
### Load several protocols
#load-module module-esound-protocol-unix auth-anonymous=1
load-module module-native-protocol-unix auth-anonymous=1
### Network access (may be configured with paprefs, so leave this
commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp auth-anonymous=1
load-module module-native-protocol-tcp auth-anonymous=1
#load-module module-zeroconf-publish
### Load the RTP reciever module (also configured via paprefs, see above)
#load-module module-rtp-recv
### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2
rate=44100 description="RTP Multicast Sink"
#load-module module-rtp-send source=rtp.monitor
### Automatically restore the volume of playback streams
#load-module module-volume-restore
### Automatically restore the default sink/source when changed by the user
during runtime
#load-module module-default-device-restore
### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams
### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle
### Load X11 bell module
#load-module module-x11-bell sample=x11-bell
### Publish connection data in the X11 root window
#.ifexists /usr/lib64/pulse-0.9/modules//module-x11-publish.so
#load-module module-x11-publish
#.endif
### Register ourselves in the X11 session manager
# Deactivated by default, to avoid deadlock when PA is started as esd from
gnome-session
# Instead we load this via /etc/xdg/autostart/ and "pactl load-module" now
# load-module module-x11-xsmp
### Load additional modules from GConf settings. This can be configured
with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might
conflict with manually
### loaded modules.
#.ifexists /usr/lib64/pulse-0.9/modules//module-gconf.so
#load-module module-gconf
#.endif
### Make some devices default
set-default-sink default
#set-default-source input
#load-module module-http-protocol-tcp port=4747
#load-module module-cli
load-module module-cli-protocol-unix
#load-module module-cli-protocol-tcp port=4749
load-module module-null-sink sink_name=null
#load-module module-alsa-sink device=hw:0,0 sink_name=alc
load-module module-alsa-sink device=hw:6,0 sink_name=jvc
load-module module-alsa-sink device=hw:7,0 sink_name=usb1
load-module module-alsa-sink device=hw:8,0 sink_name=usb2
load-module module-ladspa-sink sink_name=ladspa_low master=usb2
plugin=/usr/lib64/ladspa/butterworth_1902.so label=buttlow_iir
control=2800,0.7071
load-module module-ladspa-sink sink_name=ladspa_high master=usb1
plugin=/usr/lib64/ladspa/butterworth_1902.so label=butthigh_iir
control=3200,0.7071
#load-module module-combine adjust_time=30 resample_method=speex-float-4
sink_name=default master=jvc slaves=ladspa_low,ladspa_high
load-module module-combine adjust_time=10 resample_method=trivial
sink_name=default master=jvc
=======================================================
daemon.conf:
# $Id: daemon.conf.in 2067 2007-11-21 01:30:40Z lennart $
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5)
for
## more information. Default values a commented out. Use either ; or #
for
## commenting.
daemonize = yes
; fail = yes
; disallow-module-loading = no
; use-pid-file = yes
system-instance = yes
; disable-shm = no
verbose = 1
; high-priority = yes
; nice-level = -11
; realtime-scheduling = no
; realtime-priority = 5
exit-idle-time = -1
module-idle-time = -1
; scache-idle-time = 20
dl-search-path = /usr/lib64/pulse-0.9/modules/
; default-script-file =
; log-target = auto
; log-level = notice
#resample-method =src-sinc-best-quality
resample-method = speex-float-8
disable-remixing = yes
; no-cpu-limit = no
; rlimit-as = -1
; rlimit-core = -1
; rlimit-data = -1
; rlimit-fsize = -1
; rlimit-nofile = 256
; rlimit-stack = -1
; rlimit-nproc = -1
; rlimit-memlock = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
default-sample-format = s16le
default-sample-rate = 48000
default-sample-channels = 2
; default-fragments = 4
; default-fragment-size-msec = 25
--
Ticket URL: <http://pulseaudio.org/ticket/218#comment:5>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
More information about the pulseaudio-bugs
mailing list