[alsa-devel] [RFC][PATCH 0/2] Fix aplay and alsa-lib write_areas() freezing with 100% cpu usage on stuck slave pcm

Sergey sergemp at mail.ru
Fri Jun 13 14:13:45 CEST 2014


Fri, 13 Jun 2014 Jaroslav Kysela wrote:

>> First patch fixes snd_pcm_write_areas() stuck in a loop because of transfer
>> func() always returning 0. That caused application calling it to freeze.
>> In the example above it have frozen aplay. If it was called by firefox,
>> it would freeze firefox.
>> 
>> Is it a good way to fix it? Should snd_pcm_read_areas() be fixed like that too?
>
>Nope: The whole culprit was in the null plugin - the stream was not
>started, thus new samples were not delivered.
>
>I tried to fix this in:
>
>http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=9c3086fb749cd5545be3f15cdde1592390006258
>
>> Second patch fixes aplay itself, not returning from pcm_write() after SIGINT.
>
>Thanks, looks good, but I added the in_aborting check to other
>functions, too:
>
>http://git.alsa-project.org/?p=alsa-utils.git;a=commit;h=c06dbf077459923066c96556678835cd1f55123a

It works great. Thank you!

PS: What do you think about that small aplay patch?:
http://mailman.alsa-project.org/pipermail/alsa-devel/2014-June/077665.html
aplay -vvv output looks weird without it.

-- 
  Sergey

fprintf(stderr, "%-20.*s %i%%\n", perc[0]/5, "####################", perc[0]);


More information about the Alsa-devel mailing list