Opened 6 years ago

Closed 6 years ago

#6866 closed defect (fixed)

SIGSEV with libvmaf

Reported by: Ilya87 Owned by:
Priority: important Component: avfilter
Version: git-master Keywords: libvmaf crash SIGSEGV
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
How to reproduce:

ffmpeg -i "Orig_x264.mkv" -i "Orig.mkv" -lavfi libvmaf -f null -
ffmpeg version n3.5.dev.1435.g7d4fe0c5cb, also bug appears on 3.4
built on gcc 7.2.0 Arch Linux x86_64

report:

ffmpeg version N-89231-g7d4fe0c5cb Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-libvmaf --enable-version3
  libavutil      56.  2.100 / 56.  2.100
  libavcodec     58.  3.105 / 58.  3.105
  libavformat    58.  2.102 / 58.  2.102
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  4.100 /  7.  4.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.                               
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.                
Reading option '-i' ... matched as input url with argument '/home/ilya/Video/Test/Xamd/Xamd_orig_x264.mkv'.        
Reading option '-i' ... matched as input url with argument '/home/ilya/Video/Test/Xamd/Xamd_orig.mkv'.             
Reading option '-lavfi' ... matched as option 'lavfi' (create a complex filtergraph) with argument 'libvmaf'.      
Reading option '-f' ... matched as option 'f' (force format) with argument 'null'.                                 
Reading option '-' ... matched as output url.                                                                      
Finished splitting the commandline.                                                                                
Parsing a group of options: global .                                                                               
Applying option v (set logging level) with argument 9.                                                             
Applying option lavfi (create a complex filtergraph) with argument libvmaf.                                        
Successfully parsed a group of options.                                                                            
Parsing a group of options: input url /home/ilya/Video/Test/Xamd/Xamd_orig_x264.mkv.                               
Successfully parsed a group of options.                                                                            
Opening an input file: /home/ilya/Video/Test/Xamd/Xamd_orig_x264.mkv.                                              
[NULL @ 0x55fbdfc9fc00] Opening '/home/ilya/Video/Test/Xamd/Xamd_orig_x264.mkv' for reading                        
[file @ 0x55fbdfca0600] Setting default whitelist 'file,crypto'                                                    
Probing matroska,webm score:100 size:2048                                                                          
Probing mp3 score:1 size:2048                                                                                      
[matroska,webm @ 0x55fbdfc9fc00] Format matroska,webm probed with size=2048 and score=100                          
st:0 removing common factor 50000 from timebase                                                                    
[matroska,webm @ 0x55fbdfc9fc00] Before avformat_find_stream_info() pos: 219 bytes read:32768 seeks:0 nb_streams:1 
[h264 @ 0x55fbdfca2380] nal_unit_type: 7, nal_ref_idc: 3                                                           
[h264 @ 0x55fbdfca2380] nal_unit_type: 8, nal_ref_idc: 3                                                           
[h264 @ 0x55fbdfca2380] nal_unit_type: 7, nal_ref_idc: 3                                                           
[h264 @ 0x55fbdfca2380] nal_unit_type: 8, nal_ref_idc: 3                                                           
[h264 @ 0x55fbdfca2380] nal_unit_type: 6, nal_ref_idc: 0                                                           
[h264 @ 0x55fbdfca2380] nal_unit_type: 5, nal_ref_idc: 3                                                           
[h264 @ 0x55fbdfca2380] Reinit context to 720x416, pix_fmt: yuv420p                                                
[h264 @ 0x55fbdfca2380] no picture                                                                                 
[matroska,webm @ 0x55fbdfc9fc00] All info found                                                                    
[matroska,webm @ 0x55fbdfc9fc00] rfps: 23.416667 0.018173                                                          
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 23.500000 0.013178
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 23.583333 0.008987
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 23.666667 0.005599
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 23.750000 0.003014
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 23.833333 0.001233
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 23.916667 0.000255
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 24.000000 0.000080
[matroska,webm @ 0x55fbdfc9fc00] rfps: 24.083333 0.000708                                                          
[matroska,webm @ 0x55fbdfc9fc00] rfps: 24.166667 0.002140                                                          
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 24.250000 0.004376
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 24.333333 0.007414
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 24.416667 0.011256
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 24.500000 0.015901
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfc9fc00] rfps: 48.000000 0.000319
[matroska,webm @ 0x55fbdfc9fc00] rfps: 120.000000 0.001996                                                         
[matroska,webm @ 0x55fbdfc9fc00] rfps: 240.000000 0.007984                                                         
[matroska,webm @ 0x55fbdfc9fc00] rfps: 23.976024 0.000048                                                          
[matroska,webm @ 0x55fbdfc9fc00] rfps: 47.952048 0.000191                                                          
[matroska,webm @ 0x55fbdfc9fc00] Setting avg frame rate based on r frame rate                                      
[matroska,webm @ 0x55fbdfc9fc00] stream 0: start_time: 0.000 duration: -461168601842738.812                        
[matroska,webm @ 0x55fbdfc9fc00] format: start_time: 0.000 duration: 91.550 bitrate=1198 kb/s                      
[matroska,webm @ 0x55fbdfc9fc00] After avformat_find_stream_info() pos: 201110 bytes read:229376 seeks:0 frames:24 
Input #0, matroska,webm, from '/home/ilya/Video/Test/Xamd/Xamd_orig_x264.mkv':                                     
  Metadata:
    encoder         : Haali Matroska Writer b0
  Duration: 00:01:31.55, start: 0.000000, bitrate: 1198 kb/s
    Stream #0:0(eng), 24, 1/20000: Video: h264 (High), 1 reference frame, yuv420p(progressive, left), 720x406 (720x416), 0/1, SAR 1:1 DAR 360:203, 23.98 fps, 23.98 tbr, 20k tbn, 2k tbc (default)
Successfully opened the file.
Parsing a group of options: input url /home/ilya/Video/Test/Xamd/Xamd_orig.mkv.                                    
Successfully parsed a group of options.                                                                            
Opening an input file: /home/ilya/Video/Test/Xamd/Xamd_orig.mkv.                                                   
[NULL @ 0x55fbdfdc9a00] Opening '/home/ilya/Video/Test/Xamd/Xamd_orig.mkv' for reading                             
[file @ 0x55fbdfca2960] Setting default whitelist 'file,crypto'                                                    
Probing matroska,webm score:100 size:2048                                                                          
Probing mp3 score:1 size:2048                                                                                      
[matroska,webm @ 0x55fbdfdc9a00] Format matroska,webm probed with size=2048 and score=100                          
st:0 removing common factor 1000000 from timebase                                                                  
[matroska,webm @ 0x55fbdfdc9a00] Before avformat_find_stream_info() pos: 667 bytes read:32768 seeks:0 nb_streams:1 
[matroska,webm @ 0x55fbdfdc9a00] parser not found for codec ffv1, packets or times may be invalid.                 
    Last message repeated 1 times                                                                                  
[matroska,webm @ 0x55fbdfdc9a00] All info found
[matroska,webm @ 0x55fbdfdc9a00] stream 0: start_time: 0.000 duration: -9223372036854776.000                       
[matroska,webm @ 0x55fbdfdc9a00] format: start_time: 0.000 duration: 91.591 bitrate=20717 kb/s                     
[matroska,webm @ 0x55fbdfdc9a00] After avformat_find_stream_info() pos: 137719 bytes read:137719 seeks:0 frames:1  
Input #1, matroska,webm, from '/home/ilya/Video/Test/Xamd/Xamd_orig.mkv':                                          
  Metadata:
    ENCODER         : Lavf57.83.100
  Duration: 00:01:31.59, start: 0.000000, bitrate: 20717 kb/s
    Stream #1:0, 1, 1/1000: Video: ffv1, 1 reference frame (FFV1 / 0x31564646), yuv420p, 720x406, 0/1, SAR 255:254 DAR 45900:25781, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      DURATION        : 00:01:31.591000000
Successfully opened the file.

gdb bt

#0  0x00007ffff4a5e39e in pthread_join () from /usr/lib/libpthread.so.0
#1  0x00007ffff76c0a6c in ?? () from /usr/lib/libavfilter.so.7
#2  0x00007ffff771aecc in avfilter_free () from /usr/lib/libavfilter.so.7
#3  0x00007ffff771cead in avfilter_graph_free () from /usr/lib/libavfilter.so.7
#4  0x000055555556eb89 in init_complex_filtergraph (fg=0x5555557cab00) at fftools/ffmpeg_filter.c:369
#5  0x000055555556a4e3 in init_complex_filters () at fftools/ffmpeg_opt.c:2098
#6  ffmpeg_parse_options (argc=<optimized out>, argv=<optimized out>) at fftools/ffmpeg_opt.c:3343
#7  0x00005555555600dd in main (argc=10, argv=0x7fffffffe778) at fftools/ffmpeg.c:4785

gdb disass $pc-32,$pc+32

Dump of assembler code from 0x7ffff4a5e37e to 0x7ffff4a5e3be:
   0x00007ffff4a5e37e:  add    %al,(%rax)
   0x00007ffff4a5e380 <pthread_join+0>: push   %r15
   0x00007ffff4a5e382 <pthread_join+2>: push   %r14
   0x00007ffff4a5e384 <pthread_join+4>: push   %r13
   0x00007ffff4a5e386 <pthread_join+6>: push   %r12
   0x00007ffff4a5e388 <pthread_join+8>: push   %rbp
   0x00007ffff4a5e389 <pthread_join+9>: push   %rbx
   0x00007ffff4a5e38a <pthread_join+10>:        sub    $0x38,%rsp
   0x00007ffff4a5e38e <pthread_join+14>:        mov    %fs:0x28,%rax
   0x00007ffff4a5e397 <pthread_join+23>:        mov    %rax,0x28(%rsp)
   0x00007ffff4a5e39c <pthread_join+28>:        xor    %eax,%eax
=> 0x00007ffff4a5e39e <pthread_join+30>:        mov    0x2d0(%rdi),%eax
   0x00007ffff4a5e3a4 <pthread_join+36>:        test   %eax,%eax
   0x00007ffff4a5e3a6 <pthread_join+38>:        js     0x7ffff4a5e4e0 <pthread_join+352>
   0x00007ffff4a5e3ac <pthread_join+44>:        cmp    %rdi,0x628(%rdi)
   0x00007ffff4a5e3b3 <pthread_join+51>:        mov    %rdi,%rbx
   0x00007ffff4a5e3b6 <pthread_join+54>:        mov    $0x16,%eax
   0x00007ffff4a5e3bb <pthread_join+59>:        je     0x7ffff4a5e47e <pthread_join+254>
End of assembler dump.

info all-registers

rax            0x0      0
rbx            0x5555557f2480   93824994976896
rcx            0x0      0
rdx            0x5555557f2508   93824994977032
rsi            0x0      0
rdi            0x0      0
rbp            0x5555557f2508   0x5555557f2508
rsp            0x7fffffffd740   0x7fffffffd740
r8             0x0      0
r9             0x5555557aed70   93824994700656
r10            0x2cd    717
r11            0x7ffff771ce80   140737344818816
r12            0x5555557f2530   93824994977072
r13            0x1      1
r14            0x5555557cea80   93824994830976
r15            0x5555557d1780   93824994842496
rip            0x7ffff4a5e39e   0x7ffff4a5e39e <pthread_join+30>
eflags         0x10246  [ PF ZF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
st0            -nan(0x1c1c1c1c1c1c1c1c) (raw 0xffff1c1c1c1c1c1c1c1c)
st1            -nan(0x1c1c1c1c1c1c1c1c) (raw 0xffff1c1c1c1c1c1c1c1c)
st2            -nan(0x1c1c1c1c1c1c1c1c) (raw 0xffff1c1c1c1c1c1c1c1c)
st3            -nan(0x1d1d1d1d1d1d1d1d) (raw 0xffff1d1d1d1d1d1d1d1d)
st4            -nan(0x1d1d1d1d1d1d1d1d) (raw 0xffff1d1d1d1d1d1d1d1d)
st5            -nan(0x1d1d1d1d1d1d1d1d) (raw 0xffff1d1d1d1d1d1d1d1d)
st6            -nan(0x1d1d1d1d1d1d1d1d) (raw 0xffff1d1d1d1d1d1d1d1d)
st7            -nan(0x1d1d1d1d1d1d1d1d) (raw 0xffff1d1d1d1d1d1d1d1d)
fctrl          0x37f    895
fstat          0x0      0
ftag           0xffff   65535
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]
ymm0           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x6c, 0x69, 0x62, 0x76, 0x6d, 0x61, 0x66, 0x0 <repeats 25 times>}, v16_int16 = {0x696c, 0x7662, 
    0x616d, 0x66, 0x0 <repeats 12 times>}, v8_int32 = {0x7662696c, 0x66616d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 
  v4_int64 = {0x66616d7662696c, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000066616d7662696c, 
    0x00000000000000000000000000000000}}
ymm1           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm2           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm3           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm4           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0xff, 0x0 <repeats 31 times>}, v16_int16 = {0xff, 0x0 <repeats 15 times>}, v8_int32 = {0xff, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0xff, 0x0, 0x0, 0x0}, v2_int128 = {
    0x000000000000000000000000000000ff, 0x00000000000000000000000000000000}}
ymm5           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm6           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm7           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm8           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm9           {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x8000000000000000, 
    0x8000000000000000, 0x0, 0x0}, v32_int8 = {0xff <repeats 16 times>, 0x0 <repeats 16 times>}, v16_int16 = {
    0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 
  v8_int32 = {0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {
    0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0}, v2_int128 = {0xffffffffffffffffffffffffffffffff, 
    0x00000000000000000000000000000000}}
ymm10          {v8_float = {0x0, 0x3412c740, 0x33939380, 0x33939380, 0x0, 0x0, 0x0, 0x0}, v4_double = {
    0x8000000000000000, 0x8000000000000000, 0x0, 0x0}, v32_int8 = {0x7e, 0x9f, 0xc2, 0xed, 0x1d, 0x4b, 0x50, 
    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x0 <repeats 16 times>}, v16_int16 = {0x9f7e, 0xedc2, 
    0x4b1d, 0x4e50, 0x4e4e, 0x4e4e, 0x4e4e, 0x4e4e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int32 = {
    0xedc29f7e, 0x4e504b1d, 0x4e4e4e4e, 0x4e4e4e4e, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x4e504b1dedc29f7e, 
    0x4e4e4e4e4e4e4e4e, 0x0, 0x0}, v2_int128 = {0x4e4e4e4e4e4e4e4e4e504b1dedc29f7e, 
    0x00000000000000000000000000000000}}
ymm11          {v8_float = {0x30000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x8000000000000000, 
    0x8000000000000000, 0x0, 0x0}, v32_int8 = {0x23, 0x34, 0x45, 0x59, 0x67, 0x69, 0x6a, 0x69, 0x69, 0x69, 0x69, 
    0x69, 0x69, 0x69, 0x69, 0x69, 0x0 <repeats 16 times>}, v16_int16 = {0x3423, 0x5945, 0x6967, 0x696a, 0x6969, 
    0x6969, 0x6969, 0x6969, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int32 = {0x59453423, 0x696a6967, 
    0x69696969, 0x69696969, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x696a696759453423, 0x6969696969696969, 0x0, 0x0}, 
  v2_int128 = {0x6969696969696969696a696759453423, 0x00000000000000000000000000000000}}
ymm12          {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0 <repeats 25 times>}, v16_int16 = {0x1, 0x101, 0x1, 0x1, 
    0x0 <repeats 12 times>}, v8_int32 = {0x1010001, 0x10001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {
    0x1000101010001, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000001000101010001, 
    0x00000000000000000000000000000000}}
ymm13          {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm14          {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x00000000000000000000000000000000, 
    0x00000000000000000000000000000000}}
ymm15          {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0}, 
  v32_int8 = {0x1 <repeats 16 times>, 0x0 <repeats 16 times>}, v16_int16 = {0x101, 0x101, 0x101, 0x101, 0x101, 
    0x101, 0x101, 0x101, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int32 = {0x1010101, 0x1010101, 0x1010101, 
    0x1010101, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x101010101010101, 0x101010101010101, 0x0, 0x0}, v2_int128 = {
    0x01010101010101010101010101010101, 0x00000000000000000000000000000000}}

Attachments (3)

Xamd_orig__x264.mkv (710.1 KB ) - added by Ilya87 6 years ago.
Xamd_orig_cut.mkv (2.3 MB ) - added by Carl Eugen Hoyos 6 years ago.
Xamd_x264_cut.mkv (125.4 KB ) - added by Carl Eugen Hoyos 6 years ago.

Change History (9)

by Ilya87, 6 years ago

Attachment: Xamd_orig__x264.mkv added

comment:2 by Ilya87, 6 years ago

I see in log that x264 file transforms from 720x406 to 720x416 (Reinit context to 720x416) while original ffv1 file for stays unchanged. Can this be the reason of SIGSEV and how to check it?

backtrace from unoptimized ffmpeg:

#0  0x00007ffff434439e in pthread_join () from /usr/lib/libpthread.so.0
#1  0x00007ffff76eb6a0 in uninit (ctx=0x5555557fbce0) at libavfilter/vf_libvmaf.c:301
#2  0x00007ffff75dc497 in avfilter_free (filter=0x5555557fbce0) at libavfilter/avfilter.c:804
#3  0x00007ffff75de955 in avfilter_graph_free (graph=0x7fffffffe508) at libavfilter/avfiltergraph.c:126
#4  0x000055555556e6c0 in init_complex_filtergraph (fg=0x5555557d3b00) at fftools/ffmpeg_filter.c:369
#5  0x0000555555567cfd in init_complex_filters () at fftools/ffmpeg_opt.c:2098
#6  0x000055555556cfe2 in ffmpeg_parse_options (argc=10, argv=0x7fffffffe7c8) at fftools/ffmpeg_opt.c:3343
#7  0x000055555558cab1 in main (argc=10, argv=0x7fffffffe7c8) at fftools/ffmpeg.c:4785
Last edited 6 years ago by Ilya87 (previous) (diff)

comment:3 by Carl Eugen Hoyos, 6 years ago

Keywords: crash added
Priority: normalimportant

Does valgrind show something useful?

comment:4 by Ilya87, 6 years ago

valgrind /usr/bin/ffmpeg -i /home/ilya/Video/Test/Xamd/Xamd_origx264.mkv -i /home/ilya/Video/Test/Xamd/Xamd_orig_.mkv -lavfi libvmaf -f null -

==28496== Memcheck, a memory error detector
==28496== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==28496== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==28496== Command: /usr/bin/ffmpeg -i /home/ilya/Video/Test/Xamd/Xamd_orig__x264.mkv -i /home/ilya/Video/Test/Xamd/Xamd_orig_.mkv -lavfi libvmaf -f null -
==28496== 
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
--28496-- Warning: DWARF2 CFI reader: unhandled DW_OP_ opcode 0x13
ffmpeg version N-89240-gf6d49a0dc8 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --prefix=/usr --enable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-libvmaf --disable-optimizations --enable-debug=3 --disable-stripping --enable-version3
  libavutil      56.  3.100 / 56.  3.100
  libavcodec     58.  3.105 / 58.  3.105
  libavformat    58.  2.102 / 58.  2.102
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  4.100 /  7.  4.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Input #0, matroska,webm, from '/home/ilya/Video/Test/Xamd/Xamd_orig__x264.mkv':
  Metadata:
    encoder         : Haali Matroska Writer b0
  Duration: 00:00:04.96, start: 0.000000, bitrate: 1172 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 720x406, SAR 1:1 DAR 360:203, 23.98 fps, 23.98 tbr, 20k tbn, 2k tbc (default)
Input #1, matroska,webm, from '/home/ilya/Video/Test/Xamd/Xamd_orig_.mkv':
  Metadata:
    ENCODER         : Lavf57.83.100
  Duration: 00:00:05.01, start: 0.000000, bitrate: 22921 kb/s
    Stream #1:0: Video: ffv1 (FFV1 / 0x31564646), yuv420p(progressive), 720x406, SAR 255:254 DAR 45900:25781, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ENCODER         : Lavc57.107.100 ffv1
      DURATION        : 00:00:05.005000000
==28496== Invalid read of size 4
==28496==    at 0x86BF39E: pthread_join (in /usr/lib/libpthread-2.26.so)
==28496==    by 0x524069F: uninit (vf_libvmaf.c:301)
==28496==    by 0x5131496: avfilter_free (avfilter.c:804)
==28496==    by 0x5133954: avfilter_graph_free (avfiltergraph.c:126)
==28496==    by 0x1226BF: init_complex_filtergraph (ffmpeg_filter.c:369)
==28496==    by 0x11BCFC: init_complex_filters (ffmpeg_opt.c:2098)
==28496==    by 0x120FE1: ffmpeg_parse_options (ffmpeg_opt.c:3343)
==28496==    by 0x140AB0: main (ffmpeg.c:4785)
==28496==  Address 0x2d0 is not stack'd, malloc'd or (recently) free'd
==28496== 
==28496== 
==28496== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==28496==  Access not within mapped region at address 0x2D0
==28496==    at 0x86BF39E: pthread_join (in /usr/lib/libpthread-2.26.so)
==28496==    by 0x524069F: uninit (vf_libvmaf.c:301)
==28496==    by 0x5131496: avfilter_free (avfilter.c:804)
==28496==    by 0x5133954: avfilter_graph_free (avfiltergraph.c:126)
==28496==    by 0x1226BF: init_complex_filtergraph (ffmpeg_filter.c:369)
==28496==    by 0x11BCFC: init_complex_filters (ffmpeg_opt.c:2098)
==28496==    by 0x120FE1: ffmpeg_parse_options (ffmpeg_opt.c:3343)
==28496==    by 0x140AB0: main (ffmpeg.c:4785)
==28496==  If you believe this happened as a result of a stack
==28496==  overflow in your program's main thread (unlikely but
==28496==  possible), you can try to increase the size of the
==28496==  main thread stack using the --main-stacksize= flag.
==28496==  The main thread stack size used in this run was 8388608.
==28496== 
==28496== HEAP SUMMARY:
==28496==     in use at exit: 1,113,503 bytes in 1,045 blocks
==28496==   total heap usage: 2,367 allocs, 1,322 frees, 4,655,455 bytes allocated
==28496== 
==28496== LEAK SUMMARY:
==28496==    definitely lost: 0 bytes in 0 blocks
==28496==    indirectly lost: 0 bytes in 0 blocks
==28496==      possibly lost: 0 bytes in 0 blocks
==28496==    still reachable: 1,113,503 bytes in 1,045 blocks
==28496==         suppressed: 0 bytes in 0 blocks
==28496== Rerun with --leak-check=full to see details of leaked memory
==28496== 
==28496== For counts of detected and suppressed errors, rerun with: -v
==28496== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

comment:5 by Carl Eugen Hoyos, 6 years ago

Keywords: SIGSEGV added
Reproduced by developer: set
Status: newopen

Not a regression, also reproducible with shorter files (attached).

by Carl Eugen Hoyos, 6 years ago

Attachment: Xamd_orig_cut.mkv added

by Carl Eugen Hoyos, 6 years ago

Attachment: Xamd_x264_cut.mkv added

comment:6 by Carl Eugen Hoyos, 6 years ago

Resolution: fixed
Status: openclosed

I suspect this was fixed by Kevin Wheatley in 51775bc1cdeff04b836422be66e8098146aedcce

Note: See TracTickets for help on using tickets.