Bug#713856: libavutil51: Pulseaudio provokes SIGFPE in libavutil

Dario Ernst daddel9 at kanojo.de
Fri Jul 12 13:52:27 UTC 2013


Hello Reinhard,

On 06/29/2013 08:21 AM, Reinhard Tartler wrote:
> Can you please redo this backtrace with the packages "pulseaudio-dbg"
> and "libav-dbg" installed? Without that, the backtrace has only
> limited use.
> 
> Also, please use both "bt full" and "bt" commands in the debugger.

I have finally found some time to revert my libav packages to the Debian
version from the (semi-working) DMO version. I've also installed
pulseaudio-dbg (of pulseaudio 4.0-3). Here is the gdb output of run/bt
and run/bt-full:


 ~/ > gdb pulseaudio
GNU gdb (GDB) 7.6-debian
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/pulseaudio...Reading symbols from
/usr/lib/debug/usr/bin/pulseaudio...done.
done.
(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 16248 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.
0x00007fffeb9dc42a in av_samples_get_buffer_size () from
/usr/lib/x86_64-linux-gnu/libavutil.so.51
(gdb) bt
#0  0x00007fffeb9dc42a in av_samples_get_buffer_size () from
/usr/lib/x86_64-linux-gnu/libavutil.so.51
#1  0x00007fffeb9dc5c3 in av_samples_alloc () from
/usr/lib/x86_64-linux-gnu/libavutil.so.51
#2  0x00007fffeca7022f in ?? () from
/usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_pcm_a52.so
#3  0x00007fffecc8526d in pa_alsa_set_hw_params (pcm_handle=0x78b490,
ss=ss at entry=0x7fffffffd2a0,
period_size=period_size at entry=0x7fffffffd290,
buffer_size=buffer_size at entry=0x7fffffffd298,
    tsched_size=tsched_size at entry=0, use_mmap=use_mmap at entry=0x0,
use_tsched=use_tsched at entry=0x0,
require_exact_channel_number=require_exact_channel_number at entry=true)
    at modules/alsa/alsa-util.c:319
#4  0x00007fffecc85c77 in pa_alsa_open_by_device_string
(device=device at entry=0x7782f0 "a52:0", dev=dev at entry=0x0,
ss=ss at entry=0x7fffffffd2a0, map=map at entry=0x7fffffffd2b0,
mode=mode at entry=0,
    period_size=period_size at entry=0x7fffffffd290,
buffer_size=buffer_size at entry=0x7fffffffd298,
tsched_size=tsched_size at entry=0, use_mmap=use_mmap at entry=0x0,
use_tsched=use_tsched at entry=0x0,

require_exact_channel_number=require_exact_channel_number at entry=true) at
modules/alsa/alsa-util.c:680
#5  0x00007fffecc85f68 in pa_alsa_open_by_template (template=<optimized
out>, dev_id=dev_id at entry=0x67b900 "0", dev=dev at entry=0x0,
ss=ss at entry=0x7fffffffd2a0, map=map at entry=0x7fffffffd2b0,
    mode=mode at entry=0, period_size=period_size at entry=0x7fffffffd290,
buffer_size=buffer_size at entry=0x7fffffffd298,
tsched_size=tsched_size at entry=0, use_mmap=use_mmap at entry=0x0,
    use_tsched=use_tsched at entry=0x0,
require_exact_channel_number=require_exact_channel_number at entry=true) at
modules/alsa/alsa-util.c:756
#6  0x00007fffecc8da77 in mapping_open_pcm (m=m at entry=0x685960,
ss=ss at entry=0x61d0fc, dev_id=dev_id at entry=0x67b900 "0",
mode=mode at entry=0, default_n_fragments=default_n_fragments at entry=4,
    default_fragment_size_msec=default_fragment_size_msec at entry=25) at
modules/alsa/alsa-mixer.c:4245
#7  0x00007fffecc978ea in pa_alsa_profile_set_probe (ps=0x67f4e0,
dev_id=0x67b900 "0", ss=0x61d0fc, default_n_fragments=4,
default_fragment_size_msec=25) at modules/alsa/alsa-mixer.c:4330
#8  0x00007fffed1b321f in module_alsa_card_LTX_pa__init (m=0x678500) at
modules/alsa/module-alsa-card.c:697
#9  0x00007ffff7b7419b in pa_module_load (c=0x61cfe0,
name=name at entry=0x7fffed5ca19b "module-alsa-card",
    argument=0x678be0 "device_id=\"0\" name=\"pci-0000_00_1b.0\"
card_name=\"alsa_card.pci-0000_00_1b.0\" namereg_fail=false tsched=yes
fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes
card_properties=\"module-u"...) at pulsecore/module.c:115
#10 0x00007fffed5c8a37 in verify_access (u=0x6749b0, d=0x6783f0) at
modules/module-udev-detect.c:341
#11 0x00007fffed5c9cb7 in process_path (path=<optimized out>,
u=0x6749b0) at modules/module-udev-detect.c:489
#12 module_udev_detect_LTX_pa__init (m=<optimized out>) at
modules/module-udev-detect.c:797
#13 0x00007ffff7b7419b in pa_module_load (c=c at entry=0x61cfe0,
name=name at entry=0x624ac0 "module-udev-detect", argument=0x0) at
pulsecore/module.c:115
#14 0x00007ffff7b6372a in pa_cli_command_load (c=0x61cfe0, t=0x622830,
buf=0x618c60, fail=0x617095) at pulsecore/cli-command.c:441
#15 0x00007ffff7b69282 in pa_cli_command_execute_line_stateful
(c=c at entry=0x61cfe0, s=s at entry=0x7fffffffd8a0 "load-module
module-udev-detect", buf=buf at entry=0x618c60, fail=fail at entry=0x617095,
    ifstate=ifstate at entry=0x7fffffffd89c) at pulsecore/cli-command.c:2108
#16 0x00007ffff7b69b91 in pa_cli_command_execute_file_stream
(c=c at entry=0x61cfe0, f=f at entry=0x622980, buf=buf at entry=0x618c60,
fail=fail at entry=0x617095) at pulsecore/cli-command.c:2148
#17 0x000000000040796e in main (argc=<optimized out>, argv=<optimized
out>) at daemon/main.c:1084
(gdb) bt full
#0  0x00007fffeb9dc42a in av_samples_get_buffer_size () from
/usr/lib/x86_64-linux-gnu/libavutil.so.51
No symbol table info available.
#1  0x00007fffeb9dc5c3 in av_samples_alloc () from
/usr/lib/x86_64-linux-gnu/libavutil.so.51
No symbol table info available.
#2  0x00007fffeca7022f in ?? () from
/usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_pcm_a52.so
No symbol table info available.
#3  0x00007fffecc8526d in pa_alsa_set_hw_params (pcm_handle=0x78b490,
ss=ss at entry=0x7fffffffd2a0,
period_size=period_size at entry=0x7fffffffd290,
buffer_size=buffer_size at entry=0x7fffffffd298,
    tsched_size=tsched_size at entry=0, use_mmap=use_mmap at entry=0x0,
use_tsched=use_tsched at entry=0x0,
require_exact_channel_number=require_exact_channel_number at entry=true)
    at modules/alsa/alsa-util.c:319
        max_frames = 15360
        ret = <optimized out>
        hwparams = 0x7fffffffce10
        hwparams_copy = 0x7fffffffcba0
        dir = 0
        _period_size = 1199
        _buffer_size = 4797
        _use_mmap = <optimized out>
        _use_tsched = <optimized out>
        _ss = {format = PA_SAMPLE_S16LE, rate = 48000, channels = 6 '\006'}
        __func__ = "pa_alsa_set_hw_params"
        __PRETTY_FUNCTION__ = "pa_alsa_set_hw_params"
#4  0x00007fffecc85c77 in pa_alsa_open_by_device_string
(device=device at entry=0x7782f0 "a52:0", dev=dev at entry=0x0,
ss=ss at entry=0x7fffffffd2a0, map=map at entry=0x7fffffffd2b0,
mode=mode at entry=0,
    period_size=period_size at entry=0x7fffffffd290,
buffer_size=buffer_size at entry=0x7fffffffd298,
tsched_size=tsched_size at entry=0, use_mmap=use_mmap at entry=0x0,
use_tsched=use_tsched at entry=0x0,

require_exact_channel_number=require_exact_channel_number at entry=true) at
modules/alsa/alsa-util.c:680
        err = <optimized out>
        d = 0x76ef00 "a52:0"
        pcm_handle = 0x78b490
        reformat = <optimized out>
        __func__ = "pa_alsa_open_by_device_string"
        __PRETTY_FUNCTION__ = "pa_alsa_open_by_device_string"
#5  0x00007fffecc85f68 in pa_alsa_open_by_template (template=<optimized
out>, dev_id=dev_id at entry=0x67b900 "0", dev=dev at entry=0x0,
ss=ss at entry=0x7fffffffd2a0, map=map at entry=0x7fffffffd2b0,
    mode=mode at entry=0, period_size=period_size at entry=0x7fffffffd290,
buffer_size=buffer_size at entry=0x7fffffffd298,
tsched_size=tsched_size at entry=0, use_mmap=use_mmap at entry=0x0,
---Type <return> to continue, or q <return> to quit---
    use_tsched=use_tsched at entry=0x0,
require_exact_channel_number=require_exact_channel_number at entry=true) at
modules/alsa/alsa-util.c:756
        d = 0x7782f0 "a52:0"
        pcm_handle = <optimized out>
        i = 0x685f10
#6  0x00007fffecc8da77 in mapping_open_pcm (m=m at entry=0x685960,
ss=ss at entry=0x61d0fc, dev_id=dev_id at entry=0x67b900 "0",
mode=mode at entry=0, default_n_fragments=default_n_fragments at entry=4,
    default_fragment_size_msec=default_fragment_size_msec at entry=25) at
modules/alsa/alsa-mixer.c:4245
        try_ss = {format = PA_SAMPLE_S16LE, rate = 44100, channels = 6
'\006'}
        try_map = {channels = 6 '\006', map =
{PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT,
PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT,
            PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE,
PA_CHANNEL_POSITION_INVALID <repeats 26 times>}}
        try_period_size = 1102
        try_buffer_size = 4408
#7  0x00007fffecc978ea in pa_alsa_profile_set_probe (ps=0x67f4e0,
dev_id=0x67b900 "0", ss=0x61d0fc, default_n_fragments=4,
default_fragment_size_msec=25) at modules/alsa/alsa-mixer.c:4330
        idx = 0
        state = 0x6b5660
        p = 0x6b3b90
        last = <optimized out>
        m = 0x685960
        broken_inputs = 0x6dcb70
        broken_outputs = 0x6dcfa0
        __func__ = "pa_alsa_profile_set_probe"
        __PRETTY_FUNCTION__ = "pa_alsa_profile_set_probe"
#8  0x00007fffed1b321f in module_alsa_card_LTX_pa__init (m=0x678500) at
modules/alsa/module-alsa-card.c:697
        data = {
          name = 0x678be0 "device_id=\"0\" name=\"pci-0000_00_1b.0\"
card_name=\"alsa_card.pci-0000_00_1b.0\" namereg_fail=false tsched=yes
fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes
card_properties=\"module-u"..., proplist = 0x7ffff7bb8cf0, driver =
0x6791f0 "\020 at g", module = 0x7fffed5ca19b, profiles = 0x678be0,
          active_profile = 0x678d40 "_latency_range=no ignore_dB=no
deferred_volume=yes use_ucm=yes
card_properties=\"module-udev-detect.discovered=1\"", ports = 0x68c660,
namereg_fail = true,
          save_profile = true}
        ma = 0x678580
        ignore_dB = false
        reserve = 0x67ba00
        description = <optimized out>
        profile = 0x0
---Type <return> to continue, or q <return> to quit---
        fn = <optimized out>
        namereg_fail = false
        __func__ = "module_alsa_card_LTX_pa__init"
        __PRETTY_FUNCTION__ = "module_alsa_card_LTX_pa__init"
#9  0x00007ffff7b7419b in pa_module_load (c=0x61cfe0,
name=name at entry=0x7fffed5ca19b "module-alsa-card",
    argument=0x678be0 "device_id=\"0\" name=\"pci-0000_00_1b.0\"
card_name=\"alsa_card.pci-0000_00_1b.0\" namereg_fail=false tsched=yes
fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes
card_properties=\"module-u"...) at pulsecore/module.c:115
        m = <optimized out>
        load_once = <optimized out>
        get_deprecated = <optimized out>
        mi = <optimized out>
        __func__ = "pa_module_load"
        __PRETTY_FUNCTION__ = "pa_module_load"
#10 0x00007fffed5c8a37 in verify_access (u=0x6749b0, d=0x6783f0) at
modules/module-udev-detect.c:341
        m = <optimized out>
        cd = <optimized out>
        card = <optimized out>
        accessible = <optimized out>
        __func__ = "verify_access"
        __PRETTY_FUNCTION__ = "verify_access"
#11 0x00007fffed5c9cb7 in process_path (path=<optimized out>,
u=0x6749b0) at modules/module-udev-detect.c:489
        dev = 0x677dc0
#12 module_udev_detect_LTX_pa__init (m=<optimized out>) at
modules/module-udev-detect.c:797
        u = <optimized out>
        ma = 0x674070
        enumerate = 0x677620
        item = 0x687e50
        first = <optimized out>
        fd = <optimized out>
        use_tsched = true
        fixed_latency_range = false
        ignore_dB = false
---Type <return> to continue, or q <return> to quit---
        deferred_volume = true
        use_ucm = true
        __func__ = "module_udev_detect_LTX_pa__init"
        __PRETTY_FUNCTION__ = "module_udev_detect_LTX_pa__init"
#13 0x00007ffff7b7419b in pa_module_load (c=c at entry=0x61cfe0,
name=name at entry=0x624ac0 "module-udev-detect", argument=0x0) at
pulsecore/module.c:115
        m = <optimized out>
        load_once = <optimized out>
        get_deprecated = <optimized out>
        mi = <optimized out>
        __func__ = "pa_module_load"
        __PRETTY_FUNCTION__ = "pa_module_load"
#14 0x00007ffff7b6372a in pa_cli_command_load (c=0x61cfe0, t=0x622830,
buf=0x618c60, fail=0x617095) at pulsecore/cli-command.c:441
        name = 0x624ac0 "module-udev-detect"
        __func__ = "pa_cli_command_load"
        __PRETTY_FUNCTION__ = "pa_cli_command_load"
#15 0x00007ffff7b69282 in pa_cli_command_execute_line_stateful
(c=c at entry=0x61cfe0, s=s at entry=0x7fffffffd8a0 "load-module
module-udev-detect", buf=buf at entry=0x618c60, fail=fail at entry=0x617095,
    ifstate=ifstate at entry=0x7fffffffd89c) at pulsecore/cli-command.c:2108
        ret = <optimized out>
        t = 0x622830
        command = 0x7ffff7dd8240 <commands+384>
        unknown = 1
        l = 11
        cs = <optimized out>
        __func__ = "pa_cli_command_execute_line_stateful"
        __PRETTY_FUNCTION__ = "pa_cli_command_execute_line_stateful"
#16 0x00007ffff7b69b91 in pa_cli_command_execute_file_stream
(c=c at entry=0x61cfe0, f=f at entry=0x622980, buf=buf at entry=0x618c60,
fail=fail at entry=0x617095) at pulsecore/cli-command.c:2148
        line = "load-module module-udev-detect\000\000\000ules depending
on the hardware
available\000\000=input\000\000\000\000\000\000\000\002\000\000\000\002\000\000\000\177\300\222\367\377\177\000\000\000\000\000\000'\000\000\000d\263\222\367\377\177\000\000C\202a\000\000\000\000\000~\300\222\367\377\177\000\000\b\000\000\000\060\000\000\000
\340\377\377\377\177\000\000@\337\377\377\377\177\000\000\203\202a\000\000\000\000\000\211\202a\000\000\000\000\000\222\300\222\367\377\177\000\000\242\202a\000\000\000\000\000\263\202a\000\000\000\000\000"...
        ifstate = 1
        ret = -1
        _fail = true
---Type <return> to continue, or q <return> to quit---
        __func__ = "pa_cli_command_execute_file_stream"
        __PRETTY_FUNCTION__ = "pa_cli_command_execute_file_stream"
#17 0x000000000040796e in main (argc=<optimized out>, argv=<optimized
out>) at daemon/main.c:1084
        f = 0x622980
        c = 0x61cfe0
        buf = 0x618c60
        conf = 0x617090
        mainloop = 0x618de0
        s = <optimized out>
        configured_address = 0x61cfe0 "\001"
        r = 0
        retval = 1
        d = 1
        valid_pid_file = true
        ltdl_init = true
        passed_fd = <optimized out>
        e = <optimized out>
        daemon_pipe = {-1, -1}
        daemon_pipe2 = {-1, -1}
        autospawn_fd = -1
        autospawn_locked = false
        server_lookup = 0x0
        lookup_service_bus = 0x0
        server_bus = 0x0
        start_server = <optimized out>
        __func__ = "main"
        __PRETTY_FUNCTION__ = "main"
(gdb) quit
A debugging session is active.

        Inferior 1 [process 16248] will be killed.

Quit anyway? (y or n)


I have not been able to make too much sense from that, beeing a
higher-level guy myself, i also couldn't quite follow the codeflow in
libavutils a52 helper functions. So i really do hope that someone of you
can make sense of this, and either fix it or get upstream to fix it (i
am right in that i should not open an upstream bugreport, right?).

Anyways: Thanks for your great help and patience with me! Best Regards!
- Dario Ernst



More information about the pkg-multimedia-maintainers mailing list