Opened 6 years ago
Closed 6 years ago
#7802 closed defect (invalid)
libvpx-vp9 encode causes segmentation fault
Reported by: | Karthick Jeyapal | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git-master | Keywords: | libvpx crash |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug: libvpx-vp9 encode causes segmentation fault
lipvpx version : Latest master (v1.8.0-289-g5cde05fda)
ffmpeg version : Latest master (N-93431-g6dc1da416e)
OS : Mac OS 10.14.3 (Mojave)
Platform : MacBook Pro
How to reproduce:
blr-mp4tf:ABR-Broadcaster kjeyapal$ ffmpeg -i ~/Downloads/big_buck_bunny_1080p_stereo.avi -c:v libvpx-vp9 -pix_fmt yuv420p -cpu-used 3 -tile-columns 3 -frame-parallel 1 -deadline realtime -threads 4 -lag-in-frames 0 -b:v 1000k -an out.mp4 ffmpeg version N-93431-g6dc1da416e Copyright (c) 2000-2019 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.11.45.5) configuration: --enable-libx264 --enable-libvpx --enable-gpl libavutil 56. 26.100 / 56. 26.100 libavcodec 58. 47.105 / 58. 47.105 libavformat 58. 26.101 / 58. 26.101 libavdevice 58. 7.100 / 58. 7.100 libavfilter 7. 48.100 / 7. 48.100 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 Input #0, avi, from '/Users/kjeyapal/Downloads/big_buck_bunny_1080p_stereo.avi': Metadata: encoder : MEncoder 2:1.0~rc2-0ubuntu13 Duration: 00:09:56.46, start: 0.000000, bitrate: 9586 kb/s Stream #0:0: Video: msmpeg4v2 (MP42 / 0x3234504D), yuv420p, 1920x1080, 9328 kb/s, 24 fps, 24 tbr, 24 tbn, 24 tbc Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 245 kb/s Stream mapping: Stream #0:0 -> #0:0 (msmpeg4v2 (native) -> vp9 (libvpx-vp9)) Press [q] to stop, [?] for help [libvpx-vp9 @ 0x7f9d34044c00] v1.8.0-289-g5cde05fda Segmentation fault: 11
Change History (4)
comment:1 by , 6 years ago
Keywords: | crash added; ibvpx-vp9 removed |
---|
comment:2 by , 6 years ago
blr-mp4tf:ffmpeg kjeyapal$ lldb ./ffmpeg_g (lldb) target create "./ffmpeg_g" Current executable set to './ffmpeg_g' (x86_64). (lldb) r -i ~/Downloads/big_buck_bunny_1080p_stereo.avi -c:v libvpx-vp9 -pix_fmt yuv420p -cpu-used 3 -tile-columns 3 -frame-parallel 1 -deadline realtime -threads 4 -lag-in-frames 0 -b:v 1000k -an out.mp4 Process 44593 launched: './ffmpeg_g' (x86_64) ffmpeg version N-93431-g6dc1da416e Copyright (c) 2000-2019 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.11.45.5) configuration: --enable-libx264 --enable-libvpx --enable-gpl libavutil 56. 26.100 / 56. 26.100 libavcodec 58. 47.105 / 58. 47.105 libavformat 58. 26.101 / 58. 26.101 libavdevice 58. 7.100 / 58. 7.100 libavfilter 7. 48.100 / 7. 48.100 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 Input #0, avi, from '/Users/kjeyapal/Downloads/big_buck_bunny_1080p_stereo.avi': Metadata: encoder : MEncoder 2:1.0~rc2-0ubuntu13 Duration: 00:09:56.46, start: 0.000000, bitrate: 9586 kb/s Stream #0:0: Video: msmpeg4v2 (MP42 / 0x3234504D), yuv420p, 1920x1080, 9328 kb/s, 24 fps, 24 tbr, 24 tbn, 24 tbc Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 245 kb/s File 'out.mp4' already exists. Overwrite ? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (msmpeg4v2 (native) -> vp9 (libvpx-vp9)) Press [q] to stop, [?] for help [libvpx-vp9 @ 0x10300f200] v1.8.0-289-g5cde05fda Process 44593 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x21af5c8) frame #0: 0x00007fff6808ece8 libsystem_pthread.dylib`__pthread_once_handler + 70 libsystem_pthread.dylib`__pthread_once_handler: -> 0x7fff6808ece8 <+70>: movq %rax, 0x8(%rbx) 0x7fff6808ecec <+74>: movq (%r14), %rax 0x7fff6808ecef <+77>: movq $0x4f4e4345, (%rax) ; imm = 0x4F4E4345 0x7fff6808ecf6 <+84>: addq $0x18, %rsp Target 0: (ffmpeg_g) stopped. (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x21af5c8) * frame #0: 0x00007fff6808ece8 libsystem_pthread.dylib`__pthread_once_handler + 70 frame #1: 0x00007fff68084acb libsystem_platform.dylib`_os_once_callout + 18 frame #2: 0x00007fff6808ec7f libsystem_pthread.dylib`pthread_once + 56 frame #3: 0x00000001010eab7d ffmpeg_g`vp9_initialize_enc + 29 frame #4: 0x00007fff6808ece4 libsystem_pthread.dylib`__pthread_once_handler + 66 frame #5: 0x00007fff68084acb libsystem_platform.dylib`_os_once_callout + 18 frame #6: 0x00007fff6808ec7f libsystem_pthread.dylib`pthread_once + 56 frame #7: 0x0000000101097f81 ffmpeg_g`encoder_init + 193 frame #8: 0x0000000101001df1 ffmpeg_g`vpx_codec_enc_init_ver + 161 frame #9: 0x000000010087f0b4 ffmpeg_g`vpx_init(avctx=0x000000010300f200, iface=<unavailable>) at libvpxenc.c:719 [opt] frame #10: 0x0000000100b77cac ffmpeg_g`avcodec_open2(avctx=0x000000010300f200, codec=0x000000010158f218, options=0x000000010270c560) at utils.c:934 [opt] frame #11: 0x000000010001fefb ffmpeg_g`init_output_stream(ost=<unavailable>, error="", error_len=1024) at ffmpeg.c:3516 [opt] frame #12: 0x00000001000215bc ffmpeg_g`reap_filters(flush=0) at ffmpeg.c:1441 [opt] frame #13: 0x000000010001ab77 ffmpeg_g`transcode [inlined] transcode_step at ffmpeg.c:4645 [opt] frame #14: 0x00000001000192a4 ffmpeg_g`transcode at ffmpeg.c:4689 [opt] frame #15: 0x00000001000165e9 ffmpeg_g`main(argc=<unavailable>, argv=<unavailable>) at ffmpeg.c:4891 [opt] frame #16: 0x00007fff67e9ced9 libdyld.dylib`start + 1 frame #17: 0x00007fff67e9ced9 libdyld.dylib`start + 1 (lldb) register read General Purpose Registers: rax = 0x00007ffeefbfd410 rbx = 0x00000000021af5c0 rcx = 0x0000000000000000 rdx = 0x000000009c000000 rdi = 0x00000000000027ab rsi = 0x000000000000000d rbp = 0x00007ffeefbfd390 rsp = 0x00007ffeefbfd360 r8 = 0x0000000000000012 r9 = 0x00000000ffffffee r10 = 0x00007ffeefbff9f0 r11 = 0xffff800212c2334f r12 = 0x00007fff6808eca2 libsystem_pthread.dylib`__pthread_once_handler r13 = 0x000000010300f200 r14 = 0x00007ffeefbfd3c0 r15 = 0x00007ffeefbfd360 rip = 0x00007fff6808ece8 libsystem_pthread.dylib`__pthread_once_handler + 70 rflags = 0x0000000000010246 cs = 0x000000000000002b fs = 0x0000000000000000 gs = 0x0000000000000000 (lldb) disassemble --pc libsystem_pthread.dylib`__pthread_once_handler: -> 0x7fff6808ece8 <+70>: movq %rax, 0x8(%rbx) 0x7fff6808ecec <+74>: movq (%r14), %rax 0x7fff6808ecef <+77>: movq $0x4f4e4345, (%rax) ; imm = 0x4F4E4345 0x7fff6808ecf6 <+84>: addq $0x18, %rsp (lldb)
Please find backtrace, disassembly and register dump above. Please let me know if anything else is required.
comment:3 by , 6 years ago
The backtrace indicates an issue in libvpx afaict, maybe recompiling libvpx with debug symbols shows the issue in a more readable way.
comment:4 by , 6 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
When I did a "make distclean" and then rebuilt both libvpx and ffmpeg, it started working.
Sorry for the false alarm. Looks like everything was fine.
Please provide backtrace, disassembly and register dump as explained on https://ffmpeg.org/bugreports.html