[FFmpeg-trac] #9599(undetermined:reopened): VideoToolbox VP9 hwaccel freezes ffmpeg
FFmpeg
trac at avcodec.org
Thu Jul 27 02:11:38 EEST 2023
#9599: VideoToolbox VP9 hwaccel freezes ffmpeg
-------------------------------------+-------------------------------------
Reporter: Eric Karnes | Owner: (none)
Type: defect | Status: reopened
Priority: normal | Component:
| undetermined
Version: git-master | Resolution:
Keywords: | Blocked By:
videotoolbox vp9 |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by Eric Karnes):
I've grabbed a backtrace of the freeze using lldb
{{{
(lldb) thread info -s
thread #1: tid = 0x5c4f8, 0x00007ff81a0d08ec
libsystem_pthread.dylib`_pthread_cond_updateval + 1, queue = 'com.apple
.main-thread', stop reason = instruction step into
(lldb) thread list
Process 40009 stopped
* thread #1: tid = 0x5c4f8, 0x00007ff81a0d08ec
libsystem_pthread.dylib`_pthread_cond_updateval + 1, queue = 'com.apple
.main-thread', stop reason = instruction step into
thread #2: tid = 0x5c4fc, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #3: tid = 0x5c4fd, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #4: tid = 0x5c4ff, 0x00007ff81a095162
libsystem_kernel.dylib`__workq_kernreturn + 10
thread #5: tid = 0x5c50a, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #6: tid = 0x5c50b, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #7: tid = 0x5c50c, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #8: tid = 0x5c50d, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #9: tid = 0x5c50e, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #10: tid = 0x5c50f, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #11: tid = 0x5c510, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #12: tid = 0x5c511, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
thread #13: tid = 0x5c512, 0x00007ff81a0965e6
libsystem_kernel.dylib`__psynch_cvwait + 10
(lldb) bt all
* thread #1, queue = 'com.apple.main-thread', stop reason = instruction
step into
* frame #0: 0x00007ff81a0d08ec
libsystem_pthread.dylib`_pthread_cond_updateval + 1
frame #1: 0x00007ff81a0d37df
libsystem_pthread.dylib`_pthread_cond_wait + 1327
frame #2: 0x000000010aef9f6b
ffmpeg_g`tq_receive(tq=0x0000611000003b00, stream_idx=0x00007ff7b50c96e0,
data=0x0000616000005180) at thread_queue.c:202:13
frame #3: 0x000000010ae39078
ffmpeg_g`dec_packet(ist=0x0000614000000440, pkt=0x0000610000010340,
no_eof=0) at ffmpeg_dec.c:791:15
frame #4: 0x000000010af1a86a
ffmpeg_g`process_input_packet(ist=0x0000614000000440,
pkt=0x0000610000010340, no_eof=0) at ffmpeg.c:820:15
frame #5: 0x000000010af1c0ad ffmpeg_g`process_input(file_index=0) at
ffmpeg.c:1144:11
frame #6: 0x000000010af18ac3
ffmpeg_g`transcode_step(ost=0x0000617000000780) at ffmpeg.c:1171:11
frame #7: 0x000000010af154a2
ffmpeg_g`transcode(err_rate_exceeded=0x00007ff7b50ca0c0) at
ffmpeg.c:1232:15
frame #8: 0x000000010af14d9a ffmpeg_g`main(argc=15,
argv=0x00007ff7b50ca4e0) at ffmpeg.c:1358:11
frame #9: 0x00007ff819d4a3a6 dyld`start + 1942
thread #2
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x00007ff8247741c1 CoreMedia`WaitOnConditionTimed + 82
frame #3: 0x00007ff82475620d CoreMedia`FigSemaphoreWaitRelative + 161
frame #4: 0x00007ff8291c9701
VideoToolbox`VTDecompressionSessionWaitForAsynchronousFrames + 708
frame #5: 0x000000010ea63577
ffmpeg_g`videotoolbox_session_decode_frame(avctx=0x0000619000026780) at
videotoolbox.c:729:18
frame #6: 0x000000010ea61d0c
ffmpeg_g`ff_videotoolbox_common_end_frame(avctx=0x0000619000026780,
frame=0x0000616000005780) at videotoolbox.c:1021:14
frame #7: 0x000000010ea6af13
ffmpeg_g`videotoolbox_vp9_end_frame(avctx=0x0000619000026780) at
videotoolbox_vp9.c:125:12
frame #8: 0x000000010ed05998
ffmpeg_g`vp9_decode_frame(avctx=0x0000619000026780,
frame=0x0000616000005480, got_frame=0x0000700001f5d360,
pkt=0x0000610000002a40) at vp9.c:1648:15
frame #9: 0x000000010d02eb34
ffmpeg_g`decode_simple_internal(avctx=0x0000619000026780,
frame=0x0000616000005480, discarded_samples=0x0000700001f5d3e0) at
decode.c:431:20
frame #10: 0x000000010d02e00b
ffmpeg_g`decode_simple_receive_frame(avctx=0x0000619000026780,
frame=0x0000616000005480) at decode.c:605:15
frame #11: 0x000000010d01ab09
ffmpeg_g`decode_receive_frame_internal(avctx=0x0000619000026780,
frame=0x0000616000005480) at decode.c:633:15
frame #12: 0x000000010d01a552
ffmpeg_g`avcodec_send_packet(avctx=0x0000619000026780,
avpkt=0x0000610000008040) at decode.c:730:15
frame #13: 0x000000010ae3ed84
ffmpeg_g`packet_decode(ist=0x0000614000000440, pkt=0x0000610000008040,
frame=0x000061600000ff80) at ffmpeg_dec.c:555:11
frame #14: 0x000000010ae3db3b
ffmpeg_g`decoder_thread(arg=0x0000614000000440) at ffmpeg_dec.c:702:15
frame #15: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #16: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start +
15
thread #3
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa744f8
ffmpeg_g`av_thread_message_queue_send_locked(mq=0x0000611000003c40,
msg=0x0000700001fe0c80, flags=0) at threadmessage.c:129:9
frame #3: 0x000000010fa743e0
ffmpeg_g`av_thread_message_queue_send(mq=0x0000611000003c40,
msg=0x0000700001fe0c80, flags=0) at threadmessage.c:166:11
frame #4: 0x000000010ae5b473
ffmpeg_g`input_thread(arg=0x0000612000000640) at ffmpeg_demux.c:650:15
frame #5: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #6: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #4
frame #0: 0x00007ff81a095162 libsystem_kernel.dylib`__workq_kernreturn
+ 10
frame #1: 0x00007ff81a0cfca0 libsystem_pthread.dylib`_pthread_wqthread
+ 416
frame #2: 0x00007ff81a0ceb97 libsystem_pthread.dylib`start_wqthread +
15
thread #5
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa716a3
ffmpeg_g`thread_worker(v=0x0000619000028a80) at slicethread.c:82:13
frame #3: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #4: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #6
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa716a3
ffmpeg_g`thread_worker(v=0x0000619000028b08) at slicethread.c:82:13
frame #3: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #4: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #7
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa716a3
ffmpeg_g`thread_worker(v=0x0000619000028b90) at slicethread.c:82:13
frame #3: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #4: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #8
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa716a3
ffmpeg_g`thread_worker(v=0x0000619000028c18) at slicethread.c:82:13
frame #3: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #4: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #9
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa716a3
ffmpeg_g`thread_worker(v=0x0000619000028ca0) at slicethread.c:82:13
frame #3: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #4: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #10
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa716a3
ffmpeg_g`thread_worker(v=0x0000619000028d28) at slicethread.c:82:13
frame #3: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #4: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #11
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa716a3
ffmpeg_g`thread_worker(v=0x0000619000028db0) at slicethread.c:82:13
frame #3: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #4: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #12
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010fa716a3
ffmpeg_g`thread_worker(v=0x0000619000028e38) at slicethread.c:82:13
frame #3: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #4: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
thread #13
frame #0: 0x00007ff81a0965e6 libsystem_kernel.dylib`__psynch_cvwait +
10
frame #1: 0x00007ff81a0d376b
libsystem_pthread.dylib`_pthread_cond_wait + 1211
frame #2: 0x000000010aef9f6b
ffmpeg_g`tq_receive(tq=0x00006110000043c0, stream_idx=0x0000700002687e40,
data=0x0000610000030040) at thread_queue.c:202:13
frame #3: 0x000000010aea3d62
ffmpeg_g`muxer_thread(arg=0x0000611000002fc0) at ffmpeg_mux.c:215:15
frame #4: 0x00007ff81a0d3202 libsystem_pthread.dylib`_pthread_start +
99
frame #5: 0x00007ff81a0cebab libsystem_pthread.dylib`thread_start + 15
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9599#comment:17>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list