PulseAudio crashes when moving audio stream

Bug #292732 reported by Øyvind Stegard
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: pulseaudio

Pulseaudio frequently crashes when I move a live audio stream from my external USB audio sound card (Creative Xmod) to my onboard HDA intel card.

If I start the pulseaudio daemon manually with:
$ pulseaudio -vv

I get this before the crash:
D: sink-input.c: Successfully moved sink input 0 from alsa_output.usb_device_41e_30d0_noserial_if0_sound_card_0_alsa_playback_0 to alsa_output.pci_8086_293e_sound_card_0_alsa_playback_0.
I: module-volume-restore.c: Saving sink for <pulsecore/protocol-native.c$Rhythmbox>
D: memblock.c: Memory block too large for pool: 49152 > 16376
Soft CPU time limit exhausted, terminating.
Hard CPU time limit exhausted, terminating forcibly.
Aborted

This was with Rhythmbox as the only application currently outputting audio. When pulseaudio crashes, Rhythmbox hangs hard and must be killed.

I've not tweaked anything in the Ubuntu 8.10 audio configuration, except for installing the pavucontrol-application which lets me control where to route my audio.

$ LANG=C apt-cache policy pulseaudio
pulseaudio:
  Installed: 0.9.10-2ubuntu9
  Candidate: 0.9.10-2ubuntu9
  Version table:
 *** 0.9.10-2ubuntu9 0
        500 http://archive.ubuntu.com intrepid/main Packages
        100 /var/lib/dpkg/status

Revision history for this message
Øyvind Stegard (oyvindstegard) wrote :
Revision history for this message
Øyvind Stegard (oyvindstegard) wrote :

Attaching to pulseaudio-daemon with gdb and reproducing the problem (which is easy) gives this message:
Program received signal SIGXCPU, CPU time limit exceeded.

And a "thread apply all backtrace" gives this for the main-thread:

Thread 1 (Thread 0xb79be920 (LWP 9755)):
#0 0xb7f49430 in __kernel_vsyscall ()
#1 0xb7b6b405 in sem_wait@@GLIBC_2.1 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7f07a38 in pa_semaphore_wait (s=0x8454b90) at pulsecore/semaphore-posix.c:65
#3 0xb7efef6d in pa_asyncmsgq_send (a=0x842f3c8, object=0x845f988, code=11, userdata=0x84584b8, offset=0, chunk=0x0)
    at pulsecore/asyncmsgq.c:169
#4 0xb54f8722 in command_get_playback_latency (pd=0x842cc48, command=14, tag=1397, t=0x844d5d8, userdata=0x845c938)
    at pulsecore/protocol-native.c:1736
---Type <return> to continue, or q <return> to quit---
#5 0xb54e1a99 in pa_pdispatch_run (pd=0x842cc48, packet=0x8481408, creds=0x842df98, userdata=0x845c938)
    at pulsecore/pdispatch.c:241
#6 0xb54f21b2 in pstream_packet_callback (p=0x842ded0, packet=0x8481408, creds=0x842df98, userdata=0x845c938)
    at pulsecore/protocol-native.c:3105
#7 0xb551102b in do_something (p=0x842ded0) at pulsecore/pstream.c:818
#8 0xb551d488 in callback (m=0x842a4ec, e=0x844a2c8, fd=16, f=<value optimized out>, userdata=0x8490200)
    at pulsecore/iochannel.c:121
#9 0xb7eb4d49 in pa_mainloop_dispatch (m=0x842a4a8) at pulse/mainloop.c:679
#10 0xb7eb50a1 in pa_mainloop_iterate (m=0x842a4a8, block=1, retval=0xbfa486e4) at pulse/mainloop.c:922
#11 0xb7eb5164 in pa_mainloop_run (m=0x842a4a8, retval=0xbfa486e4) at pulse/mainloop.c:937
#12 0x0805118d in main (argc=2, argv=0xbfa48794) at daemon/main.c:812
#0 0xb75e2602 in ?? () from /usr/lib/libasound.so.2

I got the following debug-packages installed:
libpulse0-dbg
libpulsecore5-dbg
pulseaudio-dbg

Revision history for this message
Daniel T Chen (crimsun) wrote :

Is this symptom still reproducible in a daily-live image (http://cdimage.ubuntu.com/daily-live/current/) of jaunty?

Changed in pulseaudio:
importance: Undecided → Medium
status: New → Incomplete
Revision history for this message
Thomas (t.c) wrote :
Download full text (33.4 KiB)

I have the same problem. Pulseaudio crashes many times, when I playback music with audacious.

im not sure, but can it be, that we have to define a rule for kernel-security stuff?!

my backtrace is:

Program received signal SIGXCPU, CPU time limit exceeded.
[Switching to Thread 0xb7573b90 (LWP 11220)]
resampler_basic_interpolate_single (st=0xb6c0adf8, channel_index=5, in=0xb7662044, in_len=0xb7570cf8, out=0xb7666344, out_len=0xb7570cf4)
    at pulsecore/speex/resample.c:457
457 pulsecore/speex/resample.c: No such file or directory.
 in pulsecore/speex/resample.c
(gdb) thread apply all backtrace

Thread 2 (Thread 0xb7573b90 (LWP 11220)):
#0 resampler_basic_interpolate_single (st=0xb6c0adf8, channel_index=5, in=0xb7662044, in_len=0xb7570cf8, out=0xb7666344, out_len=0xb7570cf4)
    at pulsecore/speex/resample.c:457
#1 0xb7f16b2d in speex_resampler_process_native (st=0xb6c0adf8, channel_index=5, in=0xb7662044, in_len=0xb7570cf8, out=0xb7666044, out_len=0xb7570cf4)
    at pulsecore/speex/resample.c:821
#2 0xb7f16d73 in paspfl_resampler_process_interleaved_float (st=0xb6c0adf8, in=0xb7662030, in_len=0xb7570cf8, out=0xb7666030, out_len=0xb7570cf4)
    at pulsecore/speex/resample.c:969
#3 0xb7eece7c in speex_resample_float (r=0xb6c20fa8, input=0xb6c210ec, in_n_frames=194, output=0xb6c210f8, out_n_frames=0xb7570d98)
    at pulsecore/resampler.c:1221
#4 0xb7eebbd3 in pa_resampler_run (r=0xb6c20fa8, in=0xb7570e00, out=0xb6c225dc) at pulsecore/resampler.c:1077
#5 0xb7efe70f in pa_sink_input_peek (i=0xb6c22448, length=2544, chunk=0xb7570ec8, volume=0xb7570ed4) at pulsecore/sink-input.c:512
#6 0xb7ef8ec3 in fill_mix_info (s=0x81bb4d8, length=2544, info=0xb7570ec8, maxinfo=32) at pulsecore/sink.c:344
#7 0xb7ef92a1 in pa_sink_render_into (s=0x81bb4d8, target=0xb7573290) at pulsecore/sink.c:509
#8 0xb7ef9784 in pa_sink_render_into_full (s=0x81bb4d8, target=0xb757330c) at pulsecore/sink.c:583
#9 0xb78a5c84 in thread_func (userdata=0x81a2188) at modules/module-alsa-sink.c:185
#10 0xb7f14842 in internal_thread_func (userdata=0x81bba48) at pulsecore/thread-posix.c:73
#11 0xb7b7150f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0xb7aeea0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb79ca920 (LWP 11215)):
#0 0xb7f61430 in __kernel_vsyscall ()
#1 0xb7b77405 in sem_wait@@GLIBC_2.1 () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7f14a38 in pa_semaphore_wait (s=0xb6c00468) at pulsecore/semaphore-posix.c:65
#3 0xb7f0bf6d in pa_asyncmsgq_send (a=0x81a2170, object=0x81bb4d8, code=6, userdata=0xbfd60758, offset=0, chunk=0x0) at pulsecore/asyncmsgq.c:169
#4 0xb7ef8108 in pa_sink_get_latency (s=0x81bb4d8) at pulsecore/sink.c:653
#5 0xb6d43746 in command_get_playback_latency (pd=0xb6c0f140, command=14, tag=79725, t=0xb6c26cc8, userdata=0xb6c0b600)
    at pulsecore/protocol-native.c:1740
#6 0xb6d59a99 in pa_pdispatch_run (pd=0xb6c0f140, packet=0xb6c27198, creds=0xb6c0af20, userdata=0xb6c0b600) at pulsecore/pdispatch.c:241
#7 0xb6d3d1b2 in pstream_packet_callback (p=0xb6c0ae58, packet=0xb6c27198, creds=0xb6c0af20, userdata=0xb6c0b600) at pulsecore/protocol-native.c:3105
#8 0xb6d6302b in do_something (p=0xb6c0ae58) at pu...

Revision history for this message
Thomas (t.c) wrote :
Revision history for this message
Laurent Bonnaud (laurent-bonnaud) wrote :

I have a similar problem when I move an audio stream from the pulseaudio server running on my laptop to the pulseaudio server running on my Eeebox that is attached to my home HI-FI equipment.

Both systems run Ubuntu jaunty with this server version:

ii pulseaudio 1:0.9.14-0ubuntu20.2 PulseAudio sound server

One way to get it to work is to manually kill the server on my laptop, then change the default server with padevchooser.

Changed in pulseaudio (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pulseaudio - 1:0.9.22~0.9.21+341-g62bf-0ubuntu1

---------------
pulseaudio (1:0.9.22~0.9.21+341-g62bf-0ubuntu1) lucid; urgency=low

  * New snapshot based on stable-queue git branch (testing requested
    specifically by upstream)
    - LP: #164745, #173212, #201391, #204536, #207796, #210016, #221038,
    - LP: #226342, #230408, #236423, #237443, #250059, #269585, #274304,
    - LP: #274577, #275474, #277532, #277566, #277932, #278025, #280534,
    - LP: #283049, #286816, #287036, #292732, #298011, #298301, #300290,
    - LP: #302038, #311497, #311853, #324062, #339448, #344057, #348979,
    - LP: #350829, #356206, #367379, #367544, #369822, #371897, #374846,
    - LP: #375570, #381801, #399515, #402950, #403786, #408169, #409322,
    - LP: #409723, #410326, #410446, #417695, #417976, #419271, #421072,
    - LP: #422774, #423979, #424655, #425028, #427016, #431072, #432660,
    - LP: #437640, #437996, #442191, #443306, #443389, #446719, #449762,
    - LP: #455417, #461532, #464652, #483191, #497537, #503780
  * debian/patches/:
    + add: 0099-change-configure-git-version-tag.patch: Match released
           upstream 0.9.21 for shlibs and LIBPULSE_VERSION_INFO
    - drop: 0004-set-tsched0.patch (no longer relevant)
            0050-revert-pacmd-poll-argv.patch (no longer relevant)
            0056-dont-bail-on-sound-class-modem.patch (merged)
            0056-ignore-sound-class-modem.patch (merged)
            0058-Backport-4c793.patch (merged)
            0059-Backport-978d3.patch (merged)
            0060-fix-implicit-func-decl-cpu-arm.patch (merged)
            0061-Backport-c5fdb.patch (merged)
            0070-dont-bail-on-sound-class-modem-devs.patch (merged)
    + refresh: 0001-change-resample-and-buffering.patch
               0090-disable-flat-volumes.patch
               0091-dont-load-cork-music-on-phone.patch
               0057-load-module-x11-bell.patch
 -- Daniel T Chen <email address hidden> Thu, 14 Jan 2010 20:33:05 -0500

Changed in pulseaudio (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.