[pulseaudio-discuss] [PATCH] Up max channels to 64 for MADI cards etc

Klaus Badelt klaus at kinonation.com
Fri Jan 27 19:12:03 UTC 2017


Confirming the same assertion on my side. RME HDSPe MADI.

channelmap.c triggers this assertion on startup, simply checking if the
available channels exceed PA_CHANNELS_MAX.





*KLAUS BADELT*Founder kinonation.com <http://klausbadelt.com/>
@Kinonation1


On Fri, Jan 27, 2017 at 5:08 AM, Takashi Sakamoto <o-takashi at sakamocchi.jp>
wrote:

> Hi Tanu and Klaus,
>
> On Jan 27 2016 20:26, Tanu Kaskinen wrote:
>
>> On Tue, 2017-01-24 at 11:35 -0800, Klaus Badelt wrote:
>>
>>> The 32 channel limit excludes use of audio interfaces like for example
>>> (my)
>>> RME HDSPe MADI (64x64), all other MADI interfaces (incl. RME MADIface),
>>> RME
>>> Fireface UFX+ (94x94), MOTU 1248 (32x34), MOTU 112D (112), Focusrite Red
>>> (64x64), ProTools hardward, and more. In general, we're excluding many
>>> pro
>>> audio and prosumer audio interfaces.
>>>
>>> A workaround could be to limit use of first 32 channels instead of
>>> crashing
>>> with assert on startup. Happy to work on a patch if you see this as a
>>> potential path.
>>>
>>
>> What's the assertion? At the very least the crash should be fixed, even
>> if it doesn't make the sound card work.
>>
>
> I face the assertion in my current work for ALSA driver for MOTU FireWire
> units. One of my test device supports 34ch capture. When logging in desktop
> environment which starts pulseaudio process, I can see its abort due to
> below assertion.
>
> pulseaudio[18757]: [pulseaudio] channelmap.c: Assertion
> 'pa_channels_valid(channels)' failed at pulse/channelmap.c:401, function
> pa_cannel_map_init_extend(). Aborting.
>
> Below is the stacktrace.
>
> == Stacktrace =================================
> #0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
>         set = {__val = {0, 0, 0, 0, 0, 0, 4672924419136, 146028888064, 34,
> 189408057797700, 105961138159616, 24671, 4672924419136, 0, 0, 0}}
>         pid = <optimized out>
>         tid = <optimized out>
> #1  0x00007f50383433ea in __GI_abort () at abort.c:89
>         save_stage = 2
>         act = {__sigaction_handler = {sa_handler = 0x3000000028,
> sa_sigaction = 0x3000000028}, sa_mask = {__val = {0, 140732661601104,
> 4035625362880256, 140732661601088, 0, 139982539889656, 94743048657840,
> 139982546343824, 0, 0, 140732661601104, 0, 139982517379468,
> 189408057753607, 139981574111266, 140732661600784}}, sa_flags = 965515017,
> sa_restorer = 0x7f503990903e}
>         sigs = {__val = {32, 0 <repeats 15 times>}}
> #2  0x00007f50398c9712 in pa_channel_map_init_extend () from
> /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-9.0.so
> No symbol table info available.
> #3  0x00007f502ac6f058 in pa_alsa_open_by_device_string () from
> /usr/lib/pulse-9.0/modules/libalsa-util.so
> No symbol table info available.
> #4  0x00007f502ac6f12c in pa_alsa_open_by_template () from
> /usr/lib/pulse-9.0/modules/libalsa-util.so
> No symbol table info available.
> #5  0x00007f502ac78ae1 in ?? () from /usr/lib/pulse-9.0/modules/lib
> alsa-util.so
> No symbol table info available.
> #6  0x00007f502ac82161 in pa_alsa_profile_set_probe () from
> /usr/lib/pulse-9.0/modules/libalsa-util.so
> No symbol table info available.
> #7  0x00007f502b1b00ee in module_alsa_card_LTX_pa__init () from
> /usr/lib/pulse-9.0/modules/module-alsa-card.so
> No symbol table info available.
> #8  0x00007f5039b593b8 in pa_module_load () from
> /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-9.0.so
> No symbol table info available.
> #9  0x00007f502b3b6703 in ?? () from /usr/lib/pulse-9.0/modules/mod
> ule-udev-detect.so
> No symbol table info available.
> #10 0x00007f502b3b7a0b in module_udev_detect_LTX_pa__init () from
> /usr/lib/pulse-9.0/modules/module-udev-detect.so
> No symbol table info available.
> #11 0x00007f5039b593b8 in pa_module_load () from
> /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-9.0.so
> No symbol table info available.
> #12 0x00007f5039b48381 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/
> libpulsecore-9.0.so
> No symbol table info available.
> #13 0x00007f5039b4e71c in pa_cli_command_execute_line_stateful () from
> /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-9.0.so
> No symbol table info available.
> #14 0x00007f5039b4ef31 in pa_cli_command_execute_file_stream () from
> /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-9.0.so
> No symbol table info available.
> #15 0x0000562b1430c242 in main ()
> No symbol table info available.
>
> We can see SIGABRT is generated in below line:
> https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/
> pulse/channelmap.c#n401
>
>
> Regards
>
> Takashi Sakamoto
>
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20170127/0dae6de5/attachment-0001.html>


More information about the pulseaudio-discuss mailing list