[pulseaudio-discuss] [PATCH v3 0/8] LFE filter patches

Alexander E. Patrakov patrakov at gmail.com
Tue Mar 24 13:21:13 PDT 2015


24.03.2015 23:47, Alexander E. Patrakov wrote:
> 24.03.2015 14:29, David Henningsson wrote:
>> Changes since v2:
>>   - Hui has written a test case to test the new lfe filter's rewind
>> functionality
>>   - Several bugs found and fixed in the lfe filter rewinding; the
>> trickiest being
>>     the fact that we modify our buffer in-place while still needing to
>> retain the
>>     original in case we need to rewind. As a result, we now do an
>> extra memcpy (argh).
>>   - A few minor changes based on Alexander's comments.
>
> I have tested the series. It works as intended and does not produce
> valgrind warnings.

Spoke too soon. There are leaks.

==1617==
==1617== HEAP SUMMARY:
==1617==     in use at exit: 39,455,544 bytes in 25,632 blocks
==1617==   total heap usage: 318,150 allocs, 292,518 frees, 562,741,851 
bytes allocated
==1617==
==1617== 1,120 bytes in 7 blocks are definitely lost in loss record 141 
of 191
==1617==    at 0x4C28F40: malloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1617==    by 0x5117806: pa_xmalloc (xmalloc.c:63)
==1617==    by 0x4E8C1D4: _pa_xnew_internal (xmalloc.h:64)
==1617==    by 0x4E8C1D4: pa_sink_volume_change_new (sink.c:3518)
==1617==    by 0x4E8C1D4: pa_sink_volume_change_push (sink.c:3542)
==1617==    by 0x4E8C1D4: pa_sink_process_msg (sink.c:2699)
==1617==    by 0x19AF08BB: sink_process_msg (alsa-sink.c:1205)
==1617==    by 0x4E7DA62: set_shared_volume_within_thread (sink.c:2418)
==1617==    by 0x4E8BA38: pa_sink_process_msg (sink.c:2690)
==1617==    by 0x19AF08BB: sink_process_msg (alsa-sink.c:1205)
==1617==    by 0x4E8B56C: pa_sink_process_msg (sink.c:2535)
==1617==    by 0x19AF08BB: sink_process_msg (alsa-sink.c:1205)
==1617==    by 0x4E6C8C4: asyncmsgq_read_work (rtpoll.c:564)
==1617==    by 0x4E6BDD6: pa_rtpoll_run (rtpoll.c:236)
==1617==    by 0x19AF1442: thread_func (alsa-sink.c:1798)
==1617==
==1617== 24,048 bytes in 17 blocks are possibly lost in loss record 188 
of 191
==1617==    at 0x4C28F40: malloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1617==    by 0x5117806: pa_xmalloc (xmalloc.c:63)
==1617==    by 0x5117A48: pa_xmemdup (xmalloc.c:94)
==1617==    by 0x4E4C41F: pa_lfe_filter_process (lfe-filter.c:132)
==1617==    by 0x4E6A05A: pa_resampler_run (resampler.c:1384)
==1617==    by 0x4E74E1A: pa_sink_input_peek (sink-input.c:965)
==1617==    by 0x4E7D768: fill_mix_info.constprop.21 (sink.c:1016)
==1617==    by 0x4E805DE: pa_sink_render_into (sink.c:1256)
==1617==    by 0x4E80BB6: pa_sink_render_into_full (sink.c:1340)
==1617==    by 0x19AF17A9: mmap_write (alsa-sink.c:645)
==1617==    by 0x19AF17A9: thread_func (alsa-sink.c:1716)
==1617==    by 0x5C6A5A7: internal_thread_func (thread-posix.c:81)
==1617==    by 0x7AF43A3: start_thread (in /lib64/libpthread-2.20.so)
==1617==
==1617== 38,887,962 bytes in 24,066 blocks are definitely lost in loss 
record 191 of 191
==1617==    at 0x4C28F40: malloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1617==    by 0x5117806: pa_xmalloc (xmalloc.c:63)
==1617==    by 0x5117A48: pa_xmemdup (xmalloc.c:94)
==1617==    by 0x4E4C41F: pa_lfe_filter_process (lfe-filter.c:132)
==1617==    by 0x4E6A05A: pa_resampler_run (resampler.c:1384)
==1617==    by 0x4E74E1A: pa_sink_input_peek (sink-input.c:965)
==1617==    by 0x4E7D768: fill_mix_info.constprop.21 (sink.c:1016)
==1617==    by 0x4E805DE: pa_sink_render_into (sink.c:1256)
==1617==    by 0x4E80BB6: pa_sink_render_into_full (sink.c:1340)
==1617==    by 0x19AF17A9: mmap_write (alsa-sink.c:645)
==1617==    by 0x19AF17A9: thread_func (alsa-sink.c:1716)
==1617==    by 0x5C6A5A7: internal_thread_func (thread-posix.c:81)
==1617==    by 0x7AF43A3: start_thread (in /lib64/libpthread-2.20.so)
==1617==
==1617== LEAK SUMMARY:
==1617==    definitely lost: 38,889,082 bytes in 24,073 blocks
==1617==    indirectly lost: 0 bytes in 0 blocks
==1617==      possibly lost: 24,048 bytes in 17 blocks
==1617==    still reachable: 542,414 bytes in 1,542 blocks
==1617==         suppressed: 0 bytes in 0 blocks
==1617== Reachable blocks (those to which a pointer was found) are not 
shown.
==1617== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==1617==
==1617== For counts of detected and suppressed errors, rerun with: -v
==1617== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)

-- 
Alexander E. Patrakov


More information about the pulseaudio-discuss mailing list