Opened 11 years ago

Closed 11 years ago

#2896 closed defect (fixed)

Using video filters "fieldmatch" and "yadif" together causes crash

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

Description

Trying to detelecine a video as shown on the filter page specifically using fieldmatch and yadif together causes FFmpeg to crash.
It does not,however, crash at the same point each attempt.

How to reproduce:

% ffmpeg -i in.mkv -vcodec mpeg2video -vf fieldmatch=order=tff:combmatch=full,yadif=deint=interlaced,decimate out.mkv
ffmpeg git version b99d3613cfdb5714a3c0e18b0db209280d879a10
built on Windows 7(x64)

I did two attempts and logged both. I've attached the FFmpeg logs for both and below are the GDB output for each.

Attempt 1

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 6320.0x1750]
0x0046e4ce in filter_line_c (dst1=0xa0b1303, prev1=0x9b84973, cur1=0x9082793, 
    next1=0xa006b83, w=710, prefs=768, mrefs=-768, parity=1, mode=0)
    at libavfilter/vf_yadif.c:108
108	    FILTER(0, w, 1)
#0  0x0046e4ce in filter_line_c (dst1=0xa0b1303, prev1=0x9b84973, 
    cur1=0x9082793, next1=0xa006b83, w=710, prefs=768, mrefs=-768, parity=1, 
    mode=0) at libavfilter/vf_yadif.c:108
#1  0x00471629 in filter_slice (ctx=0x47ff340, arg=0x28f348, jobnr=4, 
    nb_jobs=5) at libavfilter/vf_yadif.c:204
#2  0x0042a4ab in worker (v=0x6024060) at libavfilter/pthread.c:88
#3  0x6248b4c1 in ptw32_threadStart@4 () from c:\MinGW\bin\pthreadGC2.dll
#4  0x76541287 in msvcrt!_itow_s () from C:\Windows\syswow64\msvcrt.dll
#5  0x76541328 in msvcrt!_endthreadex () from C:\Windows\syswow64\msvcrt.dll
#6  0x767933aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
   from C:\Windows\syswow64\kernel32.dll
#7  0x0742ffd4 in ?? ()
#8  0x77739f72 in ntdll!RtlpNtSetValueKey ()
   from C:\Windows\system32\ntdll.dll
#9  0x047fe8a8 in ?? ()
#10 0x77739f45 in ntdll!RtlpNtSetValueKey ()
   from C:\Windows\system32\ntdll.dll
#11 0x765412e5 in msvcrt!_endthreadex () from C:\Windows\syswow64\msvcrt.dll
#12 0x00000000 in ?? ()

Dump of assembler code from 0x46e4ae to 0x46e4ee:
   0x0046e4ae <filter_line_c+482>:	decb   0xf3c246c(%ebx)
   0x0046e4b4 <filter_line_c+488>:	mov    $0x6c,%dh
   0x0046e4b6 <filter_line_c+490>:	add    $0x246c8900,%eax
   0x0046e4bb <filter_line_c+495>:	or     $0x2b,%al
   0x0046e4bd <filter_line_c+497>:	insb   (%dx),%es:(%edi)
   0x0046e4be <filter_line_c+498>:	and    $0x8,%al
   0x0046e4c0 <filter_line_c+500>:	mov    %ebp,0x14(%esp)
   0x0046e4c4 <filter_line_c+504>:	js     0x46e774 <filter_line_c+1192>
   0x0046e4ca <filter_line_c+510>:	mov    0x38(%esp),%ebp
=> 0x0046e4ce <filter_line_c+514>:	movzbl 0x0(%ebp,%eax,1),%ebp
   0x0046e4d3 <filter_line_c+519>:	mov    %ebp,0xc(%esp)
   0x0046e4d7 <filter_line_c+523>:	sub    0x4(%esp),%ebp
   0x0046e4db <filter_line_c+527>:	js     0x46e76c <filter_line_c+1184>
   0x0046e4e1 <filter_line_c+533>:	add    0x14(%esp),%ebp
   0x0046e4e5 <filter_line_c+537>:	sar    %ebp
   0x0046e4e7 <filter_line_c+539>:	cmp    %ebp,%esi
   0x0046e4e9 <filter_line_c+541>:	jge    0x46e4ed <filter_line_c+545>
   0x0046e4eb <filter_line_c+543>:	mov    %ebp,%esi
   0x0046e4ed <filter_line_c+545>:	sub    %ebx,%edi
End of assembler dump.

eax            0x17d	381
ecx            0x9082610	151528976
edx            0x9082c10	151530512
ebx            0x4a	74
esp            0x742fdbc	0x742fdbc
ebp            0xa006e83	0xa006e83
esi            0x3	3
edi            0x46	70
eip            0x46e4ce	0x46e4ce <filter_line_c+514>
eflags         0x10213	[ CF AF IF RF ]
cs             0x23	35
ss             0x2b	43
ds             0x2b	43
es             0x2b	43
fs             0x53	83
gs             0x2b	43
st0            0	(raw 0x00000000000000000000)
st1            0	(raw 0x00000000000000000000)
st2            0	(raw 0x00000000000000000000)
st3            0	(raw 0x00000000000000000000)
st4            0	(raw 0x00000000000000000000)
st5            0	(raw 0x00000000000000000000)
st6            0	(raw 0x00000000000000000000)
st7            0	(raw 0x00000000000000000000)
fctrl          0x27f	639
fstat          0x0	0
ftag           0xffff	65535
fiseg          0x0	0
fioff          0x0	0
foseg          0x0	0
fooff          0x0	0
fop            0x0	0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
mxcsr          0x1f80	[ IM DM ZM OM UM PM ]
mm0            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}

Attempt 2

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 6040.0x498]
0x0046e4ce in filter_line_c (dst1=0x9ebd923, prev1=0x9063ef3, cur1=0x9f60213, 
    next1=0xa1b9b03, w=710, prefs=768, mrefs=-768, parity=1, mode=0)
    at libavfilter/vf_yadif.c:108
108	    FILTER(0, w, 1)
#0  0x0046e4ce in filter_line_c (dst1=0x9ebd923, prev1=0x9063ef3, 
    cur1=0x9f60213, next1=0xa1b9b03, w=710, prefs=768, mrefs=-768, parity=1, 
    mode=0) at libavfilter/vf_yadif.c:108
#1  0x00471629 in filter_slice (ctx=0x3af380, arg=0x28f348, jobnr=4, 
    nb_jobs=5) at libavfilter/vf_yadif.c:204
#2  0x0042a4ab in worker (v=0x4844060) at libavfilter/pthread.c:88
#3  0x6248b4c1 in ptw32_threadStart@4 () from c:\MinGW\bin\pthreadGC2.dll
#4  0x76541287 in msvcrt!_itow_s () from C:\Windows\syswow64\msvcrt.dll
#5  0x76541328 in msvcrt!_endthreadex () from C:\Windows\syswow64\msvcrt.dll
#6  0x767933aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
   from C:\Windows\syswow64\kernel32.dll
#7  0x0752ffd4 in ?? ()
#8  0x77739f72 in ntdll!RtlpNtSetValueKey ()
   from C:\Windows\system32\ntdll.dll
#9  0x003aedc0 in ?? ()
#10 0x77739f45 in ntdll!RtlpNtSetValueKey ()
   from C:\Windows\system32\ntdll.dll
#11 0x765412e5 in msvcrt!_endthreadex () from C:\Windows\syswow64\msvcrt.dll
#12 0x00000000 in ?? ()

Dump of assembler code from 0x46e4ae to 0x46e4ee:
   0x0046e4ae <filter_line_c+482>:	decb   0xf3c246c(%ebx)
   0x0046e4b4 <filter_line_c+488>:	mov    $0x6c,%dh
   0x0046e4b6 <filter_line_c+490>:	add    $0x246c8900,%eax
   0x0046e4bb <filter_line_c+495>:	or     $0x2b,%al
   0x0046e4bd <filter_line_c+497>:	insb   (%dx),%es:(%edi)
   0x0046e4be <filter_line_c+498>:	and    $0x8,%al
   0x0046e4c0 <filter_line_c+500>:	mov    %ebp,0x14(%esp)
   0x0046e4c4 <filter_line_c+504>:	js     0x46e774 <filter_line_c+1192>
   0x0046e4ca <filter_line_c+510>:	mov    0x38(%esp),%ebp
=> 0x0046e4ce <filter_line_c+514>:	movzbl 0x0(%ebp,%eax,1),%ebp
   0x0046e4d3 <filter_line_c+519>:	mov    %ebp,0xc(%esp)
   0x0046e4d7 <filter_line_c+523>:	sub    0x4(%esp),%ebp
   0x0046e4db <filter_line_c+527>:	js     0x46e76c <filter_line_c+1184>
   0x0046e4e1 <filter_line_c+533>:	add    0x14(%esp),%ebp
   0x0046e4e5 <filter_line_c+537>:	sar    %ebp
   0x0046e4e7 <filter_line_c+539>:	cmp    %ebp,%esi
   0x0046e4e9 <filter_line_c+541>:	jge    0x46e4ed <filter_line_c+545>
   0x0046e4eb <filter_line_c+543>:	mov    %ebp,%esi
   0x0046e4ed <filter_line_c+545>:	sub    %ebx,%edi
End of assembler dump.

eax            0x1fd	509
ecx            0x9f60110	167117072
edx            0x9f60710	167118608
ebx            0x12	18
esp            0x752fdbc	0x752fdbc
ebp            0xa1b9e03	0xa1b9e03
esi            0x0	0
edi            0x12	18
eip            0x46e4ce	0x46e4ce <filter_line_c+514>
eflags         0x10202	[ IF RF ]
cs             0x23	35
ss             0x2b	43
ds             0x2b	43
es             0x2b	43
fs             0x53	83
gs             0x2b	43
st0            0	(raw 0x00000000000000000000)
st1            0	(raw 0x00000000000000000000)
st2            0	(raw 0x00000000000000000000)
st3            0	(raw 0x00000000000000000000)
st4            0	(raw 0x00000000000000000000)
st5            0	(raw 0x00000000000000000000)
st6            0	(raw 0x00000000000000000000)
st7            0	(raw 0x00000000000000000000)
fctrl          0x27f	639
fstat          0x0	0
ftag           0xffff	65535
fiseg          0x0	0
fioff          0x0	0
foseg          0x0	0
fooff          0x0	0
fop            0x0	0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
mxcsr          0x1f80	[ IM DM ZM OM UM PM ]
mm0            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}

Attachments (6)

ffmpeg-crash-fieldmatch-yadif-log-attempt-1.log (466.0 KB ) - added by Mornix 11 years ago.
The first attempt which got much farther before crashing.
ffmpeg-crash-fieldmatch-yadif-log-attempt-2.log (81.0 KB ) - added by Mornix 11 years ago.
The second attempt which crashed ~9s into the video.
crash-fieldmatch-yadif-sample_cut.mkv (97.7 KB ) - added by Carl Eugen Hoyos 11 years ago.
valgrindnoasm.log (27.7 KB ) - added by Carl Eugen Hoyos 11 years ago.
valgrindyadif.log (74.3 KB ) - added by Carl Eugen Hoyos 11 years ago.
ffmpeg-crash-fieldmatch-yadif-log-3.log (252.8 KB ) - added by Mornix 11 years ago.

Download all attachments as: .zip

Change History (11)

by Mornix, 11 years ago

The first attempt which got much farther before crashing.

by Mornix, 11 years ago

The second attempt which crashed ~9s into the video.

comment:1 by Carl Eugen Hoyos, 11 years ago

Please provide the input sample.

comment:2 by Mornix, 11 years ago

Here is the input file I used.

comment:3 by Carl Eugen Hoyos, 11 years ago

Keywords: yadif crash SIGSEGV added
Priority: normalimportant

by Carl Eugen Hoyos, 11 years ago

by Carl Eugen Hoyos, 11 years ago

Attachment: valgrindnoasm.log added

by Carl Eugen Hoyos, 11 years ago

Attachment: valgrindyadif.log added

comment:4 by Mornix, 11 years ago

I expanded the macro that GDB was showing where the crash occurred on the latest commit (93cf7b01950b9d8e1646227752b522d0275d32df) and this is the GDB output:

Starting program: ffmpeg_g.exe -v 9 -loglevel 99 -report -i crash-fieldmatch-yadif-sample.mkv -vcodec mpeg2video -vf fieldmatch=order=tff:combmatch=full,yadif=deint=interlaced,decimate out.mkv
[New Thread 6328.0x1f98]
[New Thread 6328.0x150c]
[New Thread 6328.0x1300]
[New Thread 6328.0x1a74]
[New Thread 6328.0x478]
[New Thread 6328.0x80c]
[New Thread 6328.0x1e44]
[New Thread 6328.0x1f94]
[New Thread 6328.0x1a30]
[New Thread 6328.0x14b4]
[New Thread 6328.0x18b4]
[New Thread 6328.0x580]
[New Thread 6328.0x134c]
[New Thread 6328.0xc2c]
[New Thread 6328.0x173c]
[New Thread 6328.0x1ef4]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 6328.0x80c]
0x0046e4ce in filter_line_c (dst1=0xa05c6e3, prev1=0x90b3e13, cur1=0x9df6073, 
    next1=0xa15ecc3, w=710, prefs=768, mrefs=-768, parity=1, mode=0)
    at libavfilter/vf_yadif.c:115
115	        int temporal_diff2 =(FFABS(next[mrefs] - c) + FFABS(next[prefs] - e) )>>1; 
#0  0x0046e4ce in filter_line_c (dst1=0xa05c6e3, prev1=0x90b3e13, 
    cur1=0x9df6073, next1=0xa15ecc3, w=710, prefs=768, mrefs=-768, parity=1, 
    mode=0) at libavfilter/vf_yadif.c:115
#1  0x00471629 in filter_slice (ctx=0x4869fa0, arg=0x28f348, jobnr=4, 
    nb_jobs=5) at libavfilter/vf_yadif.c:244
#2  0x0042a4ab in worker (v=0x48d9960) at libavfilter/pthread.c:88
#3  0x6248b4c1 in ptw32_threadStart@4 () from C:\MinGW\bin\pthreadGC2.dll
#4  0x766e1287 in msvcrt!_itow_s () from C:\Windows\syswow64\msvcrt.dll
#5  0x766e1328 in msvcrt!_endthreadex () from C:\Windows\syswow64\msvcrt.dll
#6  0x75d133aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
   from C:\Windows\syswow64\kernel32.dll
#7  0x0741ffd4 in ?? ()
#8  0x76ee9f72 in ntdll!RtlpNtSetValueKey ()
   from C:\Windows\system32\ntdll.dll
#9  0x04869a68 in ?? ()
#10 0x76ee9f45 in ntdll!RtlpNtSetValueKey ()
   from C:\Windows\system32\ntdll.dll
#11 0x766e12e5 in msvcrt!_endthreadex () from C:\Windows\syswow64\msvcrt.dll
#12 0x00000000 in ?? ()
Dump of assembler code from 0x46e4ae to 0x46e4ee:
   0x0046e4ae <filter_line_c+482>:	decb   0xf3c246c(%ebx)
   0x0046e4b4 <filter_line_c+488>:	mov    $0x6c,%dh
   0x0046e4b6 <filter_line_c+490>:	add    $0x246c8900,%eax
   0x0046e4bb <filter_line_c+495>:	or     $0x2b,%al
   0x0046e4bd <filter_line_c+497>:	insb   (%dx),%es:(%edi)
   0x0046e4be <filter_line_c+498>:	and    $0x8,%al
   0x0046e4c0 <filter_line_c+500>:	mov    %ebp,0x14(%esp)
   0x0046e4c4 <filter_line_c+504>:	js     0x46e774 <filter_line_c+1192>
   0x0046e4ca <filter_line_c+510>:	mov    0x38(%esp),%ebp
=> 0x0046e4ce <filter_line_c+514>:	movzbl 0x0(%ebp,%eax,1),%ebp
   0x0046e4d3 <filter_line_c+519>:	mov    %ebp,0xc(%esp)
   0x0046e4d7 <filter_line_c+523>:	sub    0x4(%esp),%ebp
   0x0046e4db <filter_line_c+527>:	js     0x46e76c <filter_line_c+1184>
   0x0046e4e1 <filter_line_c+533>:	add    0x14(%esp),%ebp
   0x0046e4e5 <filter_line_c+537>:	sar    %ebp
   0x0046e4e7 <filter_line_c+539>:	cmp    %ebp,%esi
   0x0046e4e9 <filter_line_c+541>:	jge    0x46e4ed <filter_line_c+545>
   0x0046e4eb <filter_line_c+543>:	mov    %ebp,%esi
   0x0046e4ed <filter_line_c+545>:	sub    %ebx,%edi
End of assembler dump.
eax            0x3d	61
ecx            0x9df5db0	165633456
edx            0x9df63b0	165634992
ebx            0x12	18
esp            0x741fdbc	0x741fdbc
ebp            0xa15efc3	0xa15efc3
esi            0x0	0
edi            0x12	18
eip            0x46e4ce	0x46e4ce <filter_line_c+514>
eflags         0x10202	[ IF RF ]
cs             0x23	35
ss             0x2b	43
ds             0x2b	43
es             0x2b	43
fs             0x53	83
gs             0x2b	43
st0            0	(raw 0x00000000000000000000)
st1            0	(raw 0x00000000000000000000)
st2            0	(raw 0x00000000000000000000)
st3            0	(raw 0x00000000000000000000)
st4            0	(raw 0x00000000000000000000)
st5            0	(raw 0x00000000000000000000)
st6            0	(raw 0x00000000000000000000)
st7            0	(raw 0x00000000000000000000)
fctrl          0x27f	639
fstat          0x0	0
ftag           0xffff	65535
fiseg          0x0	0
fioff          0x0	0
foseg          0x0	0
fooff          0x0	0
fop            0x0	0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
mxcsr          0x1f80	[ IM DM ZM OM UM PM ]
mm0            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}

I've attached the log (ffmpeg-crash-fieldmatch-yadif-log-3.log).

comment:5 by Michael Niedermayer, 11 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.