Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet
@ 2025-05-17 20:02 Mark Thompson
  2025-05-17 20:04 ` softworkz .
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Thompson @ 2025-05-17 20:02 UTC (permalink / raw)
  To: ffmpeg-devel

Avoids writing an empty json blob in setup error cases.
---
On 17/05/2025 20:08, softworkz . wrote:
> If you could resubmit without the nb_filtergraphs check that would be fine!

Sure, here.

Thanks,

- Mark

 fftools/ffmpeg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 964770df23..bd6f22e421 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -309,7 +309,7 @@ const AVIOInterruptCB int_cb = { decode_interrupt_cb, NULL };
 
 static void ffmpeg_cleanup(int ret)
 {
-    if (print_graphs || print_graphs_file)
+    if ((print_graphs || print_graphs_file) && nb_output_files > 0)
         print_filtergraphs(filtergraphs, nb_filtergraphs, input_files, nb_input_files, output_files, nb_output_files);
 
     if (do_benchmark) {
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet
  2025-05-17 20:02 [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet Mark Thompson
@ 2025-05-17 20:04 ` softworkz .
  2025-05-18 14:21   ` Mark Thompson
  0 siblings, 1 reply; 7+ messages in thread
From: softworkz . @ 2025-05-17 20:04 UTC (permalink / raw)
  To: FFmpeg development discussions and patches



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
> Thompson
> Sent: Samstag, 17. Mai 2025 22:02
> To: ffmpeg-devel@ffmpeg.org
> Subject: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no
> outputs yet
> 
> Avoids writing an empty json blob in setup error cases.
> ---
> On 17/05/2025 20:08, softworkz . wrote:
> > If you could resubmit without the nb_filtergraphs check that would be fine!
> 
> Sure, here.
> 
> Thanks,
> 
> - Mark
> 
>  fftools/ffmpeg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
> index 964770df23..bd6f22e421 100644
> --- a/fftools/ffmpeg.c
> +++ b/fftools/ffmpeg.c
> @@ -309,7 +309,7 @@ const AVIOInterruptCB int_cb = { decode_interrupt_cb, NULL
> };
> 
>  static void ffmpeg_cleanup(int ret)
>  {
> -    if (print_graphs || print_graphs_file)
> +    if ((print_graphs || print_graphs_file) && nb_output_files > 0)
>          print_filtergraphs(filtergraphs, nb_filtergraphs, input_files,
> nb_input_files, output_files, nb_output_files);
> 
>      if (do_benchmark) {
> --

Excellent, thanks a lot for reviewing the feature!

LGTM
sw
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet
  2025-05-17 20:04 ` softworkz .
@ 2025-05-18 14:21   ` Mark Thompson
  2025-05-18 14:57     ` softworkz .
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Thompson @ 2025-05-18 14:21 UTC (permalink / raw)
  To: ffmpeg-devel

On 17/05/2025 21:04, softworkz . wrote:
>> -----Original Message-----
>> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
>> Thompson
>> Sent: Samstag, 17. Mai 2025 22:02
>> To: ffmpeg-devel@ffmpeg.org
>> Subject: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no
>> outputs yet
>>
>> Avoids writing an empty json blob in setup error cases.
>> ---
>> On 17/05/2025 20:08, softworkz . wrote:
>>> If you could resubmit without the nb_filtergraphs check that would be fine!
>>
>> Sure, here.
>>
>> Thanks,
>>
>> - Mark
>>
>>  fftools/ffmpeg.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
>> index 964770df23..bd6f22e421 100644
>> --- a/fftools/ffmpeg.c
>> +++ b/fftools/ffmpeg.c
>> @@ -309,7 +309,7 @@ const AVIOInterruptCB int_cb = { decode_interrupt_cb, NULL
>> };
>>
>>  static void ffmpeg_cleanup(int ret)
>>  {
>> -    if (print_graphs || print_graphs_file)
>> +    if ((print_graphs || print_graphs_file) && nb_output_files > 0)
>>          print_filtergraphs(filtergraphs, nb_filtergraphs, input_files,
>> nb_input_files, output_files, nb_output_files);
>>
>>      if (do_benchmark) {
>> --
> 
> Excellent, thanks a lot for reviewing the feature!
> 
> LGTM
Set applied.

Suggest doing any non-performance-critical development (like this) with asan enabled in future; it doesn't slow things down very much and makes it easier to catch and fix leaks as you go along.

Thanks,

- Mark

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet
  2025-05-18 14:21   ` Mark Thompson
@ 2025-05-18 14:57     ` softworkz .
  2025-05-19 20:08       ` Mark Thompson
  0 siblings, 1 reply; 7+ messages in thread
From: softworkz . @ 2025-05-18 14:57 UTC (permalink / raw)
  To: FFmpeg development discussions and patches



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
> Thompson
> Sent: Sonntag, 18. Mai 2025 16:22
> To: ffmpeg-devel@ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are
> no outputs yet
> 
> On 17/05/2025 21:04, softworkz . wrote:
> >> -----Original Message-----
> >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
> >> Thompson
> >> Sent: Samstag, 17. Mai 2025 22:02
> >> To: ffmpeg-devel@ffmpeg.org
> >> Subject: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are
> no
> >> outputs yet
> >>
> >> Avoids writing an empty json blob in setup error cases.
> >> ---
> >> On 17/05/2025 20:08, softworkz . wrote:
> >>> If you could resubmit without the nb_filtergraphs check that would be
> fine!
> >>
> >> Sure, here.
> >>
> >> Thanks,
> >>
> >> - Mark
> >>
> >>  fftools/ffmpeg.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
> >> index 964770df23..bd6f22e421 100644
> >> --- a/fftools/ffmpeg.c
> >> +++ b/fftools/ffmpeg.c
> >> @@ -309,7 +309,7 @@ const AVIOInterruptCB int_cb = { decode_interrupt_cb,
> NULL
> >> };
> >>
> >>  static void ffmpeg_cleanup(int ret)
> >>  {
> >> -    if (print_graphs || print_graphs_file)
> >> +    if ((print_graphs || print_graphs_file) && nb_output_files > 0)
> >>          print_filtergraphs(filtergraphs, nb_filtergraphs, input_files,
> >> nb_input_files, output_files, nb_output_files);
> >>
> >>      if (do_benchmark) {
> >> --
> >
> > Excellent, thanks a lot for reviewing the feature!
> >
> > LGTM
> Set applied.
> 
> Suggest doing any non-performance-critical development (like this) with asan
> enabled in future; it doesn't slow things down very much and makes it easier
> to catch and fix leaks as you go along.


It's a good idea - I didn't have it on the record anymore after the pause.

In the past, it had often caused trouble with MSVC (/fsanitize=address), so 
we had it only in a Linux CI - which this work didn't go through 😊
I'll check it out, maybe MS have made some progress with it.

Thanks for the suggestion and the patches,
sw

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet
  2025-05-18 14:57     ` softworkz .
@ 2025-05-19 20:08       ` Mark Thompson
  2025-05-19 21:13         ` softworkz .
  2025-05-20  2:14         ` softworkz .
  0 siblings, 2 replies; 7+ messages in thread
From: Mark Thompson @ 2025-05-19 20:08 UTC (permalink / raw)
  To: ffmpeg-devel

On 18/05/2025 15:57, softworkz . wrote:
>> -----Original Message-----
>> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
>> Thompson
>> Sent: Sonntag, 18. Mai 2025 16:22
>> To: ffmpeg-devel@ffmpeg.org
>> Subject: Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are
>> no outputs yet
>>
>> ...
>>
>> Suggest doing any non-performance-critical development (like this) with asan
>> enabled in future; it doesn't slow things down very much and makes it easier
>> to catch and fix leaks as you go along.
> 
> 
> It's a good idea - I didn't have it on the record anymore after the pause.
> 
> In the past, it had often caused trouble with MSVC (/fsanitize=address), so 
> we had it only in a Linux CI - which this work didn't go through 😊
> I'll check it out, maybe MS have made some progress with it.
> 
> Thanks for the suggestion and the patches,
> sw

I've run with the mermaidhtml output a bit as well.  The output looks nice but there are many asan errors, mostly from lost string alloctions - see below.

I had a look at fixing these, but the object lifetime model appears more complex than I could straightforwardly divine - it's not obvious when any given object can be freed.  I suggest that you with your greater understanding would be better placed to fix these.

Thanks,

- Mark


$ ./ffmpeg_g -print_graphs_file out.html -print_graphs_format mermaidhtml -i in.mp4 -frames:v 1 -f null -
...
=================================================================
==3654286==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 37 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befffdb in mermaid_print_value src/fftools/textformat/tf_mermaid.c:538
    #4 0x55e85bf01465 in mermaid_print_str src/fftools/textformat/tf_mermaid.c:629
    #5 0x55e85bee71b8 in avtext_print_string src/fftools/textformat/avtextformat.c:483
    #6 0x55e85bec2660 in print_sanizied_id src/fftools/graph/graphprint.c:347
    #7 0x55e85bec4a6f in print_filter src/fftools/graph/graphprint.c:460
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Direct leak of 37 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befbf79 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:329
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85bec2aff in print_section_header_id src/fftools/graph/graphprint.c:372
    #6 0x55e85bec2df9 in print_filter src/fftools/graph/graphprint.c:387
    #7 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #8 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #9 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #10 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #11 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Direct leak of 37 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85bf005d1 in mermaid_print_value src/fftools/textformat/tf_mermaid.c:548
    #4 0x55e85bf01465 in mermaid_print_str src/fftools/textformat/tf_mermaid.c:629
    #5 0x55e85bee71b8 in avtext_print_string src/fftools/textformat/avtextformat.c:483
    #6 0x55e85bec2660 in print_sanizied_id src/fftools/graph/graphprint.c:347
    #7 0x55e85bec4a6f in print_filter src/fftools/graph/graphprint.c:460
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Direct leak of 32 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af424d in posix_memalign ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x55e86407e295 in av_malloc src/libavutil/mem.c:107
    #2 0x55e86407efeb in av_mallocz src/libavutil/mem.c:258
    #3 0x55e863f832ca in av_dict_set src/libavutil/dict.c:122
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85bec4015 in print_filter src/fftools/graph/graphprint.c:432
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Direct leak of 22 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befbf79 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:329
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85becc36b in print_streams src/fftools/graph/graphprint.c:791
    #6 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #7 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #10 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Direct leak of 22 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befbb54 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:317
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85bec72d3 in print_filtergraph_single src/fftools/graph/graphprint.c:555
    #6 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #7 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #8 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #9 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Direct leak of 19 byte(s) in 1 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85bf002da in mermaid_print_value src/fftools/textformat/tf_mermaid.c:543
    #4 0x55e85bf01465 in mermaid_print_str src/fftools/textformat/tf_mermaid.c:629
    #5 0x55e85bee71b8 in avtext_print_string src/fftools/textformat/avtextformat.c:483
    #6 0x55e85bec2660 in print_sanizied_id src/fftools/graph/graphprint.c:347
    #7 0x55e85bec4685 in print_filter src/fftools/graph/graphprint.c:453
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Direct leak of 18 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befbf79 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:329
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85becacdd in print_streams src/fftools/graph/graphprint.c:730
    #6 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #7 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #10 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Direct leak of 18 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befbf79 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:329
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85bec8b3e in print_streams src/fftools/graph/graphprint.c:639
    #6 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #7 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #10 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Direct leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f42e6af424d in posix_memalign ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x55e86407e295 in av_malloc src/libavutil/mem.c:107
    #2 0x55e86407efeb in av_mallocz src/libavutil/mem.c:258
    #3 0x55e863f832ca in av_dict_set src/libavutil/dict.c:122
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85beca627 in print_streams src/fftools/graph/graphprint.c:705
    #8 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #9 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #12 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Direct leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befbb54 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:317
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85becbf70 in print_streams src/fftools/graph/graphprint.c:781
    #6 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #7 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #10 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Direct leak of 14 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befbf79 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:329
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85bec9e59 in print_streams src/fftools/graph/graphprint.c:690
    #6 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #7 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #10 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Direct leak of 12 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befd2d2 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:376
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85bec4346 in print_filter src/fftools/graph/graphprint.c:445
    #6 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #7 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #8 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #9 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #10 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Direct leak of 11 byte(s) in 1 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befffdb in mermaid_print_value src/fftools/textformat/tf_mermaid.c:538
    #4 0x55e85bf01465 in mermaid_print_str src/fftools/textformat/tf_mermaid.c:629
    #5 0x55e85bee71b8 in avtext_print_string src/fftools/textformat/avtextformat.c:483
    #6 0x55e85becc554 in print_streams src/fftools/graph/graphprint.c:797
    #7 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #8 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #9 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #10 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #11 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Direct leak of 9 byte(s) in 1 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85bf002da in mermaid_print_value src/fftools/textformat/tf_mermaid.c:543
    #4 0x55e85bf01465 in mermaid_print_str src/fftools/textformat/tf_mermaid.c:629
    #5 0x55e85bee71b8 in avtext_print_string src/fftools/textformat/avtextformat.c:483
    #6 0x55e85bec2660 in print_sanizied_id src/fftools/graph/graphprint.c:347
    #7 0x55e85bec456e in print_filter src/fftools/graph/graphprint.c:451
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Direct leak of 9 byte(s) in 1 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e85befbb54 in mermaid_print_section_header src/fftools/textformat/tf_mermaid.c:317
    #4 0x55e85bee3501 in avtext_print_section_header src/fftools/textformat/avtextformat.c:270
    #5 0x55e85becb946 in print_streams src/fftools/graph/graphprint.c:762
    #6 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #7 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #10 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 96 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407eaf3 in av_realloc_array src/libavutil/mem.c:222
    #3 0x55e863f83b8d in av_dict_set src/libavutil/dict.c:147
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85bec4a97 in print_filter src/fftools/graph/graphprint.c:464
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Indirect leak of 95 byte(s) in 3 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e863f82fa9 in av_dict_set src/libavutil/dict.c:105
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85bec4a97 in print_filter src/fftools/graph/graphprint.c:464
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Indirect leak of 95 byte(s) in 3 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e863f82f3c in av_dict_set src/libavutil/dict.c:97
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85bec4a97 in print_filter src/fftools/graph/graphprint.c:464
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Indirect leak of 91 byte(s) in 3 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e863f82fa9 in av_dict_set src/libavutil/dict.c:105
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85bec4015 in print_filter src/fftools/graph/graphprint.c:432
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Indirect leak of 91 byte(s) in 3 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e863f82f3c in av_dict_set src/libavutil/dict.c:97
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85bec4015 in print_filter src/fftools/graph/graphprint.c:432
    #8 0x55e85bec7ba5 in print_filtergraph_single src/fftools/graph/graphprint.c:577
    #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
    #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
    #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
    #12 0x7f42e6a5b1d5 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234

Indirect leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407eaf3 in av_realloc_array src/libavutil/mem.c:222
    #3 0x55e863f83b8d in av_dict_set src/libavutil/dict.c:147
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85becb612 in print_streams src/fftools/graph/graphprint.c:744
    #8 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #9 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #12 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 42 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e863f82fa9 in av_dict_set src/libavutil/dict.c:105
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85becb612 in print_streams src/fftools/graph/graphprint.c:744
    #8 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #9 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #12 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 42 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e863f82f3c in av_dict_set src/libavutil/dict.c:97
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85becb612 in print_streams src/fftools/graph/graphprint.c:744
    #8 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #9 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #12 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 34 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e863f82fa9 in av_dict_set src/libavutil/dict.c:105
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85beca627 in print_streams src/fftools/graph/graphprint.c:705
    #8 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #9 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #12 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Indirect leak of 34 byte(s) in 2 object(s) allocated from:
    #0 0x7f42e6af3b58 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
    #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
    #3 0x55e863f82f3c in av_dict_set src/libavutil/dict.c:97
    #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
    #5 0x55e85befe6fd in mermaid_print_section_footer src/fftools/textformat/tf_mermaid.c:450
    #6 0x55e85bee40db in avtext_print_section_footer src/fftools/textformat/avtextformat.c:290
    #7 0x55e85beca627 in print_streams src/fftools/graph/graphprint.c:705
    #8 0x55e85bed0589 in print_filtergraphs_priv src/fftools/graph/graphprint.c:1070
    #9 0x55e85bed0c04 in print_filtergraphs src/fftools/graph/graphprint.c:1110
    #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
    #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
    #12 0x7f42e2433ca7 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

SUMMARY: AddressSanitizer: 1013 byte(s) leaked in 49 allocation(s).

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet
  2025-05-19 20:08       ` Mark Thompson
@ 2025-05-19 21:13         ` softworkz .
  2025-05-20  2:14         ` softworkz .
  1 sibling, 0 replies; 7+ messages in thread
From: softworkz . @ 2025-05-19 21:13 UTC (permalink / raw)
  To: FFmpeg development discussions and patches



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
> Thompson
> Sent: Montag, 19. Mai 2025 22:08
> To: ffmpeg-devel@ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are
> no outputs yet
> 
> On 18/05/2025 15:57, softworkz . wrote:
> >> -----Original Message-----
> >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
> >> Thompson
> >> Sent: Sonntag, 18. Mai 2025 16:22
> >> To: ffmpeg-devel@ffmpeg.org
> >> Subject: Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there
> are
> >> no outputs yet
> >>
> >> ...
> >>
> >> Suggest doing any non-performance-critical development (like this) with
> asan
> >> enabled in future; it doesn't slow things down very much and makes it
> easier
> >> to catch and fix leaks as you go along.
> >
> >
> > It's a good idea - I didn't have it on the record anymore after the pause.
> >
> > In the past, it had often caused trouble with MSVC (/fsanitize=address), so
> > we had it only in a Linux CI - which this work didn't go through 😊
> > I'll check it out, maybe MS have made some progress with it.
> >
> > Thanks for the suggestion and the patches,
> > sw
> 
> I've run with the mermaidhtml output a bit as well.  The output looks nice but
> there are many asan errors, mostly from lost string alloctions - see below.
> 
> I had a look at fixing these, but the object lifetime model appears more
> complex than I could straightforwardly divine - it's not obvious when any
> given object can be freed.  I suggest that you with your greater understanding
> would be better placed to fix these.

Hi Mark,

of course that's on me to fix, and yes - the string handling is really
a bit tricky. At some point I had introduced av_strdup() everywhere after I 
realized that it's too hard to track which strings might stem from literals 
and which are not, so it's very plausible that I missed some cleanup.

I've enabled ASAN just an hour ago and currently digging into other errors
it is showing like that one:

==11668==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x122d130b6580 in thread T0:
  object passed to delete has wrong type:
  size of the allocated type:   1424 bytes;
  size of the deallocated type: 1400 bytes.
==11668==WARNING: Failed to use and restart external symbolizer!
    #0 0x7ff77cd812e3 in operator delete D:\a\_work\1\s\src\vctools\asan\llvm\compiler-rt\lib\asan\asan_win_delete_scalar_size_thunk.cpp:41
    #1 0x7ff779326a70 in MFX_DISP_HANDLE::`scalar deleting destructor'+0x40 (V:\ffbuild\msvc\bin\x64\ffmpegd.exe+0x141af6a70)
    #2 0x7ff779328485 in MFXClose V:\ffbuild\source\mfx_dispatch\src\main.cpp:634
    #3 0x7ff77cc6f38a in qsv_create_mfx_session V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c:1266
    #4 0x7ff77cc789ec in qsv_device_derive_from_child V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c:2456
    #5 0x7ff77cc78f7a in qsv_device_derive V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c:2498


Maybe a mismatch of lib and include..


Anyway, I'm on it, thanks a lot for the output,

sw




> 
> 
> $ ./ffmpeg_g -print_graphs_file out.html -print_graphs_format mermaidhtml -i
> in.mp4 -frames:v 1 -f null -
> ...
> =================================================================
> ==3654286==ERROR: LeakSanitizer: detected memory leaks
> 
> Direct leak of 37 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befffdb in mermaid_print_value
> src/fftools/textformat/tf_mermaid.c:538
>     #4 0x55e85bf01465 in mermaid_print_str
> src/fftools/textformat/tf_mermaid.c:629
>     #5 0x55e85bee71b8 in avtext_print_string
> src/fftools/textformat/avtextformat.c:483
>     #6 0x55e85bec2660 in print_sanizied_id src/fftools/graph/graphprint.c:347
>     #7 0x55e85bec4a6f in print_filter src/fftools/graph/graphprint.c:460
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Direct leak of 37 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befbf79 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:329
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85bec2aff in print_section_header_id
> src/fftools/graph/graphprint.c:372
>     #6 0x55e85bec2df9 in print_filter src/fftools/graph/graphprint.c:387
>     #7 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #8 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #9 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #10 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #11 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Direct leak of 37 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85bf005d1 in mermaid_print_value
> src/fftools/textformat/tf_mermaid.c:548
>     #4 0x55e85bf01465 in mermaid_print_str
> src/fftools/textformat/tf_mermaid.c:629
>     #5 0x55e85bee71b8 in avtext_print_string
> src/fftools/textformat/avtextformat.c:483
>     #6 0x55e85bec2660 in print_sanizied_id src/fftools/graph/graphprint.c:347
>     #7 0x55e85bec4a6f in print_filter src/fftools/graph/graphprint.c:460
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Direct leak of 32 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af424d in posix_memalign
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
>     #1 0x55e86407e295 in av_malloc src/libavutil/mem.c:107
>     #2 0x55e86407efeb in av_mallocz src/libavutil/mem.c:258
>     #3 0x55e863f832ca in av_dict_set src/libavutil/dict.c:122
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85bec4015 in print_filter src/fftools/graph/graphprint.c:432
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Direct leak of 22 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befbf79 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:329
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85becc36b in print_streams src/fftools/graph/graphprint.c:791
>     #6 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #7 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #10 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Direct leak of 22 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befbb54 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:317
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85bec72d3 in print_filtergraph_single
> src/fftools/graph/graphprint.c:555
>     #6 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #7 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #8 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #9 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Direct leak of 19 byte(s) in 1 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85bf002da in mermaid_print_value
> src/fftools/textformat/tf_mermaid.c:543
>     #4 0x55e85bf01465 in mermaid_print_str
> src/fftools/textformat/tf_mermaid.c:629
>     #5 0x55e85bee71b8 in avtext_print_string
> src/fftools/textformat/avtextformat.c:483
>     #6 0x55e85bec2660 in print_sanizied_id src/fftools/graph/graphprint.c:347
>     #7 0x55e85bec4685 in print_filter src/fftools/graph/graphprint.c:453
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Direct leak of 18 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befbf79 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:329
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85becacdd in print_streams src/fftools/graph/graphprint.c:730
>     #6 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #7 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #10 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Direct leak of 18 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befbf79 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:329
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85bec8b3e in print_streams src/fftools/graph/graphprint.c:639
>     #6 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #7 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #10 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Direct leak of 16 byte(s) in 1 object(s) allocated from:
>     #0 0x7f42e6af424d in posix_memalign
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
>     #1 0x55e86407e295 in av_malloc src/libavutil/mem.c:107
>     #2 0x55e86407efeb in av_mallocz src/libavutil/mem.c:258
>     #3 0x55e863f832ca in av_dict_set src/libavutil/dict.c:122
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85beca627 in print_streams src/fftools/graph/graphprint.c:705
>     #8 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #9 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #12 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Direct leak of 16 byte(s) in 1 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befbb54 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:317
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85becbf70 in print_streams src/fftools/graph/graphprint.c:781
>     #6 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #7 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #10 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Direct leak of 14 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befbf79 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:329
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85bec9e59 in print_streams src/fftools/graph/graphprint.c:690
>     #6 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #7 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #10 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Direct leak of 12 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befd2d2 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:376
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85bec4346 in print_filter src/fftools/graph/graphprint.c:445
>     #6 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #7 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #8 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #9 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #10 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Direct leak of 11 byte(s) in 1 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befffdb in mermaid_print_value
> src/fftools/textformat/tf_mermaid.c:538
>     #4 0x55e85bf01465 in mermaid_print_str
> src/fftools/textformat/tf_mermaid.c:629
>     #5 0x55e85bee71b8 in avtext_print_string
> src/fftools/textformat/avtextformat.c:483
>     #6 0x55e85becc554 in print_streams src/fftools/graph/graphprint.c:797
>     #7 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #8 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #9 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #10 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #11 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Direct leak of 9 byte(s) in 1 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85bf002da in mermaid_print_value
> src/fftools/textformat/tf_mermaid.c:543
>     #4 0x55e85bf01465 in mermaid_print_str
> src/fftools/textformat/tf_mermaid.c:629
>     #5 0x55e85bee71b8 in avtext_print_string
> src/fftools/textformat/avtextformat.c:483
>     #6 0x55e85bec2660 in print_sanizied_id src/fftools/graph/graphprint.c:347
>     #7 0x55e85bec456e in print_filter src/fftools/graph/graphprint.c:451
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Direct leak of 9 byte(s) in 1 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e85befbb54 in mermaid_print_section_header
> src/fftools/textformat/tf_mermaid.c:317
>     #4 0x55e85bee3501 in avtext_print_section_header
> src/fftools/textformat/avtextformat.c:270
>     #5 0x55e85becb946 in print_streams src/fftools/graph/graphprint.c:762
>     #6 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #7 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #8 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #9 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #10 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Indirect leak of 96 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407eaf3 in av_realloc_array src/libavutil/mem.c:222
>     #3 0x55e863f83b8d in av_dict_set src/libavutil/dict.c:147
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85bec4a97 in print_filter src/fftools/graph/graphprint.c:464
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Indirect leak of 95 byte(s) in 3 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e863f82fa9 in av_dict_set src/libavutil/dict.c:105
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85bec4a97 in print_filter src/fftools/graph/graphprint.c:464
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Indirect leak of 95 byte(s) in 3 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e863f82f3c in av_dict_set src/libavutil/dict.c:97
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85bec4a97 in print_filter src/fftools/graph/graphprint.c:464
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Indirect leak of 91 byte(s) in 3 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e863f82fa9 in av_dict_set src/libavutil/dict.c:105
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85bec4015 in print_filter src/fftools/graph/graphprint.c:432
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Indirect leak of 91 byte(s) in 3 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e863f82f3c in av_dict_set src/libavutil/dict.c:97
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85bec4015 in print_filter src/fftools/graph/graphprint.c:432
>     #8 0x55e85bec7ba5 in print_filtergraph_single
> src/fftools/graph/graphprint.c:577
>     #9 0x55e85becf7e2 in print_filtergraph src/fftools/graph/graphprint.c:1003
>     #10 0x55e85be3d1f5 in filter_thread src/fftools/ffmpeg_filter.c:2989
>     #11 0x55e85bebcf30 in task_wrapper src/fftools/ffmpeg_sched.c:2534
>     #12 0x7f42e6a5b1d5 in asan_thread_start
> ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234
> 
> Indirect leak of 64 byte(s) in 1 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407eaf3 in av_realloc_array src/libavutil/mem.c:222
>     #3 0x55e863f83b8d in av_dict_set src/libavutil/dict.c:147
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85becb612 in print_streams src/fftools/graph/graphprint.c:744
>     #8 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #9 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #12 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Indirect leak of 42 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e863f82fa9 in av_dict_set src/libavutil/dict.c:105
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85becb612 in print_streams src/fftools/graph/graphprint.c:744
>     #8 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #9 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #12 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Indirect leak of 42 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e863f82f3c in av_dict_set src/libavutil/dict.c:97
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85becb612 in print_streams src/fftools/graph/graphprint.c:744
>     #8 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #9 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #12 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Indirect leak of 34 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e863f82fa9 in av_dict_set src/libavutil/dict.c:105
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85beca627 in print_streams src/fftools/graph/graphprint.c:705
>     #8 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #9 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #12 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> Indirect leak of 34 byte(s) in 2 object(s) allocated from:
>     #0 0x7f42e6af3b58 in realloc
> ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
>     #1 0x55e86407e4ca in av_realloc src/libavutil/mem.c:164
>     #2 0x55e86407f195 in av_strdup src/libavutil/mem.c:277
>     #3 0x55e863f82f3c in av_dict_set src/libavutil/dict.c:97
>     #4 0x55e85bef9095 in has_link_pair src/fftools/textformat/tf_mermaid.c:190
>     #5 0x55e85befe6fd in mermaid_print_section_footer
> src/fftools/textformat/tf_mermaid.c:450
>     #6 0x55e85bee40db in avtext_print_section_footer
> src/fftools/textformat/avtextformat.c:290
>     #7 0x55e85beca627 in print_streams src/fftools/graph/graphprint.c:705
>     #8 0x55e85bed0589 in print_filtergraphs_priv
> src/fftools/graph/graphprint.c:1070
>     #9 0x55e85bed0c04 in print_filtergraphs
> src/fftools/graph/graphprint.c:1110
>     #10 0x55e85bf284d3 in ffmpeg_cleanup src/fftools/ffmpeg.c:313
>     #11 0x55e85bf30abc in main src/fftools/ffmpeg.c:1025
>     #12 0x7f42e2433ca7 in __libc_start_call_main
> ../sysdeps/nptl/libc_start_call_main.h:58
> 
> SUMMARY: AddressSanitizer: 1013 byte(s) leaked in 49 allocation(s).
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet
  2025-05-19 20:08       ` Mark Thompson
  2025-05-19 21:13         ` softworkz .
@ 2025-05-20  2:14         ` softworkz .
  1 sibling, 0 replies; 7+ messages in thread
From: softworkz . @ 2025-05-20  2:14 UTC (permalink / raw)
  To: FFmpeg development discussions and patches



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
> Thompson
> Sent: Montag, 19. Mai 2025 22:08
> To: ffmpeg-devel@ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are
> no outputs yet
> 
> On 18/05/2025 15:57, softworkz . wrote:
> >> -----Original Message-----
> >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Mark
> >> Thompson
> >> Sent: Sonntag, 18. Mai 2025 16:22
> >> To: ffmpeg-devel@ffmpeg.org
> >> Subject: Re: [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there
> are
> >> no outputs yet
> >>
> >> ...
> >>
> >> Suggest doing any non-performance-critical development (like this) with
> asan
> >> enabled in future; it doesn't slow things down very much and makes it
> easier
> >> to catch and fix leaks as you go along.
> >
> >
> > It's a good idea - I didn't have it on the record anymore after the pause.
> >
> > In the past, it had often caused trouble with MSVC (/fsanitize=address), so
> > we had it only in a Linux CI - which this work didn't go through 😊
> > I'll check it out, maybe MS have made some progress with it.
> >
> > Thanks for the suggestion and the patches,
> > sw
> 
> I've run with the mermaidhtml output a bit as well.  The output looks nice but
> there are many asan errors, mostly from lost string alloctions - see below.
> 
> I had a look at fixing these, but the object lifetime model appears more
> complex than I could straightforwardly divine - it's not obvious when any
> given object can be freed.  I suggest that you with your greater understanding
> would be better placed to fix these.
> 
> Thanks,
> 
> - Mark


Hi Mark,


I think I got all of them covered now, patches sent.

While hunting those leaks, I noticed a lot of leaks around QSV hardware 
acceleration, is that known and do you see these as well? I hope it doesn't
go back to my original code for QSV D3D11..

Thanks
sw



Command was something like:

-init_hw_device d3d11va=d1:2 -init_hw_device qsv@d1 -hwaccel qsv -c:v h264_qsv -i in.mkv  -filter_complex "[0:0]scale_qsv=w=512:h=256[f1_out0]" -map [f1_out0] -c:v hevc_qsv out1.mkv



---------- Block 11879 at 0x000000005A25B810: 103 bytes ----------
  Leak Hash: 0xBD2EC68A, Count: 1, Total 103 bytes
  Call Stack (TID 51116):
    ucrtbased.dll!aligned_malloc()
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (110): ffmpegd.exe!av_malloc() + 0x12 bytes
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (258): ffmpegd.exe!av_mallocz() + 0xC bytes
    V:\ffbuild\source\ffmpeg\libavutil\buffer.c (44): ffmpegd.exe!buffer_create() + 0xA bytes
    V:\ffbuild\source\ffmpeg\libavutil\buffer.c (64): ffmpegd.exe!av_buffer_create() + 0x34 bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext.c (282): ffmpegd.exe!av_hwframe_ctx_alloc() + 0x20 bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c (576): ffmpegd.exe!qsv_init_child_ctx() + 0x9 bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c (754): ffmpegd.exe!qsv_init_pool() + 0xC bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c (1428): ffmpegd.exe!qsv_frames_init() + 0xF bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext.c (364): ffmpegd.exe!av_hwframe_ctx_init() + 0xF bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (349): ffmpegd.exe!qsv_decode_preinit() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (445): ffmpegd.exe!qsv_decode_header() + 0x21 bytes


---------- Block 14884 at 0x000000005A2548B0: 103 bytes ----------
  Leak Hash: 0x48BB8D37, Count: 1, Total 103 bytes
  Call Stack (TID 51116):
    ucrtbased.dll!aligned_malloc()
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (110): ffmpegd.exe!av_malloc() + 0x12 bytes
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (258): ffmpegd.exe!av_mallocz() + 0xC bytes
    V:\ffbuild\source\ffmpeg\libavutil\buffer.c (105): ffmpegd.exe!av_buffer_ref() + 0xA bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsv.c (764): ffmpegd.exe!qsv_create_mids() + 0xC bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsv.c (1143): ffmpegd.exe!ff_qsv_init_session_frames() + 0xF bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (211): ffmpegd.exe!qsv_init_session() + 0x77 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (381): ffmpegd.exe!qsv_decode_preinit() + 0x38 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (445): ffmpegd.exe!qsv_decode_header() + 0x21 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (1026): ffmpegd.exe!qsv_process_data() + 0x2A bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (1186): ffmpegd.exe!qsv_decode_frame() + 0x34 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (442): ffmpegd.exe!decode_simple_internal() + 0x23 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (600): ffmpegd.exe!decode_simple_receive_frame() + 0x17 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (636): ffmpegd.exe!ff_decode_receive_frame_internal() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (653): ffmpegd.exe!decode_receive_frame_internal() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (729): ffmpegd.exe!avcodec_send_packet() + 0x17 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_dec.c (724): ffmpegd.exe!packet_decode() + 0x12 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_dec.c (952): ffmpegd.exe!decoder_thread() + 0x30 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_sched.c (2534): ffmpegd.exe!task_wrapper() + 0x11 bytes
    V:\ffbuild\source\ffmpeg\compat\w32pthreads.h (78): ffmpegd.exe!win32thread_worker() + 0x11 bytes
    ucrtbased.dll!register_onexit_function() + 0xF5 bytes
    KERNEL32.DLL!BaseThreadInitThunk() + 0x17 bytes
    ntdll.dll!RtlUserThreadStart() + 0x2C bytes


---------- Block 11870 at 0x000000005A1E1DF0: 127 bytes ----------
  Leak Hash: 0x73D25304, Count: 1, Total 127 bytes
  Call Stack (TID 51116):
    ucrtbased.dll!aligned_malloc()
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (110): ffmpegd.exe!av_malloc() + 0x12 bytes
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (258): ffmpegd.exe!av_mallocz() + 0xC bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext.c (273): ffmpegd.exe!av_hwframe_ctx_alloc() + 0xD bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c (576): ffmpegd.exe!qsv_init_child_ctx() + 0x9 bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c (754): ffmpegd.exe!qsv_init_pool() + 0xC bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c (1428): ffmpegd.exe!qsv_frames_init() + 0xF bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext.c (364): ffmpegd.exe!av_hwframe_ctx_init() + 0xF bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (349): ffmpegd.exe!qsv_decode_preinit() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (445): ffmpegd.exe!qsv_decode_header() + 0x21 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (1026): ffmpegd.exe!qsv_process_data() + 0x2A bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (1186): ffmpegd.exe!qsv_decode_frame() + 0x34 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (442): ffmpegd.exe!decode_simple_internal() + 0x23 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (600): ffmpegd.exe!decode_simple_receive_frame() + 0x17 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (636): ffmpegd.exe!ff_decode_receive_frame_internal() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (653): ffmpegd.exe!decode_receive_frame_internal() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (729): ffmpegd.exe!avcodec_send_packet() + 0x17 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_dec.c (724): ffmpegd.exe!packet_decode() + 0x12 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_dec.c (952): ffmpegd.exe!decoder_thread() + 0x30 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_sched.c (2534): ffmpegd.exe!task_wrapper() + 0x11 bytes
    V:\ffbuild\source\ffmpeg\compat\w32pthreads.h (78): ffmpegd.exe!win32thread_worker() + 0x11 bytes
    ucrtbased.dll!register_onexit_function() + 0xF5 bytes
    KERNEL32.DLL!BaseThreadInitThunk() + 0x17 bytes
    ntdll.dll!RtlUserThreadStart() + 0x2C bytes



---------- Block 13196 at 0x000000005A049A40: 271 bytes ----------
  Leak Hash: 0x8D8100C0, Count: 1, Total 271 bytes
  Call Stack (TID 51116):
    ucrtbased.dll!aligned_malloc()
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (110): ffmpegd.exe!av_malloc() + 0x12 bytes
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (258): ffmpegd.exe!av_mallocz() + 0xC bytes
    V:\ffbuild\source\ffmpeg\libavutil\mem.c (270): ffmpegd.exe!av_calloc()
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext_qsv.c (1436): ffmpegd.exe!qsv_frames_init() + 0x15 bytes
    V:\ffbuild\source\ffmpeg\libavutil\hwcontext.c (364): ffmpegd.exe!av_hwframe_ctx_init() + 0xF bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (349): ffmpegd.exe!qsv_decode_preinit() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (445): ffmpegd.exe!qsv_decode_header() + 0x21 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (1026): ffmpegd.exe!qsv_process_data() + 0x2A bytes
    V:\ffbuild\source\ffmpeg\libavcodec\qsvdec.c (1186): ffmpegd.exe!qsv_decode_frame() + 0x34 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (442): ffmpegd.exe!decode_simple_internal() + 0x23 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (600): ffmpegd.exe!decode_simple_receive_frame() + 0x17 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (636): ffmpegd.exe!ff_decode_receive_frame_internal() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (653): ffmpegd.exe!decode_receive_frame_internal() + 0x13 bytes
    V:\ffbuild\source\ffmpeg\libavcodec\decode.c (729): ffmpegd.exe!avcodec_send_packet() + 0x17 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_dec.c (724): ffmpegd.exe!packet_decode() + 0x12 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_dec.c (952): ffmpegd.exe!decoder_thread() + 0x30 bytes
    V:\ffbuild\source\ffmpeg\fftools\ffmpeg_sched.c (2534): ffmpegd.exe!task_wrapper() + 0x11 bytes
    V:\ffbuild\source\ffmpeg\compat\w32pthreads.h (78): ffmpegd.exe!win32thread_worker() + 0x11 bytes
    ucrtbased.dll!register_onexit_function() + 0xF5 bytes
    KERNEL32.DLL!BaseThreadInitThunk() + 0x17 bytes
    ntdll.dll!RtlUserThreadStart() + 0x2C bytes


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-05-20  2:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-17 20:02 [FFmpeg-devel] [PATCH v2] ffmpeg: Don't print graphs if there are no outputs yet Mark Thompson
2025-05-17 20:04 ` softworkz .
2025-05-18 14:21   ` Mark Thompson
2025-05-18 14:57     ` softworkz .
2025-05-19 20:08       ` Mark Thompson
2025-05-19 21:13         ` softworkz .
2025-05-20  2:14         ` softworkz .

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git