jitterbuffer: Leak in test_reset_timers_does_not_stall
See https://gitlab.freedesktop.org/thiblahute/gst-plugins-base/-/jobs/2584639
check.gst-plugins-good.elements_rtpjitterbuffer.test_reset_timers_does_not_stall
Command
G_SLICE='always-malloc' G_DEBUG='gc-friendly' GST_CHECKS='test_reset_timers_does_not_stall' CK_DEFAULT_TIMEOUT='20' GST_PLUGIN_PATH_1_0='/builds/thiblahute/gst-plugins-base/gst-build/build' GST_VALIDATE_CONFIG='/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-devtools/validate/data/valgrind.config' ORC_CODE='backup' GST_REGISTRY='/builds/thiblahute/gst-plugins-base/gst-build/build/subprojects/gst-plugins-good/tests/check/elements_rtpjitterbuffer.registry' GST_PLUGIN_LOADING_WHITELIST='gstreamer:gst-plugins-base:gst-plugins-bad:gst-plugins-good@/builds/thiblahute/gst-plugins-base/gst-build/build' CK_TIMEOUT_MULTIPLIER='80.0' GST_PLUGIN_SYSTEM_PATH_1_0='' GST_STATE_IGNORE_ELEMENTS='aasink autoaudiosrc autoaudiosink autovideosrc
autovideosink cacasink cairotextoverlay gtkglsink gtksink jackaudiosrc
jackaudiosink osssrc osssink osxaudiosink osxaudiosrc osxvideosrc osxvideosink
pulsesink pulsesrc pulsemixer v4l2src' valgrind --trace-children=yes --tool=memcheck --leak-check=full --leak-resolution=high --errors-for-leak-kinds=definite,indirect --show-leak-kinds=definite,indirect --show-possibly-lost=no --num-callers=20 --error-exitcode=20 --gen-suppressions=all --log-file=/builds/thiblahute/gst-plugins-base/validate-logs/check/gst-plugins-good/elements_rtpjitterbuffer/test_reset_timers_does_not_stall.valgrind --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-devtools/validate/data/gstvalidate.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gstreamer/tests/check/gstreamer.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-plugins-base/tests/check/gst-plugins-base.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-plugins-good/tests/check/gst-plugins-good.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-plugins-bad/tests/check/gst-plugins-bad.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-plugins-ugly/tests/check/gst-plugins-ugly.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-libav/tests/check/gst-libav.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-devtools/validate/data/gstvalidate.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/libnice/tests/libnice.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/libsoup/tests/libsoup.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/glib/glib.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-python/testsuite/gstpython.supp --suppressions=/builds/thiblahute/gst-plugins-base/gst-build/subprojects/gst-python/testsuite/python.supp /builds/thiblahute/gst-plugins-base/gst-build/build/subprojects/gst-plugins-good/tests/check/elements_rtpjitterbuffer
elements_rtpjitterbuffer output
Running suite(s): rtpjitterbuffer
0%: Checks: 1, Failures: 0, Errors: 1
../subprojects/gst-plugins-good/tests/check/elements/rtpjitterbuffer.c:3105:E:general:test_reset_timers_does_not_stall:0: (after this point) Early exit with return value 20
Check suite rtpjitterbuffer ran in 3.086s (tests failed: 1)
You can mark the issues as 'known' by adding the following lines to the list of known issues
"FIXME 'check.gst-plugins-good.elements_rtpjitterbuffer.test_reset_timers_does_not_stall' issues [REPORT A BUG in https://gitlab.freedesktop.org/gstreamer/ or use a proper bug description]": {
"tests": [
"check.gst-plugins-good.elements_rtpjitterbuffer.test_reset_timers_does_not_stall"
],
"issues": [
{
'returncode': 1,
'sometimes': True,
},
],
},
Duration: 6.489213228225708
test_reset_timers_does_not_stall.valgrind:
==17955== Memcheck, a memory error detector
==17955== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==17955== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==17955== Command: /builds/thiblahute/gst-plugins-base/gst-build/build/subprojects/gst-plugins-good/tests/check/elements_rtpjitterbuffer
==17955== Parent PID: 14133
==17955==
==18232==
==18232== HEAP SUMMARY:
==18232== in use at exit: 541,380 bytes in 1,719 blocks
==18232== total heap usage: 56,568 allocs, 54,849 frees, 59,462,278 bytes allocated
==18232==
==18232== 104 bytes in 1 blocks are definitely lost in loss record 1,360 of 1,495
==18232== at 0x483C80B: malloc (vg_replace_malloc.c:309)
==18232== by 0x4A5DC88: g_malloc (gmem.c:99)
==18232== by 0x4A75F95: g_slice_alloc (gslice.c:1024)
==18232== by 0x4A765BD: g_slice_alloc0 (gslice.c:1050)
==18232== by 0x7316639: rtp_timer_new (rtptimerqueue.c:42)
==18232== by 0x7316639: rtp_timer_queue_set_timer (rtptimerqueue.c:576)
==18232== by 0x731666B: rtp_timer_queue_set_expected (rtptimerqueue.c:624)
==18232== by 0x72EC693: update_timers (gstrtpjitterbuffer.c:2316)
==18232== by 0x72EC693: gst_rtp_jitter_buffer_chain (gstrtpjitterbuffer.c:3183)
==18232== by 0x48D2B10: gst_pad_chain_data_unchecked (gstpad.c:4399)
==18232== by 0x48D4FA0: gst_pad_push_data (gstpad.c:4655)
==18232== by 0x48DCEE2: gst_pad_push (gstpad.c:4774)
==18232== by 0x40400F: push_test_buffer_now (rtpjitterbuffer.c:539)
==18232== by 0x40400F: buffer_array_push (rtpjitterbuffer.c:3000)
==18232== by 0x40417D: check_for_stall (rtpjitterbuffer.c:3065)
==18232== by 0x404839: test_reset_timers_does_not_stall (rtpjitterbuffer.c:3105)
==18232== by 0x49B3D24: tcase_run_tfun_fork (check_run.c:465)
==18232== by 0x49B3D24: srunner_iterate_tcase_tfuns (check_run.c:237)
==18232== by 0x49B3D24: srunner_run_tcase (check_run.c:377)
==18232== by 0x49B3D24: srunner_iterate_suites (check_run.c:205)
==18232== by 0x49B3D24: srunner_run_tagged (check_run.c:740)
==18232== by 0x49A806E: gst_check_run_suite (gstcheck.c:1086)
==18232== by 0x403C8B: main (rtpjitterbuffer.c:3228)
==18232==
{
<insert_a_suppression_name_here>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:g_malloc
fun:g_slice_alloc
fun:g_slice_alloc0
fun:rtp_timer_new
fun:rtp_timer_queue_set_timer
fun:rtp_timer_queue_set_expected
fun:update_timers
fun:gst_rtp_jitter_buffer_chain
fun:gst_pad_chain_data_unchecked
fun:gst_pad_push_data
fun:gst_pad_push
fun:push_test_buffer_now
fun:buffer_array_push
fun:check_for_stall
fun:test_reset_timers_does_not_stall
fun:tcase_run_tfun_fork
fun:srunner_iterate_tcase_tfuns
fun:srunner_run_tcase
fun:srunner_iterate_suites
fun:srunner_run_tagged
fun:gst_check_run_suite
fun:main
}
CC @ndufresne @hgr
Edited by Sebastian Dröge