Bug#713856: libavutil51: Pulseaudio provokes SIGFPE in libavutil

Dario Ernst daddel9 at kanojo.de
Sun Jun 23 09:29:37 UTC 2013


Package: libavutil51
Version: 6:0.8.7-1
Severity: important
Tags: upstream

Dear Maintainer,
*** Please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these lines ***

I am using pulseaudio (tried 2.0-6.1 and 4.0-3) for my sound output via
digital surround S/PDIF using A52 encoding. This is achieved by
pulseaudio relying on libasound2-plugins encoder which in turn relies on
libav (as far as i can understand). After a recent testing (my current
debian version) upgrade pulseaudio began not to start anymore, and
exiting with a SIGFPE, Arithmetic exception. This can
(probably/hopefully) be reproduced the following way:

Install pulseaudio and its libav dependencies from unstable on a
computer with a S/PDIF output that can/could be used by alsa. Put the
following in /etc/asound.conf:
=============================
pcm.a52 {
  @args [CARD]
  @args.CARD {
    type string
  }
  type rate
  slave {
    pcm {
      type a52
      bitrate 448
      channels 6
      card $CARD
    }
    rate 48000 #required somehow, otherwise nothing happens in PulseAudio
  }
}
=============================
and then starting pulseaudio:
 ~/ > pulseaudio
W: [pulseaudio] pid.c: Stale PID file, overwriting.
Floating point exception

Digging deeper with gdb, you might get:
=============================
 ~/ > gdb pulseaudio
[...]
(gdb) run
Starting program: /usr/bin/pulseaudio
warning: no loadable sections found in added symbol-file system-supplied
DSO at 0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
process 12005 is executing new program: /usr/bin/pulseaudio
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
W: [pulseaudio] pid.c: Stale PID file, overwriting.

Program received signal SIGFPE, Arithmetic exception.
0x00007fffeb7d842a in av_samples_get_buffer_size () from
/usr/lib/x86_64-linux-gnu/libavutil.so.51
(gdb) bt
#0  0x00007fffeb7d842a in av_samples_get_buffer_size () from
/usr/lib/x86_64-linux-gnu/libavutil.so.51
#1  0x00007fffeb7d85c3 in av_samples_alloc () from
/usr/lib/x86_64-linux-gnu/libavutil.so.51
#2  0x00007fffec86c22f in ?? () from
/usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_pcm_a52.so
#3  0x00007fffecd22eef in ?? () from
/usr/lib/x86_64-linux-gnu/libasound.so.2
#4  0x00007fffeca8154d in pa_alsa_set_hw_params () from
/usr/lib/pulse-4.0/modules/libalsa-util.so
#5  0x00007fffeca81c77 in pa_alsa_open_by_device_string () from
/usr/lib/pulse-4.0/modules/libalsa-util.so
#6  0x00007fffeca81f68 in pa_alsa_open_by_template () from
/usr/lib/pulse-4.0/modules/libalsa-util.so
#7  0x00007fffeca89a77 in ?? () from
/usr/lib/pulse-4.0/modules/libalsa-util.so
#8  0x00007fffeca938ea in pa_alsa_profile_set_probe () from
/usr/lib/pulse-4.0/modules/libalsa-util.so
#9  0x00007fffecfaf21f in module_alsa_card_LTX_pa__init () from
/usr/lib/pulse-4.0/modules/module-alsa-card.so
#10 0x00007ffff7b7419b in pa_module_load () from
/usr/lib/libpulsecore-4.0.so
#11 0x00007fffed3c4a37 in ?? () from
/usr/lib/pulse-4.0/modules/module-udev-detect.so
#12 0x00007fffed3c5cb7 in module_udev_detect_LTX_pa__init () from
/usr/lib/pulse-4.0/modules/module-udev-detect.so
#13 0x00007ffff7b7419b in pa_module_load () from
/usr/lib/libpulsecore-4.0.so
#14 0x00007ffff7b6372a in ?? () from /usr/lib/libpulsecore-4.0.so
#15 0x00007ffff7b69282 in pa_cli_command_execute_line_stateful () from
/usr/lib/libpulsecore-4.0.so
#16 0x00007ffff7b69b91 in pa_cli_command_execute_file_stream () from
/usr/lib/libpulsecore-4.0.so
#17 0x000000000040796e in main ()
=============================


The versions of related programs and libraries where this happens for me
are:
libasound2-plugins 1.0.27-2
libavcodec53 6:0.8.7-1
libavutil51 6:0.8.7-1
pulseaudio 4.0-3 || 2.0-6.1

I hope the provided information is sufficient to reproduce and/or
isolate the bug. By the way, one pulseaudio developer in IRC suggested
to report the bug to either alsa-plugins or libav upstream.

If anything more is needed, please tell me what. Thanks for your great
work, and Best Regards
- Dario Ernst


-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.8-trunk-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libavutil51 depends on:
ii  libc6              2.17-3
ii  multiarch-support  2.17-3

libavutil51 recommends no packages.

libavutil51 suggests no packages.

-- no debconf information



More information about the pkg-multimedia-maintainers mailing list