[alsa-devel] Segfault in pulseaudio since Alsa 1.1.7

Jaroslav Kysela perex at perex.cz
Tue Oct 23 09:37:19 CEST 2018


Dne 23.10.2018 v 09:06 Hyperion napsal(a):
> Sorry, I have no more time to spend debugging :(
>  
> Thus I guess that the true alsa maintainers will be much more efficient
> than me (I'm just doing quick and dirty hacking here).
>  
> My XMOS USB soundcard now works with this workaround, please could you
> take a look at traces I posted in the discussion on LQ.org ?

Here is the better fix:

http://git.alsa-project.org/?p=alsa-plugins.git;a=commitdiff;h=a4e7e1282c57a2f4e83afe9a4008042d8b4c5bb9

There was really a double pcm free, because:

  snd_pcm_ioplug_delete ->
    snd_pcm_close ->
      snd_pcm_ioplug_close ->
        a52_close() ->
          snd_pcm_close(rec->slave)

					Jaroslav

>  
> All the best
> JP
>  
> 23.10.2018, 08:53, "Jaroslav Kysela" <perex at perex.cz>:
>>
>> Dne 23.10.2018 v 08:43 Hyperion napsal(a):
>>
>>         I have narrowed to the simpler patch below :
>>         Â
>>         Quote:
>>         diff -rNaud alsa-plugins-1.1.7/a52/pcm_a52.c
>>         alsa-plugins-1.1.7-new/a52/pcm_a52.c
>>         --- alsa-plugins-1.1.7/a52/pcm_a52.c 2018-10-16 14:00:22.000000000
>>         +0200
>>         +++ alsa-plugins-1.1.7-new/a52/pcm_a52.c 2018-10-23
>>     08:35:15.699830909
>>         +0200
>>         @@ -978,7 +978,8 @@
>>         if ((err = a52_set_hw_constraint(rec)) < 0) {
>>         snd_pcm_ioplug_delete(&rec->io);
>>         - goto error;
>>         + free(rec);
>>         + return err;
>>         }
>>         *pcmp = rec->io.pcm;
>>         Â
>>
>>
>> It does not appear like a correct change, because rec->slave is
>> initialized in previous lines (snd_pcm_open calls). Could you inspect
>> rec->slave in gdb ?
>>
>>                                                 Jaroslav
>>  
>>
>>  
>>
>>         Â
>>
>>         22.10.2018, 23:30, "Hyperion" <h1p8r10n at yandex.com
>>     <mailto:h1p8r10n at yandex.com>>:
>>
>>           Â Â Â Hi,
>>           Â   Â
>>           Â Â Â Since the upgrade to Alsa 1.1.7, I get a segfault at
>>           pulseaudio
>>           Â Â Â startup. This have been discussed and documented here :
>>           Â Â Â
>>     [1][1]https://www.linuxquestions.org/questions/slackware-14/cu
>>           rrent-fri-oc
>>           Â Â Â t-19-puseaudio-segfauts-4175640773/
>>           Â   Â
>>           Â Â Â It seems that I found the origin of the bug :
>>     reverting these
>>           2 commits
>>           Â Â Â fixes the problem :
>>           Â Â Â
>>     [2][2]http://git.alsa-project.org/?p=alsa-...792dc809c908cc
>>           Â Â Â
>>     [3][3]http://git.alsa-project.org/?p=alsa-...5dc6e1594291e7
>>           Â Â Â Then no more segfault in pulseaudio when accessing the USB
>>           soundcard.
>>           Â   Â
>>           Â Â Â Please could you fix it ?
>>           Â   Â
>>           Â Â Â Regards
>>           Â Â Â jp
>>           References
>>           Â Â Â Visible links
>>           Â Â Â 1.
>>           [4]https://www.linuxquestions.org/questions/slackware-14/current-fri
>>           -oct-19-puseaudio-segfauts-4175640773/
>>           Â Â Â 2.
>>           [5]http://git.alsa-project.org/?p=alsa-plugins.git;a=commitdiff;h=fc
>>           3f5d51062ff438780e568995792dc809c908cc
>>           Â Â Â 3.
>>           [6]http://git.alsa-project.org/?p=alsa-plugins.git;a=commitdiff;h=6b
>>           996865126dd559ef186002e45dc6e1594291e7
>>           Â Â Â Hidden links:
>>           Â Â Â 4.
>>           [7]https://www.linuxquestions.org/questions/slackware-14/current-fri
>>           -oct-19-puseaudio-segfauts-4175640773/
>>           _______________________________________________
>>           Alsa-devel mailing list
>>           [8]Alsa-devel at alsa-project.org
>>     <mailto:Alsa-devel at alsa-project.org>
>>           [9]http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>
>>      References
>>
>>         1.
>>     https://www.linuxquestions.org/questions/slackware-14/current-fri-oc
>>         2. http://git.alsa-project.org/?p=alsa-...792dc809c908cc
>>         3. http://git.alsa-project.org/?p=alsa-...5dc6e1594291e7
>>         4.
>>     https://www.linuxquestions.org/questions/slackware-14/current-fri-oct-19-puseaudio-segfauts-4175640773/
>>         5.
>>     http://git.alsa-project.org/?p=alsa-plugins.git;a=commitdiff;h=fc3f5d51062ff438780e568995792dc809c908cc
>>         6.
>>     http://git.alsa-project.org/?p=alsa-plugins.git;a=commitdiff;h=6b996865126dd559ef186002e45dc6e1594291e7
>>         7.
>>     https://www.linuxquestions.org/questions/slackware-14/current-fri-oct-19-puseaudio-segfauts-4175640773/
>>         8. mailto:Alsa-devel at alsa-project.org
>>     <mailto:Alsa-devel at alsa-project.org>
>>         9. http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>      _______________________________________________
>>      Alsa-devel mailing list
>>      Alsa-devel at alsa-project.org <mailto:Alsa-devel at alsa-project.org>
>>      http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>      
>>
>>
>>  
>>
>> --
>> Jaroslav Kysela <perex at perex.cz <mailto:perex at perex.cz>>
>> Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
>> _______________________________________________
>> Alsa-devel mailing list
>> Alsa-devel at alsa-project.org <mailto:Alsa-devel at alsa-project.org>
>> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


-- 
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.


More information about the Alsa-devel mailing list