<div dir="ltr">Thank you! What's the behavior now with your fix? Can I find the code somewhere?</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr">







<p><font size="1"><span><font color="#666666"><b><br></b></font></span></font></p><p><font size="1"><span><font color="#666666"><b>KLAUS BADELT<br></b></font></span><font color="#666666">Founder </font><a href="http://klausbadelt.com/" target="_blank"><font color="#666666">kinonation.com</font></a><span style="color:rgb(102,102,102)"><span><br></span></span><font color="#666666">@Kinonation1<br></font></font><br></p></div></div></div></div></div></div>
<br><div class="gmail_quote">On Sat, Jan 28, 2017 at 8:10 AM, Tanu Kaskinen <span dir="ltr"><<a href="mailto:tanuk@iki.fi" target="_blank">tanuk@iki.fi</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Fri, 2017-01-27 at 22:08 +0900, Takashi Sakamoto wrote:<br>
> Hi Tanu and Klaus,<br>
><br>
> On Jan 27 2016 20:26, Tanu Kaskinen wrote:<br>
> > On Tue, 2017-01-24 at 11:35 -0800, Klaus Badelt wrote:<br>
> > > The 32 channel limit excludes use of audio interfaces like for example (my)<br>
> > > RME HDSPe MADI (64x64), all other MADI interfaces (incl. RME MADIface), RME<br>
> > > Fireface UFX+ (94x94), MOTU 1248 (32x34), MOTU 112D (112), Focusrite Red<br>
> > > (64x64), ProTools hardward, and more. In general, we're excluding many pro<br>
> > > audio and prosumer audio interfaces.<br>
> > ><br>
> > > A workaround could be to limit use of first 32 channels instead of crashing<br>
> > > with assert on startup. Happy to work on a patch if you see this as a<br>
> > > potential path.<br>
> ><br>
> > What's the assertion? At the very least the crash should be fixed, even<br>
> > if it doesn't make the sound card work.<br>
><br>
> I face the assertion in my current work for ALSA driver for MOTU<br>
> FireWire units. One of my test device supports 34ch capture. When<br>
> logging in desktop environment which starts pulseaudio process, I can<br>
> see its abort due to below assertion.<br>
><br>
> pulseaudio[18757]: [pulseaudio] channelmap.c: Assertion<br>
> 'pa_channels_valid(channels)' failed at pulse/channelmap.c:401, function<br>
> pa_cannel_map_init_extend(). Aborting.<br>
><br>
> Below is the stacktrace.<br>
><br>
> == Stacktrace ==============================<wbr>===<br>
> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/<wbr>raise.c:58<br>
>          set = {__val = {0, 0, 0, 0, 0, 0, 4672924419136, 146028888064,<br>
> 34, 189408057797700, 105961138159616, 24671, 4672924419136, 0, 0, 0}}<br>
>          pid = <optimized out><br>
>          tid = <optimized out><br>
> #1  0x00007f50383433ea in __GI_abort () at abort.c:89<br>
>          save_stage = 2<br>
>          act = {__sigaction_handler = {sa_handler = 0x3000000028,<br>
> sa_sigaction = 0x3000000028}, sa_mask = {__val = {0, 140732661601104,<br>
> 4035625362880256, 140732661601088, 0, 139982539889656, 94743048657840,<br>
> 139982546343824, 0, 0, 140732661601104, 0, 139982517379468,<br>
> 189408057753607, 139981574111266, 140732661600784}}, sa_flags =<br>
> 965515017, sa_restorer = 0x7f503990903e}<br>
>          sigs = {__val = {32, 0 <repeats 15 times>}}<br>
> #2  0x00007f50398c9712 in pa_channel_map_init_extend () from<br>
> /usr/lib/x86_64-linux-gnu/<wbr>pulseaudio/<a href="http://libpulsecommon-9.0.so" rel="noreferrer" target="_blank">libpulsecommon-9.0.<wbr>so</a><br>
> No symbol table info available.<br>
> #3  0x00007f502ac6f058 in pa_alsa_open_by_device_string () from<br>
> /usr/lib/pulse-9.0/modules/<wbr>libalsa-util.so<br>
> No symbol table info available.<br>
> #4  0x00007f502ac6f12c in pa_alsa_open_by_template () from<br>
> /usr/lib/pulse-9.0/modules/<wbr>libalsa-util.so<br>
> No symbol table info available.<br>
> #5  0x00007f502ac78ae1 in ?? () from<br>
> /usr/lib/pulse-9.0/modules/<wbr>libalsa-util.so<br>
> No symbol table info available.<br>
> #6  0x00007f502ac82161 in pa_alsa_profile_set_probe () from<br>
> /usr/lib/pulse-9.0/modules/<wbr>libalsa-util.so<br>
> No symbol table info available.<br>
> #7  0x00007f502b1b00ee in module_alsa_card_LTX_pa__init () from<br>
> /usr/lib/pulse-9.0/modules/<wbr>module-alsa-card.so<br>
> No symbol table info available.<br>
> #8  0x00007f5039b593b8 in pa_module_load () from<br>
> /usr/lib/x86_64-linux-gnu/<wbr>pulseaudio/<a href="http://libpulsecore-9.0.so" rel="noreferrer" target="_blank">libpulsecore-9.0.so</a><br>
> No symbol table info available.<br>
> #9  0x00007f502b3b6703 in ?? () from<br>
> /usr/lib/pulse-9.0/modules/<wbr>module-udev-detect.so<br>
> No symbol table info available.<br>
> #10 0x00007f502b3b7a0b in module_udev_detect_LTX_pa__<wbr>init () from<br>
> /usr/lib/pulse-9.0/modules/<wbr>module-udev-detect.so<br>
> No symbol table info available.<br>
> #11 0x00007f5039b593b8 in pa_module_load () from<br>
> /usr/lib/x86_64-linux-gnu/<wbr>pulseaudio/<a href="http://libpulsecore-9.0.so" rel="noreferrer" target="_blank">libpulsecore-9.0.so</a><br>
> No symbol table info available.<br>
> #12 0x00007f5039b48381 in ?? () from<br>
> /usr/lib/x86_64-linux-gnu/<wbr>pulseaudio/<a href="http://libpulsecore-9.0.so" rel="noreferrer" target="_blank">libpulsecore-9.0.so</a><br>
> No symbol table info available.<br>
> #13 0x00007f5039b4e71c in pa_cli_command_execute_line_<wbr>stateful () from<br>
> /usr/lib/x86_64-linux-gnu/<wbr>pulseaudio/<a href="http://libpulsecore-9.0.so" rel="noreferrer" target="_blank">libpulsecore-9.0.so</a><br>
> No symbol table info available.<br>
> #14 0x00007f5039b4ef31 in pa_cli_command_execute_file_<wbr>stream () from<br>
> /usr/lib/x86_64-linux-gnu/<wbr>pulseaudio/<a href="http://libpulsecore-9.0.so" rel="noreferrer" target="_blank">libpulsecore-9.0.so</a><br>
> No symbol table info available.<br>
> #15 0x0000562b1430c242 in main ()<br>
> No symbol table info available.<br>
><br>
> We can see SIGABRT is generated in below line:<br>
> <a href="https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/pulse/channelmap.c#n401" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/<wbr>pulseaudio/pulseaudio/tree/<wbr>src/pulse/channelmap.c#n401</a><br>
<br>
</div></div>Thanks for the stacktrace! I submitted a potential fix, I hope you can<br>
test it and confirm that PulseAudio doesn't crash any more.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Tanu<br>
<br>
<a href="https://www.patreon.com/tanuk" rel="noreferrer" target="_blank">https://www.patreon.com/tanuk</a><br>
</font></span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org">pulseaudio-discuss@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/pulseaudio-<wbr>discuss</a><br>
</div></div></blockquote></div><br></div>