This bug report is now very old, but is this bug still present?
Here is why I ask.
Running valgrind on a C program - a program that I adapted from someone else - showed a lot of possible leaks. But I learnt from this the present bug report to do 'snd_config_update_free_global()'. Having done that, I see - only - the following.
$ valgrind --leak-check=yes --show-reachable=no ./volume_exec
==683808== Memcheck, a memory error detector
==683808== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==683808== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==683808== Command: ./volume_exec
==683808==
==683808== Conditional jump or move depends on uninitialised value(s)
==683808== at 0x51A1565: pa_shm_cleanup (in /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so)
==683808== by 0x51A17A1: pa_shm_create_rw (in /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so)
==683808== by 0x51914B6: pa_mempool_new (in /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so)
==683808== by 0x51169B1: pa_context_new_with_proplist (in /usr/lib/x86_64-linux-gnu/libpulse.so.0.21.2)
==683808== by 0x484B2B6: conf_pulse_hook_load_if_running (in /usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_conf_pulse.so)
==683808== by 0x48A50DD: ??? (in /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0)
==683808== by 0x48A5544: ??? (in /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0)
==683808== by 0x48A5F21: snd_config_searcha_hooks (in /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0)
==683808== by 0x48A6010: snd_config_searchva_hooks (in /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0)
==683808== by 0x48A611A: ??? (in /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0)
==683808== by 0x48A48F5: snd_config_search_definition (in /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0)
==683808== by 0x48AF17D: ??? (in /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0)
==683808==
x==683808==
==683808== HEAP SUMMARY:
==683808== in use at exit: 78,125 bytes in 194 blocks
==683808== total heap usage: 6,002 allocs, 5,808 frees, 743,291 bytes allocated
==683808==
==683808== LEAK SUMMARY:
==683808== definitely lost: 0 bytes in 0 blocks
==683808== indirectly lost: 0 bytes in 0 blocks
==683808== possibly lost: 0 bytes in 0 blocks
==683808== still reachable: 78,125 bytes in 194 blocks
==683808== suppressed: 0 bytes in 0 blocks
==683808== Reachable blocks (those to which a pointer was found) are not shown.
==683808== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==683808==
==683808== Use --track-origins=yes to see where uninitialised values come from
==683808== For lists of detected and suppressed errors, rerun with: -s
==683808== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
This bug report is now very old, but is this bug still present?
Here is why I ask.
Running valgrind on a C program - a program that I adapted from someone else - showed a lot of possible leaks. But I learnt from this the present bug report to do 'snd_config_ update_ free_global( )'. Having done that, I see - only - the following.
======= ======= ======= ======= ======= ======= ======= ======= ======= =
$ valgrind --leak-check=yes --show-reachable=no ./volume_exec x86_64- linux-gnu/ pulseaudio/ libpulsecommon- 13.99.so) x86_64- linux-gnu/ pulseaudio/ libpulsecommon- 13.99.so) x86_64- linux-gnu/ pulseaudio/ libpulsecommon- 13.99.so) new_with_ proplist (in /usr/lib/ x86_64- linux-gnu/ libpulse. so.0.21. 2) hook_load_ if_running (in /usr/lib/ x86_64- linux-gnu/ alsa-lib/ libasound_ module_ conf_pulse. so) x86_64- linux-gnu/ libasound. so.2.0. 0) x86_64- linux-gnu/ libasound. so.2.0. 0) searcha_ hooks (in /usr/lib/ x86_64- linux-gnu/ libasound. so.2.0. 0) searchva_ hooks (in /usr/lib/ x86_64- linux-gnu/ libasound. so.2.0. 0) x86_64- linux-gnu/ libasound. so.2.0. 0) search_ definition (in /usr/lib/ x86_64- linux-gnu/ libasound. so.2.0. 0) x86_64- linux-gnu/ libasound. so.2.0. 0) leak-kinds= all
==683808== Memcheck, a memory error detector
==683808== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==683808== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==683808== Command: ./volume_exec
==683808==
==683808== Conditional jump or move depends on uninitialised value(s)
==683808== at 0x51A1565: pa_shm_cleanup (in /usr/lib/
==683808== by 0x51A17A1: pa_shm_create_rw (in /usr/lib/
==683808== by 0x51914B6: pa_mempool_new (in /usr/lib/
==683808== by 0x51169B1: pa_context_
==683808== by 0x484B2B6: conf_pulse_
==683808== by 0x48A50DD: ??? (in /usr/lib/
==683808== by 0x48A5544: ??? (in /usr/lib/
==683808== by 0x48A5F21: snd_config_
==683808== by 0x48A6010: snd_config_
==683808== by 0x48A611A: ??? (in /usr/lib/
==683808== by 0x48A48F5: snd_config_
==683808== by 0x48AF17D: ??? (in /usr/lib/
==683808==
x==683808==
==683808== HEAP SUMMARY:
==683808== in use at exit: 78,125 bytes in 194 blocks
==683808== total heap usage: 6,002 allocs, 5,808 frees, 743,291 bytes allocated
==683808==
==683808== LEAK SUMMARY:
==683808== definitely lost: 0 bytes in 0 blocks
==683808== indirectly lost: 0 bytes in 0 blocks
==683808== possibly lost: 0 bytes in 0 blocks
==683808== still reachable: 78,125 bytes in 194 blocks
==683808== suppressed: 0 bytes in 0 blocks
==683808== Reachable blocks (those to which a pointer was found) are not shown.
==683808== To see them, rerun with: --leak-check=full --show-
==683808==
==683808== Use --track-origins=yes to see where uninitialised values come from
==683808== For lists of detected and suppressed errors, rerun with: -s
==683808== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
======= ======= ======= ======= ======= ======= ======= ======= ======= =
Does that output indicate a problem? I libasound2- dev:amd64 (1.2.2- 2.1ubuntu2. 5) (on Linux Mint 20.3).