Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1694018 - PulseAudio virtual surround module crashes
Summary: PulseAudio virtual surround module crashes
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: pulseaudio
Version: 29
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Lennart Poettering
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-03-29 10:21 UTC by Clément Vuchener
Modified: 2019-04-01 11:13 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:


Attachments (Terms of Use)
hrir file used by the module (deleted)
2019-03-29 10:21 UTC, Clément Vuchener
no flags Details

Description Clément Vuchener 2019-03-29 10:21:39 UTC
Created attachment 1549407 [details]
hrir file used by the module

Description of problem:

PulseAudio crashes when I try to add a virtual surround sink with a self-made hrir file. Although, it works the hrir files in PulseAudio documentation (e.g. hrir-kemar.wav).


Version-Release number of selected component (if applicable):

pulseaudio-12.2-1.fc29.x86_64


How reproducible:


Steps to Reproduce:
1. Modify ~/.config/pulse/default.pa
2. restart pulseaudio.service
3.

Actual results:

pulseaudio crashes

Stack trace of thread 3255:
#0  0x00007f6cdc93453f raise (libc.so.6)
#1  0x00007f6cdc91e895 abort (libc.so.6)
#2  0x00007f6cdd217212 pa_sink_input_cork (libpulsecore-12.2.so)
#3  0x00007f6cca1725b7 module_virtual_surround_sink_LTX_pa__done (module-virtual-surround-sink.so)
#4  0x00007f6cca1731cd module_virtual_surround_sink_LTX_pa__init (module-virtual-surround-sink.so)
#5  0x00007f6cdd1fe87e pa_module_load (libpulsecore-12.2.so)
#6  0x00007f6cdd1ec5a6 pa_cli_command_load (libpulsecore-12.2.so)
#7  0x00007f6cdd1f322e pa_cli_command_execute_line_stateful (libpulsecore-12.2.so)
#8  0x00007f6cdd1f39e9 pa_cli_command_execute_file_stream (libpulsecore-12.2.so)
#9  0x000055d08f73b4d4 main (pulseaudio)
#10 0x00007f6cdc920413 __libc_start_main (libc.so.6)
#11 0x000055d08f73c2ca _start (pulseaudio)
                                               
Stack trace of thread 3305:
#0  0x00007f6cdc9ee516 ppoll (libc.so.6)
#1  0x00007f6cdd207cef pa_rtpoll_run (libpulsecore-12.2.so)
#2  0x00007f6ccb359c55 thread_func (libalsa-util.so)
#3  0x00007f6cdd00706c internal_thread_func (libpulsecommon-12.2.so)
#4  0x00007f6cdcc5e58e start_thread (libpthread.so.0)
#5  0x00007f6cdc9f96a3 __clone (libc.so.6)
                                               
Stack trace of thread 3310:
#0  0x00007f6cdc9ee516 ppoll (libc.so.6)
#1  0x00007f6cdd207cef pa_rtpoll_run (libpulsecore-12.2.so)
#2  0x00007f6ccb36042b thread_func (libalsa-util.so)
#3  0x00007f6cdd00706c internal_thread_func (libpulsecommon-12.2.so)
#4  0x00007f6cdcc5e58e start_thread (libpthread.so.0)
#5  0x00007f6cdc9f96a3 __clone (libc.so.6)


Expected results:

PulseAudio does not crash and print error diagnostics if something is wrong with the parameters or hrir files.


Additional info:

Line in default.pa for loading the module:

load-module module-virtual-surround-sink sink_name=vsurround hrir=/home/clement/.local/share/hrir/xfi.wav sink_properties=device.description=VirtualSurround sink_master=alsa_output.pci-0000_03_00.0.analog-stereo channels=8 channel_map=front-left,left,rear-left,front-center,front-right,right,rear-right,lfe

Comment 1 Clément Vuchener 2019-04-01 11:05:55 UTC
I missed some error messages before the crash:

E: [pulseaudio] sound-file.c: Failed to determine file channel map, synthesizing one.
E: [pulseaudio] module-virtual-surround-sink.c: Cannot find mapping for channel rear-left
E: [pulseaudio] sink-input.c: Assertion 'PA_SINK_INPUT_IS_LINKED(i->state)' failed at pulsecore/sink-input.c:1573, function pa_sink_input_cork(). Aborting.

Comment 2 Clément Vuchener 2019-04-01 11:13:19 UTC
The issue is not the hrir file, it is the channel map. If I remove the channel_map parameter, it does not crash, but I don't have the proper channels.


Note You need to log in before you can comment on or make changes to this bug.