[FFmpeg-trac] #10027(avcodec:new): vp4 crash

FFmpeg trac at avcodec.org
Wed Feb 22 11:39:46 EET 2023


#10027: vp4 crash
------------------------------------+-----------------------------------
             Reporter:  ami_stuff   |                    Owner:  (none)
                 Type:  defect      |                   Status:  new
             Priority:  important   |                Component:  avcodec
              Version:  git-master  |               Resolution:
             Keywords:  vp4 crash   |               Blocked By:
             Blocking:              |  Reproduced by developer:  1
Analyzed by developer:  0           |
------------------------------------+-----------------------------------
Comment (by ami_stuff):

 it's a regression since fd172185580c1ccdcfb90bbfdb59fa806fad3117

 {{{
 valgrind --leak-check=full ./ffmpeg_g -threads 1 -i ot171_vp40.avi -y
 out.avi
 ==36339== Memcheck, a memory error detector
 ==36339== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
 ==36339== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright
 info
 ==36339== Command: ./ffmpeg_g -threads 1 -i ot171_vp40.avi -y out.avi
 ==36339==
 ffmpeg version N-95589-gd3dee676b8 Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
   configuration:
   libavutil      56. 35.101 / 56. 35.101
   libavcodec     58. 60.100 / 58. 60.100
   libavformat    58. 33.100 / 58. 33.100
   libavdevice    58.  9.100 / 58.  9.100
   libavfilter     7. 66.100 /  7. 66.100
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
 Guessed Channel Layout for Input Stream #0.1 : mono
 Input #0, avi, from 'ot171_vp40.avi':
   Duration: 00:00:24.27, start: 0.000000, bitrate: 245 kb/s
     Stream #0:0: Video: vp4 (VP40 / 0x30345056), yuv420p, 160x112, 147
 kb/s, 15 fps, 15 tbr, 15 tbn, 15 tbc
     Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11025 Hz, mono,
 u8, 88 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (vp4 (native) -> mpeg4 (native))
   Stream #0:1 -> #0:1 (pcm_u8 (native) -> ac3 (native))
 Press [q] to stop, [?] for help
 [mpeg4 @ 0x5e92a00] too many threads/slices (8), reducing to 7
 Output #0, avi, to 'out.avi':
   Metadata:
     ISFT            : Lavf58.33.100
     Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 160x112,
 q=2-31, 200 kb/s, 15 fps, 15 tbn, 15 tbc
     Metadata:
       encoder         : Lavc58.60.100 mpeg4
     Side data:
       cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
     Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 11025 Hz, mono, fltp,
 96 kb/s
     Metadata:
       encoder         : Lavc58.60.100 ac3
 frame=    1 fps=0.9 q=2.5 size=      10kB time=00:00:00.55 bitrate=
 142.2kbits/sframe=   42 fps= 25 q=2.0 size=      10kB time=00:00:03.20
 bitrate=  24.7kbits/sframe=   99 fps= 46 q=2.0 size=      10kB
 time=00:00:06.96 bitrate=  11.4kbits/sframe=  152 fps= 57 q=2.0 size=
 266kB time=00:00:10.58 bitrate= 205.5kbits/sframe=  207 fps= 65 q=2.0
 size=     266kB time=00:00:14.21 bitrate= 153.2kbits/sframe=  265 fps= 72
 q=1.6 size=     522kB time=00:00:18.11 bitrate= 236.0kbits/sframe=  320
 fps= 76 q=2.0 size=     522kB time=00:00:21.73 bitrate= 196.6kbits/sframe=
 364 fps= 79 q=2.0 Lsize=     846kB time=00:00:24.38 bitrate= 284.4kbits/s
 speed=5.28x
 video:538kB audio:286kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 2.729511%
 ==36339==
 ==36339== HEAP SUMMARY:
 ==36339==     in use at exit: 0 bytes in 0 blocks
 ==36339==   total heap usage: 56,717 allocs, 56,717 frees, 12,828,653
 bytes allocated
 ==36339==
 ==36339== All heap blocks were freed -- no leaks are possible
 ==36339==
 ==36339== For lists of detected and suppressed errors, rerun with: -s
 ==36339== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
 }}}


 {{{
 valgrind --leak-check=full ./ffmpeg_g -threads 1 -i ot171_vp40.avi -y
 out.avi
 ==42690== Memcheck, a memory error detector
 ==42690== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
 ==42690== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright
 info
 ==42690== Command: ./ffmpeg_g -threads 1 -i ot171_vp40.avi -y out.avi
 ==42690==
 ffmpeg version N-95590-gfd17218558 Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
   configuration:
   libavutil      56. 35.101 / 56. 35.101
   libavcodec     58. 60.100 / 58. 60.100
   libavformat    58. 33.100 / 58. 33.100
   libavdevice    58.  9.100 / 58.  9.100
   libavfilter     7. 66.100 /  7. 66.100
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
 Guessed Channel Layout for Input Stream #0.1 : mono
 Input #0, avi, from 'ot171_vp40.avi':
   Duration: 00:00:24.27, start: 0.000000, bitrate: 245 kb/s
     Stream #0:0: Video: vp4 (VP40 / 0x30345056), yuv420p, 160x112, 147
 kb/s, 15 fps, 15 tbr, 15 tbn, 15 tbc
     Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11025 Hz, mono,
 u8, 88 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (vp4 (native) -> mpeg4 (native))
   Stream #0:1 -> #0:1 (pcm_u8 (native) -> ac3 (native))
 Press [q] to stop, [?] for help
 [mpeg4 @ 0x5e92a40] too many threads/slices (8), reducing to 7
 Output #0, avi, to 'out.avi':
   Metadata:
     ISFT            : Lavf58.33.100
     Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 160x112,
 q=2-31, 200 kb/s, 15 fps, 15 tbn, 15 tbc
     Metadata:
       encoder         : Lavc58.60.100 mpeg4
     Side data:
       cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
     Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 11025 Hz, mono, fltp,
 96 kb/s
     Metadata:
       encoder         : Lavc58.60.100 ac3
 frame=    1 fps=0.9 q=2.5 size=      10kB time=00:00:00.55 bitrate=
 142.2kbits/s==42690==
 Invalid read of size 8
 ==42690==    at 0x62CC83: decode_simple_internal (decode.c:434)
 ==42690==    by 0x62CC83: decode_simple_receive_frame (decode.c:628)
 ==42690==    by 0x62CC83: decode_receive_frame_internal (decode.c:646)
 ==42690==    by 0x62D96F: avcodec_send_packet (decode.c:704)
 ==42690==    by 0x2954F9: decode (ffmpeg.c:2231)
 ==42690==    by 0x2954F9: decode_video (ffmpeg.c:2373)
 ==42690==    by 0x2954F9: process_input_packet (ffmpeg.c:2614)
 ==42690==    by 0x298AA7: process_input (ffmpeg.c:4509)
 ==42690==    by 0x298AA7: transcode_step (ffmpeg.c:4629)
 ==42690==    by 0x298AA7: transcode (ffmpeg.c:4683)
 ==42690==    by 0x2774AD: main (ffmpeg.c:4885)
 ==42690==  Address 0x105e81310 is not stack'd, malloc'd or (recently)
 free'd
 ==42690==
 ==42690==
 ==42690== Process terminating with default action of signal 11 (SIGSEGV)
 ==42690==  Access not within mapped region at address 0x105E81310
 ==42690==    at 0x62CC83: decode_simple_internal (decode.c:434)
 ==42690==    by 0x62CC83: decode_simple_receive_frame (decode.c:628)
 ==42690==    by 0x62CC83: decode_receive_frame_internal (decode.c:646)
 ==42690==    by 0x62D96F: avcodec_send_packet (decode.c:704)
 ==42690==    by 0x2954F9: decode (ffmpeg.c:2231)
 ==42690==    by 0x2954F9: decode_video (ffmpeg.c:2373)
 ==42690==    by 0x2954F9: process_input_packet (ffmpeg.c:2614)
 ==42690==    by 0x298AA7: process_input (ffmpeg.c:4509)
 ==42690==    by 0x298AA7: transcode_step (ffmpeg.c:4629)
 ==42690==    by 0x298AA7: transcode (ffmpeg.c:4683)
 ==42690==    by 0x2774AD: main (ffmpeg.c:4885)
 ==42690==  If you believe this happened as a result of a stack
 ==42690==  overflow in your program's main thread (unlikely but
 ==42690==  possible), you can try to increase the size of the
 ==42690==  main thread stack using the --main-stacksize= flag.
 ==42690==  The main thread stack size used in this run was 8388608.
 ==42690==
 ==42690== HEAP SUMMARY:
 ==42690==     in use at exit: 3,896,480 bytes in 801 blocks
 ==42690==   total heap usage: 3,105 allocs, 2,304 frees, 7,238,496 bytes
 allocated
 ==42690==
 ==42690== 2,128 bytes in 7 blocks are possibly lost in loss record 395 of
 445
 ==42690==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==42690==    by 0x40149DA: allocate_dtv (dl-tls.c:286)
 ==42690==    by 0x40149DA: _dl_allocate_tls (dl-tls.c:532)
 ==42690==    by 0x4FBD322: allocate_stack (allocatestack.c:622)
 ==42690==    by 0x4FBD322: pthread_create@@GLIBC_2.2.5
 (pthread_create.c:660)
 ==42690==    by 0xF67F71: avpriv_slicethread_create (slicethread.c:147)
 ==42690==    by 0x88C482: ff_slice_thread_init (pthread_slice.c:159)
 ==42690==    by 0x98182E: avcodec_open2 (utils.c:754)
 ==42690==    by 0x29299A: init_output_stream.constprop.0 (ffmpeg.c:3508)
 ==42690==    by 0x294CF0: reap_filters (ffmpeg.c:1443)
 ==42690==    by 0x298AB8: transcode_step (ffmpeg.c:4639)
 ==42690==    by 0x298AB8: transcode (ffmpeg.c:4683)
 ==42690==    by 0x2774AD: main (ffmpeg.c:4885)
 ==42690==
 ==42690== 2,432 bytes in 8 blocks are possibly lost in loss record 398 of
 445
 ==42690==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==42690==    by 0x40149DA: allocate_dtv (dl-tls.c:286)
 ==42690==    by 0x40149DA: _dl_allocate_tls (dl-tls.c:532)
 ==42690==    by 0x4FBD322: allocate_stack (allocatestack.c:622)
 ==42690==    by 0x4FBD322: pthread_create@@GLIBC_2.2.5
 (pthread_create.c:660)
 ==42690==    by 0xF67F71: avpriv_slicethread_create (slicethread.c:147)
 ==42690==    by 0x2D0659: thread_init_internal (pthread.c:78)
 ==42690==    by 0x2D0659: ff_graph_thread_init (pthread.c:97)
 ==42690==    by 0x2BE6B9: avfilter_graph_alloc_filter
 (avfiltergraph.c:180)
 ==42690==    by 0x2CEBD8: create_filter (graphparser.c:130)
 ==42690==    by 0x2CEBD8: parse_filter (graphparser.c:192)
 ==42690==    by 0x2CF797: avfilter_graph_parse2 (graphparser.c:427)
 ==42690==    by 0x2835A0: configure_filtergraph (ffmpeg_filter.c:1056)
 ==42690==    by 0x295167: ifilter_send_frame (ffmpeg.c:2180)
 ==42690==    by 0x295167: send_frame_to_filters (ffmpeg.c:2261)
 ==42690==    by 0x295EAF: decode_audio (ffmpeg.c:2328)
 ==42690==    by 0x295EAF: process_input_packet (ffmpeg.c:2610)
 ==42690==    by 0x298AA7: process_input (ffmpeg.c:4509)
 ==42690==    by 0x298AA7: transcode_step (ffmpeg.c:4629)
 ==42690==    by 0x298AA7: transcode (ffmpeg.c:4683)
 ==42690==
 ==42690== 2,432 bytes in 8 blocks are possibly lost in loss record 399 of
 445
 ==42690==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==42690==    by 0x40149DA: allocate_dtv (dl-tls.c:286)
 ==42690==    by 0x40149DA: _dl_allocate_tls (dl-tls.c:532)
 ==42690==    by 0x4FBD322: allocate_stack (allocatestack.c:622)
 ==42690==    by 0x4FBD322: pthread_create@@GLIBC_2.2.5
 (pthread_create.c:660)
 ==42690==    by 0xF67F71: avpriv_slicethread_create (slicethread.c:147)
 ==42690==    by 0x2D0659: thread_init_internal (pthread.c:78)
 ==42690==    by 0x2D0659: ff_graph_thread_init (pthread.c:97)
 ==42690==    by 0x2BE6B9: avfilter_graph_alloc_filter
 (avfiltergraph.c:180)
 ==42690==    by 0x2CEBD8: create_filter (graphparser.c:130)
 ==42690==    by 0x2CEBD8: parse_filter (graphparser.c:192)
 ==42690==    by 0x2CF797: avfilter_graph_parse2 (graphparser.c:427)
 ==42690==    by 0x2835A0: configure_filtergraph (ffmpeg_filter.c:1056)
 ==42690==    by 0x295167: ifilter_send_frame (ffmpeg.c:2180)
 ==42690==    by 0x295167: send_frame_to_filters (ffmpeg.c:2261)
 ==42690==    by 0x295920: decode_video (ffmpeg.c:2460)
 ==42690==    by 0x295920: process_input_packet (ffmpeg.c:2614)
 ==42690==    by 0x298AA7: process_input (ffmpeg.c:4509)
 ==42690==    by 0x298AA7: transcode_step (ffmpeg.c:4629)
 ==42690==    by 0x298AA7: transcode (ffmpeg.c:4683)
 ==42690==
 ==42690== LEAK SUMMARY:
 ==42690==    definitely lost: 0 bytes in 0 blocks
 ==42690==    indirectly lost: 0 bytes in 0 blocks
 ==42690==      possibly lost: 6,992 bytes in 23 blocks
 ==42690==    still reachable: 3,889,488 bytes in 778 blocks
 ==42690==         suppressed: 0 bytes in 0 blocks
 ==42690== Reachable blocks (those to which a pointer was found) are not
 shown.
 ==42690== To see them, rerun with: --leak-check=full --show-leak-kinds=all
 ==42690==
 ==42690== For lists of detected and suppressed errors, rerun with: -s
 ==42690== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
 }}}

 {{{
 valgrind --leak-check=full ./ffmpeg_g -i ot171_vp40.avi -y out.avi
 ==42750== Memcheck, a memory error detector
 ==42750== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
 ==42750== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright
 info
 ==42750== Command: ./ffmpeg_g -i ot171_vp40.avi -y out.avi
 ==42750==
 ffmpeg version N-95590-gfd17218558 Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
   configuration:
   libavutil      56. 35.101 / 56. 35.101
   libavcodec     58. 60.100 / 58. 60.100
   libavformat    58. 33.100 / 58. 33.100
   libavdevice    58.  9.100 / 58.  9.100
   libavfilter     7. 66.100 /  7. 66.100
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
 Guessed Channel Layout for Input Stream #0.1 : mono
 Input #0, avi, from 'ot171_vp40.avi':
   Duration: 00:00:24.27, start: 0.000000, bitrate: 245 kb/s
     Stream #0:0: Video: vp4 (VP40 / 0x30345056), yuv420p, 160x112, 147
 kb/s, 15 fps, 15 tbr, 15 tbn, 15 tbc
     Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11025 Hz, mono,
 u8, 88 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (vp4 (native) -> mpeg4 (native))
   Stream #0:1 -> #0:1 (pcm_u8 (native) -> ac3 (native))
 Press [q] to stop, [?] for help
 ==42750== Thread 3:
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x88B0DB: frame_worker_thread (pthread_frame.c:201)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x88B0E5: frame_worker_thread (pthread_frame.c:203)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x88B121: frame_worker_thread (pthread_frame.c:213)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x88B12B: frame_worker_thread (pthread_frame.c:218)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FBEFC4: pthread_mutex_lock (pthread_mutex_lock.c:67)
 ==42750==    by 0x88B143: frame_worker_thread (pthread_frame.c:224)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FBEFEF: pthread_mutex_lock (pthread_mutex_lock.c:80)
 ==42750==    by 0x88B143: frame_worker_thread (pthread_frame.c:224)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FBEFF9: pthread_mutex_lock (pthread_mutex_lock.c:81)
 ==42750==    by 0x88B143: frame_worker_thread (pthread_frame.c:224)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FBF00C: pthread_mutex_lock (pthread_mutex_lock.c:159)
 ==42750==    by 0x88B143: frame_worker_thread (pthread_frame.c:224)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC42A3: pthread_cond_broadcast@@GLIBC_2.3.2
 (pthread_cond_broadcast.c:43)
 ==42750==    by 0x88B157: frame_worker_thread (pthread_frame.c:228)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC42C8: __condvar_acquire_lock
 (pthread_cond_common.c:256)
 ==42750==    by 0x4FC42C8: pthread_cond_broadcast@@GLIBC_2.3.2
 (pthread_cond_broadcast.c:48)
 ==42750==    by 0x88B157: frame_worker_thread (pthread_frame.c:228)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC42DD: __condvar_acquire_lock
 (pthread_cond_common.c:259)
 ==42750==    by 0x4FC42DD: pthread_cond_broadcast@@GLIBC_2.3.2
 (pthread_cond_broadcast.c:48)
 ==42750==    by 0x88B157: frame_worker_thread (pthread_frame.c:228)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC42E4: __condvar_load_wseq_relaxed
 (pthread_cond_common.c:31)
 ==42750==    by 0x4FC42E4: pthread_cond_broadcast@@GLIBC_2.3.2
 (pthread_cond_broadcast.c:50)
 ==42750==    by 0x88B157: frame_worker_thread (pthread_frame.c:228)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC4338: __condvar_get_orig_size
 (pthread_cond_common.c:301)
 ==42750==    by 0x4FC4338: __condvar_quiesce_and_switch_g1
 (pthread_cond_common.c:352)
 ==42750==    by 0x4FC4338: pthread_cond_broadcast@@GLIBC_2.3.2
 (pthread_cond_broadcast.c:73)
 ==42750==    by 0x88B157: frame_worker_thread (pthread_frame.c:228)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC435A: __condvar_quiesce_and_switch_g1
 (pthread_cond_common.c:354)
 ==42750==    by 0x4FC435A: pthread_cond_broadcast@@GLIBC_2.3.2
 (pthread_cond_broadcast.c:73)
 ==42750==    by 0x88B157: frame_worker_thread (pthread_frame.c:228)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC44D4: __condvar_release_lock
 (pthread_cond_common.c:291)
 ==42750==    by 0x4FC44D4: pthread_cond_broadcast@@GLIBC_2.3.2
 (pthread_cond_broadcast.c:83)
 ==42750==    by 0x88B157: frame_worker_thread (pthread_frame.c:228)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC44DF: __condvar_release_lock
 (pthread_cond_common.c:291)
 ==42750==    by 0x4FC44DF: pthread_cond_broadcast@@GLIBC_2.3.2
 (pthread_cond_broadcast.c:83)
 ==42750==    by 0x88B157: frame_worker_thread (pthread_frame.c:228)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC3F53: pthread_cond_signal@@GLIBC_2.3.2
 (pthread_cond_signal.c:42)
 ==42750==    by 0x88B160: frame_worker_thread (pthread_frame.c:229)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC07B4: __pthread_mutex_unlock_usercnt
 (pthread_mutex_unlock.c:41)
 ==42750==    by 0x4FC07B4: pthread_mutex_unlock
 (pthread_mutex_unlock.c:357)
 ==42750==    by 0x88B168: frame_worker_thread (pthread_frame.c:230)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC07CB: __pthread_mutex_unlock_usercnt
 (pthread_mutex_unlock.c:55)
 ==42750==    by 0x4FC07CB: pthread_mutex_unlock
 (pthread_mutex_unlock.c:357)
 ==42750==    by 0x88B168: frame_worker_thread (pthread_frame.c:230)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x88B030: frame_worker_thread (pthread_frame.c:176)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC3194: __condvar_fetch_add_wseq_acquire
 (pthread_cond_common.c:37)
 ==42750==    by 0x4FC3194: __pthread_cond_wait_common
 (pthread_cond_wait.c:403)
 ==42750==    by 0x4FC3194: pthread_cond_wait@@GLIBC_2.3.2
 (pthread_cond_wait.c:647)
 ==42750==    by 0x88B225: frame_worker_thread (pthread_frame.c:177)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC31FA: __pthread_cond_wait_common
 (pthread_cond_wait.c:434)
 ==42750==    by 0x4FC31FA: pthread_cond_wait@@GLIBC_2.3.2
 (pthread_cond_wait.c:647)
 ==42750==    by 0x88B225: frame_worker_thread (pthread_frame.c:177)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC32FF: __pthread_cond_wait_common
 (pthread_cond_wait.c:486)
 ==42750==    by 0x4FC32FF: pthread_cond_wait@@GLIBC_2.3.2
 (pthread_cond_wait.c:647)
 ==42750==    by 0x88B225: frame_worker_thread (pthread_frame.c:177)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC3303: __pthread_cond_wait_common
 (pthread_cond_wait.c:487)
 ==42750==    by 0x4FC3303: pthread_cond_wait@@GLIBC_2.3.2
 (pthread_cond_wait.c:647)
 ==42750==    by 0x88B225: frame_worker_thread (pthread_frame.c:177)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x4FC330E: __condvar_load_g1_start_relaxed
 (pthread_cond_common.c:49)
 ==42750==    by 0x4FC330E: __pthread_cond_wait_common
 (pthread_cond_wait.c:488)
 ==42750==    by 0x4FC330E: pthread_cond_wait@@GLIBC_2.3.2
 (pthread_cond_wait.c:647)
 ==42750==    by 0x88B225: frame_worker_thread (pthread_frame.c:177)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Syscall param futex(futex) contains uninitialised byte(s)
 ==42750==    at 0x4FC3376: futex_wait_cancelable (futex-internal.h:183)
 ==42750==    by 0x4FC3376: __pthread_cond_wait_common
 (pthread_cond_wait.c:508)
 ==42750==    by 0x4FC3376: pthread_cond_wait@@GLIBC_2.3.2
 (pthread_cond_wait.c:647)
 ==42750==    by 0x88B225: frame_worker_thread (pthread_frame.c:177)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=
 -0.0kb==42750== Thread 10:
 ==42750== Invalid write of size 4
 ==42750==    at 0x88B0DB: frame_worker_thread (pthread_frame.c:201)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==  Address 0x5edcfe3 is 29 bytes before a block of size 1,120 in
 arena "client"
 ==42750==
 ==42750== Invalid read of size 4
 ==42750==    at 0x88B0E5: frame_worker_thread (pthread_frame.c:203)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==  Address 0x5edcfdf is 31 bytes after a block of size 16 in arena
 "client"
 ==42750==
 ==42750== Use of uninitialised value of size 8
 ==42750==    at 0x88B170: frame_worker_thread (pthread_frame.c:214)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==
 ==42750== Invalid read of size 4
 ==42750==    at 0x4FC07B4: __pthread_mutex_unlock_usercnt
 (pthread_mutex_unlock.c:41)
 ==42750==    by 0x4FC07B4: pthread_mutex_unlock
 (pthread_mutex_unlock.c:357)
 ==42750==    by 0x88B185: frame_worker_thread (pthread_frame.c:215)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==  Address 0x629354048 is not stack'd, malloc'd or (recently)
 free'd
 ==42750==
 ==42750==
 ==42750== Process terminating with default action of signal 11 (SIGSEGV)
 ==42750==  Access not within mapped region at address 0x629354048
 ==42750==    at 0x4FC07B4: __pthread_mutex_unlock_usercnt
 (pthread_mutex_unlock.c:41)
 ==42750==    by 0x4FC07B4: pthread_mutex_unlock
 (pthread_mutex_unlock.c:357)
 ==42750==    by 0x88B185: frame_worker_thread (pthread_frame.c:215)
 ==42750==    by 0x4FBC608: start_thread (pthread_create.c:477)
 ==42750==    by 0x50F6132: clone (clone.S:95)
 ==42750==  If you believe this happened as a result of a stack
 ==42750==  overflow in your program's main thread (unlikely but
 ==42750==  possible), you can try to increase the size of the
 ==42750==  main thread stack using the --main-stacksize= flag.
 ==42750==  The main thread stack size used in this run was 8388608.
 ==42750==
 ==42750== HEAP SUMMARY:
 ==42750==     in use at exit: 3,477,272 bytes in 911 blocks
 ==42750==   total heap usage: 2,232 allocs, 1,321 frees, 6,435,466 bytes
 allocated
 ==42750==
 ==42750== Thread 1:
 ==42750== 2,432 bytes in 8 blocks are possibly lost in loss record 259 of
 302
 ==42750==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==42750==    by 0x40149DA: allocate_dtv (dl-tls.c:286)
 ==42750==    by 0x40149DA: _dl_allocate_tls (dl-tls.c:532)
 ==42750==    by 0x4FBD322: allocate_stack (allocatestack.c:622)
 ==42750==    by 0x4FBD322: pthread_create@@GLIBC_2.2.5
 (pthread_create.c:660)
 ==42750==    by 0xF67F71: avpriv_slicethread_create (slicethread.c:147)
 ==42750==    by 0x2D0659: thread_init_internal (pthread.c:78)
 ==42750==    by 0x2D0659: ff_graph_thread_init (pthread.c:97)
 ==42750==    by 0x2BE6B9: avfilter_graph_alloc_filter
 (avfiltergraph.c:180)
 ==42750==    by 0x2CEBD8: create_filter (graphparser.c:130)
 ==42750==    by 0x2CEBD8: parse_filter (graphparser.c:192)
 ==42750==    by 0x2CF797: avfilter_graph_parse2 (graphparser.c:427)
 ==42750==    by 0x2835A0: configure_filtergraph (ffmpeg_filter.c:1056)
 ==42750==    by 0x295167: ifilter_send_frame (ffmpeg.c:2180)
 ==42750==    by 0x295167: send_frame_to_filters (ffmpeg.c:2261)
 ==42750==    by 0x295EAF: decode_audio (ffmpeg.c:2328)
 ==42750==    by 0x295EAF: process_input_packet (ffmpeg.c:2610)
 ==42750==    by 0x298AA7: process_input (ffmpeg.c:4509)
 ==42750==    by 0x298AA7: transcode_step (ffmpeg.c:4629)
 ==42750==    by 0x298AA7: transcode (ffmpeg.c:4683)
 ==42750==
 ==42750== 2,736 bytes in 9 blocks are possibly lost in loss record 260 of
 302
 ==42750==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==42750==    by 0x40149DA: allocate_dtv (dl-tls.c:286)
 ==42750==    by 0x40149DA: _dl_allocate_tls (dl-tls.c:532)
 ==42750==    by 0x4FBD322: allocate_stack (allocatestack.c:622)
 ==42750==    by 0x4FBD322: pthread_create@@GLIBC_2.2.5
 (pthread_create.c:660)
 ==42750==    by 0x88B767: ff_frame_thread_init (pthread_frame.c:828)
 ==42750==    by 0x98182E: avcodec_open2 (utils.c:754)
 ==42750==    by 0x297674: init_input_stream (ffmpeg.c:2930)
 ==42750==    by 0x297674: transcode_init (ffmpeg.c:3687)
 ==42750==    by 0x297674: transcode (ffmpeg.c:4654)
 ==42750==    by 0x2774AD: main (ffmpeg.c:4885)
 ==42750==
 ==42750== LEAK SUMMARY:
 ==42750==    definitely lost: 0 bytes in 0 blocks
 ==42750==    indirectly lost: 0 bytes in 0 blocks
 ==42750==      possibly lost: 5,168 bytes in 17 blocks
 ==42750==    still reachable: 3,472,104 bytes in 894 blocks
 ==42750==         suppressed: 0 bytes in 0 blocks
 ==42750== Reachable blocks (those to which a pointer was found) are not
 shown.
 ==42750== To see them, rerun with: --leak-check=full --show-leak-kinds=all
 ==42750==
 ==42750== Use --track-origins=yes to see where uninitialised values come
 from
 ==42750== For lists of detected and suppressed errors, rerun with: -s
 ==42750== ERROR SUMMARY: 61 errors from 32 contexts (suppressed: 0 from 0)
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10027#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list