[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