Skip to content

[Bug]: Memory leak when running sample_encode or sample_decode #364

@changliwu

Description

@changliwu

Which component impacted?

Encode

Is it regression? Good in old configuration?

None

What happened?

1.In Linux( Ubuntu 22.04.5 LTS 6.8.0-52-generic )

2.gmmlib-intel-gmmlib: 22.5.2
libva: 2.22.0
libva-utils:2.22.0
media-driver-intel-media: 24.3.4
vpl-gpu-rt-intel-onevpl: 24.3.4
libvpl: 2.13.0

3.I get https://github.com/intel/libvpl-tools/tree/main/tools/legacy/sample_encode, and run
valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes ./sample_encode h264 -i ../examples/content/cars_320x240.nv12 -o 1.h264 -w 320 -h 240

4.error like:
==2875== Memcheck, a memory error detector
==2875== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==2875== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==2875== Command: ./sample_encode h264 -i ../examples/content/cars_320x240.nv12 -o 1.h264 -w 320 -h 240
==2875==
CONFIGURE LOADER: required implementation: hw
CONFIGURE LOADER: required implementation mfxAccelerationMode: MFX_ACCEL_MODE_VIA_VAAPI
2 1024 0
Loaded Library configuration:
Version: 2.13
ImplName: mfx-gen
Adapter number : 0
Adapter type: integrated
DRMRenderNodeNum: 128
Used implementation number: 0
Loaded modules:
0: /opt/intel/mediasdk/lib/libmfx-gen.so.1.2.13

Encoding Sample Version 2.13.0

Input file format YUV420
Output video AVC
Source picture:
Resolution 320x240
Crop X,Y,W,H 0,0,320,240
Destination picture:
Resolution 320x240
Crop X,Y,W,H 0,0,320,240
Frame rate 30.00
Bit rate(Kbps) 562
Gop size 0
Ref dist 4
Ref number 0
Idr Interval 0
Target usage balanced
Memory type system
Media SDK impl hw
Media SDK version 2.13

Processing started
Frame number: 30
Encoding fps: 32

Processing finished
==2875==
==2875== HEAP SUMMARY:
==2875== in use at exit: 3,650 bytes in 11 blocks
==2875== total heap usage: 47,445 allocs, 47,434 frees, 22,046,660 bytes allocated
==2875==
==2875== 0 bytes in 1 blocks are definitely lost in loss record 1 of 10
==2875== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x4005A22: malloc (rtld-malloc.h:56)
==2875== by 0x4005A22: _dl_find_object_update (dl-find_object.c:791)
==2875== by 0x400ECCF: dl_open_worker_begin (dl-open.c:735)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875== by 0x4CA263B: dlopen_doit (dlopen.c:56)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4D86B62: _dl_catch_error (dl-error-skeleton.c:227)
==2875== by 0x4CA212D: _dlerror_run (dlerror.c:138)
==2875== by 0x4CA26C7: dlopen_implementation (dlopen.c:71)
==2875== by 0x4CA26C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==2875==
==2875== 16 bytes in 1 blocks are still reachable in loss record 2 of 10
==2875== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x40085DB: malloc (rtld-malloc.h:56)
==2875== by 0x40085DB: decompose_rpath (dl-load.c:644)
==2875== by 0x400ABF5: cache_rpath (dl-load.c:696)
==2875== by 0x400ABF5: cache_rpath (dl-load.c:677)
==2875== by 0x400ABF5: _dl_map_object (dl-load.c:2165)
==2875== by 0x400E9A8: dl_open_worker_begin (dl-open.c:534)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875== by 0x4CA263B: dlopen_doit (dlopen.c:56)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4D86B62: _dl_catch_error (dl-error-skeleton.c:227)
==2875== by 0x4CA212D: _dlerror_run (dlerror.c:138)
==2875==
==2875== 31 bytes in 1 blocks are still reachable in loss record 3 of 10
==2875== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x400DD20: malloc (rtld-malloc.h:56)
==2875== by 0x400DD20: _dl_new_object (dl-object.c:199)
==2875== by 0x4008C82: _dl_map_object_from_fd (dl-load.c:1063)
==2875== by 0x400A600: _dl_map_object (dl-load.c:2327)
==2875== by 0x4003494: openaux (dl-deps.c:64)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==2875== by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875==
==2875== 31 bytes in 1 blocks are still reachable in loss record 4 of 10
==2875== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x4007173: malloc (rtld-malloc.h:56)
==2875== by 0x4007173: open_path (dl-load.c:1977)
==2875== by 0x400A6B0: _dl_map_object (dl-load.c:2158)
==2875== by 0x4003494: openaux (dl-deps.c:64)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==2875== by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875== by 0x4CA263B: dlopen_doit (dlopen.c:56)
==2875==
==2875== 36 bytes in 1 blocks are still reachable in loss record 5 of 10
==2875== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x40271DF: malloc (rtld-malloc.h:56)
==2875== by 0x40271DF: strdup (strdup.c:42)
==2875== by 0x400A588: _dl_map_object (dl-load.c:2259)
==2875== by 0x400E9A8: dl_open_worker_begin (dl-open.c:534)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875== by 0x4CA263B: dlopen_doit (dlopen.c:56)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4D86B62: _dl_catch_error (dl-error-skeleton.c:227)
==2875== by 0x4CA212D: _dlerror_run (dlerror.c:138)
==2875==
==2875== 36 bytes in 1 blocks are still reachable in loss record 6 of 10
==2875== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x400DD20: malloc (rtld-malloc.h:56)
==2875== by 0x400DD20: _dl_new_object (dl-object.c:199)
==2875== by 0x4008C82: _dl_map_object_from_fd (dl-load.c:1063)
==2875== by 0x400A600: _dl_map_object (dl-load.c:2327)
==2875== by 0x400E9A8: dl_open_worker_begin (dl-open.c:534)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875== by 0x4CA263B: dlopen_doit (dlopen.c:56)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4D86B62: _dl_catch_error (dl-error-skeleton.c:227)
==2875==
==2875== 152 bytes in 1 blocks are still reachable in loss record 7 of 10
==2875== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x400E146: malloc (rtld-malloc.h:56)
==2875== by 0x400E146: add_to_global_resize (dl-open.c:152)
==2875== by 0x400EFF7: dl_open_worker_begin (dl-open.c:716)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875== by 0x4CA263B: dlopen_doit (dlopen.c:56)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4D86B62: _dl_catch_error (dl-error-skeleton.c:227)
==2875== by 0x4CA212D: _dlerror_run (dlerror.c:138)
==2875== by 0x4CA26C7: dlopen_implementation (dlopen.c:71)
==2875== by 0x4CA26C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==2875==
==2875== 912 bytes in 2 blocks are still reachable in loss record 8 of 10
==2875== at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x40162DC: calloc (rtld-malloc.h:44)
==2875== by 0x40162DC: _dl_check_map_versions (dl-version.c:273)
==2875== by 0x400ED13: dl_open_worker_begin (dl-open.c:600)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875== by 0x4CA263B: dlopen_doit (dlopen.c:56)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4D86B62: _dl_catch_error (dl-error-skeleton.c:227)
==2875== by 0x4CA212D: _dlerror_run (dlerror.c:138)
==2875== by 0x4CA26C7: dlopen_implementation (dlopen.c:71)
==2875== by 0x4CA26C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==2875==
==2875== 1,208 bytes in 1 blocks are still reachable in loss record 9 of 10
==2875== at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x400DA02: calloc (rtld-malloc.h:44)
==2875== by 0x400DA02: _dl_new_object (dl-object.c:92)
==2875== by 0x4008C82: _dl_map_object_from_fd (dl-load.c:1063)
==2875== by 0x400A600: _dl_map_object (dl-load.c:2327)
==2875== by 0x4003494: openaux (dl-deps.c:64)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==2875== by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875==
==2875== 1,228 bytes in 1 blocks are still reachable in loss record 10 of 10
==2875== at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==2875== by 0x400DA02: calloc (rtld-malloc.h:44)
==2875== by 0x400DA02: _dl_new_object (dl-object.c:92)
==2875== by 0x4008C82: _dl_map_object_from_fd (dl-load.c:1063)
==2875== by 0x400A600: _dl_map_object (dl-load.c:2327)
==2875== by 0x400E9A8: dl_open_worker_begin (dl-open.c:534)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400DF99: dl_open_worker (dl-open.c:782)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x400E34D: _dl_open (dl-open.c:883)
==2875== by 0x4CA263B: dlopen_doit (dlopen.c:56)
==2875== by 0x4D86A97: _dl_catch_exception (dl-error-skeleton.c:208)
==2875== by 0x4D86B62: _dl_catch_error (dl-error-skeleton.c:227)
==2875==
==2875== LEAK SUMMARY:
==2875== definitely lost: 0 bytes in 1 blocks
==2875== indirectly lost: 0 bytes in 0 blocks
==2875== possibly lost: 0 bytes in 0 blocks
==2875== still reachable: 3,650 bytes in 10 blocks
==2875== suppressed: 0 bytes in 0 blocks
==2875==
==2875== For lists of detected and suppressed errors, rerun with: -s
==2875== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

5.decode is the same error(https://github.com/intel/libvpl-tools/tree/main/tools/legacy/sample_decode)
run:valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes ./sample_decode h264 -i 1.h264 -o 1.yuv
error:
==5242== Memcheck, a memory error detector
==5242== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==5242== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==5242== Command: ./sample_decode h264 -i 1.h264 -o 1.yuv
==5242==
CONFIGURE LOADER: required implementation: hw
CONFIGURE LOADER: required implementation mfxAccelerationMode: MFX_ACCEL_MODE_VIA_VAAPI
Loaded Library configuration:
Version: 2.13
ImplName: mfx-gen
Adapter number : 0
Adapter type: integrated
DRMRenderNodeNum: 128
Used implementation number: 0
Loaded modules:
0: /opt/intel/mediasdk/lib/libmfx-gen.so.1.2.13

Decoding Sample Version 2.13.0

Input video AVC
Output format NV12
Input:
Resolution 320x240
Crop X,Y,W,H 0,0,320,240
Output:
Resolution 320x240
Frame rate 30.00
Memory type vaapi
MediaSDK impl hw
MediaSDK version 2.13

Decoding started
Frame number: 30, fps: 5.381, fread_fps: 3123.698, fwrite_fps: 165.420
Decoding finished
==5242==
==5242== HEAP SUMMARY:
==5242== in use at exit: 3,650 bytes in 11 blocks
==5242== total heap usage: 44,289 allocs, 44,278 frees, 28,189,454 bytes allocated
==5242==
==5242== 0 bytes in 1 blocks are definitely lost in loss record 1 of 10
==5242== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x4005A22: malloc (rtld-malloc.h:56)
==5242== by 0x4005A22: _dl_find_object_update (dl-find_object.c:791)
==5242== by 0x400ECCF: dl_open_worker_begin (dl-open.c:735)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242== by 0x4BB963B: dlopen_doit (dlopen.c:56)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4C9DB62: _dl_catch_error (dl-error-skeleton.c:227)
==5242== by 0x4BB912D: _dlerror_run (dlerror.c:138)
==5242== by 0x4BB96C7: dlopen_implementation (dlopen.c:71)
==5242== by 0x4BB96C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==5242==
==5242== 16 bytes in 1 blocks are still reachable in loss record 2 of 10
==5242== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x40085DB: malloc (rtld-malloc.h:56)
==5242== by 0x40085DB: decompose_rpath (dl-load.c:644)
==5242== by 0x400ABF5: cache_rpath (dl-load.c:696)
==5242== by 0x400ABF5: cache_rpath (dl-load.c:677)
==5242== by 0x400ABF5: _dl_map_object (dl-load.c:2165)
==5242== by 0x400E9A8: dl_open_worker_begin (dl-open.c:534)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242== by 0x4BB963B: dlopen_doit (dlopen.c:56)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4C9DB62: _dl_catch_error (dl-error-skeleton.c:227)
==5242== by 0x4BB912D: _dlerror_run (dlerror.c:138)
==5242==
==5242== 31 bytes in 1 blocks are still reachable in loss record 3 of 10
==5242== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x400DD20: malloc (rtld-malloc.h:56)
==5242== by 0x400DD20: _dl_new_object (dl-object.c:199)
==5242== by 0x4008C82: _dl_map_object_from_fd (dl-load.c:1063)
==5242== by 0x400A600: _dl_map_object (dl-load.c:2327)
==5242== by 0x4003494: openaux (dl-deps.c:64)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==5242== by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242==
==5242== 31 bytes in 1 blocks are still reachable in loss record 4 of 10
==5242== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x4007173: malloc (rtld-malloc.h:56)
==5242== by 0x4007173: open_path (dl-load.c:1977)
==5242== by 0x400A6B0: _dl_map_object (dl-load.c:2158)
==5242== by 0x4003494: openaux (dl-deps.c:64)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==5242== by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242== by 0x4BB963B: dlopen_doit (dlopen.c:56)
==5242==
==5242== 36 bytes in 1 blocks are still reachable in loss record 5 of 10
==5242== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x40271DF: malloc (rtld-malloc.h:56)
==5242== by 0x40271DF: strdup (strdup.c:42)
==5242== by 0x400A588: _dl_map_object (dl-load.c:2259)
==5242== by 0x400E9A8: dl_open_worker_begin (dl-open.c:534)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242== by 0x4BB963B: dlopen_doit (dlopen.c:56)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4C9DB62: _dl_catch_error (dl-error-skeleton.c:227)
==5242== by 0x4BB912D: _dlerror_run (dlerror.c:138)
==5242==
==5242== 36 bytes in 1 blocks are still reachable in loss record 6 of 10
==5242== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x400DD20: malloc (rtld-malloc.h:56)
==5242== by 0x400DD20: _dl_new_object (dl-object.c:199)
==5242== by 0x4008C82: _dl_map_object_from_fd (dl-load.c:1063)
==5242== by 0x400A600: _dl_map_object (dl-load.c:2327)
==5242== by 0x400E9A8: dl_open_worker_begin (dl-open.c:534)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242== by 0x4BB963B: dlopen_doit (dlopen.c:56)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4C9DB62: _dl_catch_error (dl-error-skeleton.c:227)
==5242==
==5242== 152 bytes in 1 blocks are still reachable in loss record 7 of 10
==5242== at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x400E146: malloc (rtld-malloc.h:56)
==5242== by 0x400E146: add_to_global_resize (dl-open.c:152)
==5242== by 0x400EFF7: dl_open_worker_begin (dl-open.c:716)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242== by 0x4BB963B: dlopen_doit (dlopen.c:56)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4C9DB62: _dl_catch_error (dl-error-skeleton.c:227)
==5242== by 0x4BB912D: _dlerror_run (dlerror.c:138)
==5242== by 0x4BB96C7: dlopen_implementation (dlopen.c:71)
==5242== by 0x4BB96C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==5242==
==5242== 912 bytes in 2 blocks are still reachable in loss record 8 of 10
==5242== at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x40162DC: calloc (rtld-malloc.h:44)
==5242== by 0x40162DC: _dl_check_map_versions (dl-version.c:273)
==5242== by 0x400ED13: dl_open_worker_begin (dl-open.c:600)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242== by 0x4BB963B: dlopen_doit (dlopen.c:56)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4C9DB62: _dl_catch_error (dl-error-skeleton.c:227)
==5242== by 0x4BB912D: _dlerror_run (dlerror.c:138)
==5242== by 0x4BB96C7: dlopen_implementation (dlopen.c:71)
==5242== by 0x4BB96C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==5242==
==5242== 1,208 bytes in 1 blocks are still reachable in loss record 9 of 10
==5242== at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x400DA02: calloc (rtld-malloc.h:44)
==5242== by 0x400DA02: _dl_new_object (dl-object.c:92)
==5242== by 0x4008C82: _dl_map_object_from_fd (dl-load.c:1063)
==5242== by 0x400A600: _dl_map_object (dl-load.c:2327)
==5242== by 0x4003494: openaux (dl-deps.c:64)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4003C7B: _dl_map_object_deps (dl-deps.c:248)
==5242== by 0x400EA0E: dl_open_worker_begin (dl-open.c:592)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242==
==5242== 1,228 bytes in 1 blocks are still reachable in loss record 10 of 10
==5242== at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==5242== by 0x400DA02: calloc (rtld-malloc.h:44)
==5242== by 0x400DA02: _dl_new_object (dl-object.c:92)
==5242== by 0x4008C82: _dl_map_object_from_fd (dl-load.c:1063)
==5242== by 0x400A600: _dl_map_object (dl-load.c:2327)
==5242== by 0x400E9A8: dl_open_worker_begin (dl-open.c:534)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400DF99: dl_open_worker (dl-open.c:782)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x400E34D: _dl_open (dl-open.c:883)
==5242== by 0x4BB963B: dlopen_doit (dlopen.c:56)
==5242== by 0x4C9DA97: _dl_catch_exception (dl-error-skeleton.c:208)
==5242== by 0x4C9DB62: _dl_catch_error (dl-error-skeleton.c:227)
==5242==
==5242== LEAK SUMMARY:
==5242== definitely lost: 0 bytes in 1 blocks
==5242== indirectly lost: 0 bytes in 0 blocks
==5242== possibly lost: 0 bytes in 0 blocks
==5242== still reachable: 3,650 bytes in 10 blocks
==5242== suppressed: 0 bytes in 0 blocks
==5242==
==5242== For lists of detected and suppressed errors, rerun with: -s
==5242== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

What's the usage scenario when you are seeing the problem?

Video Analytics

What impacted?

codec memory leak

Debug Information

1

.gmmlib-intel-gmmlib: 22.5.2
libva: 2.22.0
libva-utils:2.22.0
media-driver-intel-media: 24.3.4
vpl-gpu-rt-intel-onevpl: 24.3.4
libvpl: 2.13.0
2.ls /dev/dri/ -al
total 0
drwxr-xr-x 3 root root 120 3月 31 08:49 .
drwxr-xr-x 19 root root 4600 3月 31 08:49 ..
drwxr-xr-x 2 root root 100 3月 31 08:49 by-path
crw-rw---- 1 root video 226, 0 3月 31 08:49 card0
crw-rw---- 1 root video 226, 1 3月 31 08:49 card1
3.cat vainfo.log
Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.3.4 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSlice
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSlice
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSlice
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSlice
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSlice
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSlice
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSlice
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSlice
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSlice
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointEncSlice
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSlice
4.no trace.log

Do you want to contribute a patch to fix the issue?

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions