[FFmpeg-trac] #5347(avfilter:open): Use of borderw with attached font crashes ffmpeg on Windows
FFmpeg
trac at avcodec.org
Thu Mar 17 11:50:33 CET 2016
#5347: Use of borderw with attached font crashes ffmpeg on Windows
------------------------------------+------------------------------------
Reporter: mulvya | Owner:
Type: defect | Status: open
Priority: important | Component: avfilter
Version: git-master | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 1
Analyzed by developer: 0 |
------------------------------------+------------------------------------
Changes (by cehoyos):
* priority: normal => important
* status: new => open
* component: undetermined => avfilter
* reproduced: 0 => 1
Comment:
{{{
(gdb) r -f lavfi -i "color=black:s=1280x720" -filter_complex
"drawtext=fontfile=BPMONO.TTF:text='Hello
World':fontcolor=white at 1.0:fontsize=16:borderw=5:x=w-tw-10:y=10:box=1:boxcolor=black at 0.5"
-qscale 2 -t 5 out.avi
Starting program: ffmpeg_g -f lavfi -i "color=black:s=1280x720"
-filter_complex "drawtext=fontfile=BPMONO.TTF:text='Hello
World':fontcolor=white at 1.0:fontsize=16:borderw=5:x=w-tw-10:y=10:box=1:boxcolor=black at 0.5"
-qscale 2 -t 5 out.avi
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
ffmpeg version N-79068-g6b7ce0e Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 4.7 (SUSE Linux)
configuration: --enable-gpl --enable-libfreetype --enable-fontconfig
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 28.103 / 57. 28.103
libavformat 57. 28.102 / 57. 28.102
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 39.102 / 6. 39.102
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[New Thread 0x7ffff0e05700 (LWP 14955)]
[New Thread 0x7ffff0604700 (LWP 14956)]
[New Thread 0x7fffefe03700 (LWP 14957)]
[New Thread 0x7fffef602700 (LWP 14958)]
[New Thread 0x7fffeee01700 (LWP 14959)]
[New Thread 0x7fffee600700 (LWP 14960)]
[New Thread 0x7fffeddff700 (LWP 14961)]
[New Thread 0x7fffed5fe700 (LWP 14962)]
[New Thread 0x7fffecdfd700 (LWP 14963)]
Input #0, lavfi, from 'color=black:s=1280x720':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720
[SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
[New Thread 0x7fffec4aa700 (LWP 14964)]
[New Thread 0x7fffebca9700 (LWP 14965)]
[New Thread 0x7fffeb4a8700 (LWP 14966)]
[New Thread 0x7fffeaca7700 (LWP 14967)]
[New Thread 0x7fffea4a6700 (LWP 14968)]
[New Thread 0x7fffe9ca5700 (LWP 14969)]
[New Thread 0x7fffe94a4700 (LWP 14970)]
[New Thread 0x7fffe8ca3700 (LWP 14971)]
[New Thread 0x7fffe84a2700 (LWP 14972)]
[Thread 0x7fffe9ca5700 (LWP 14969) exited]
[Thread 0x7fffe84a2700 (LWP 14972) exited]
[Thread 0x7fffec4aa700 (LWP 14964) exited]
[Thread 0x7fffe8ca3700 (LWP 14971) exited]
[Thread 0x7fffea4a6700 (LWP 14968) exited]
[Thread 0x7fffe94a4700 (LWP 14970) exited]
[Thread 0x7fffebca9700 (LWP 14965) exited]
[Thread 0x7fffeaca7700 (LWP 14967) exited]
[Thread 0x7fffeb4a8700 (LWP 14966) exited]
Please use -q:a or -q:v, -qscale is ambiguous
[New Thread 0x7fffe84a2700 (LWP 14973)]
[New Thread 0x7fffe8ca3700 (LWP 14974)]
[New Thread 0x7fffe94a4700 (LWP 14975)]
[New Thread 0x7fffe9ca5700 (LWP 14976)]
[New Thread 0x7fffec4aa700 (LWP 14977)]
[New Thread 0x7fffebca9700 (LWP 14978)]
[New Thread 0x7fffeb4a8700 (LWP 14979)]
[New Thread 0x7fffeaca7700 (LWP 14980)]
[New Thread 0x7fffea4a6700 (LWP 14981)]
[New Thread 0x7fffe7ca1700 (LWP 14982)]
[New Thread 0x7fffe74a0700 (LWP 14983)]
[New Thread 0x7fffe6c9f700 (LWP 14984)]
[New Thread 0x7fffe649e700 (LWP 14985)]
[New Thread 0x7fffe5c9d700 (LWP 14986)]
[New Thread 0x7fffe549c700 (LWP 14987)]
[New Thread 0x7fffe4c9b700 (LWP 14988)]
[New Thread 0x7fffe449a700 (LWP 14989)]
[New Thread 0x7fffe3c99700 (LWP 14990)]
Output #0, avi, to 'out.avi':
Metadata:
ISFT : Lavf57.28.102
Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720 [SAR
1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc57.28.103 mpeg4
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Stream mapping:
Stream #0:0 (rawvideo) -> drawtext
drawtext -> Stream #0:0 (mpeg4)
Press [q] to stop, [?] for help
Program received signal SIGSEGV, Segmentation fault.
draw_text (ctx=ctx at entry=0x1e2baa0, frame=0x1ee23c0, width=1280,
height=720)
at libavfilter/vf_drawtext.c:1228
1228 y_min = FFMIN(glyph->bbox.yMin, y_min);
(gdb) bt
#0 draw_text (ctx=ctx at entry=0x1e2baa0, frame=0x1ee23c0, width=1280,
height=720)
at libavfilter/vf_drawtext.c:1228
#1 0x00000000004f30c0 in filter_frame (inlink=inlink at entry=0x1e39d60,
frame=0x1)
at libavfilter/vf_drawtext.c:1351
#2 0x00000000004b805e in ff_filter_frame_framed
(link=link at entry=0x1e39d60, frame=0x1)
at libavfilter/avfilter.c:1123
#3 0x00000000004b8e47 in ff_filter_frame (link=link at entry=0x1e39d60,
frame=0x1ee2180)
at libavfilter/avfilter.c:1221
#4 0x00000000004bcfc2 in request_frame (link=0x1e39d60) at
libavfilter/buffersrc.c:450
#5 0x00000000004bd25b in av_buffersrc_add_frame_internal
(ctx=ctx at entry=0x1e39160,
frame=frame at entry=0x1ee1d00, flags=flags at entry=4) at
libavfilter/buffersrc.c:239
#6 0x00000000004bd70d in av_buffersrc_add_frame_flags (ctx=0x1e39160,
frame=frame at entry=0x1ee1d00, flags=flags at entry=4) at
libavfilter/buffersrc.c:164
#7 0x0000000000499f92 in decode_video (ist=ist at entry=0x1e1e280,
pkt=pkt at entry=0x7fffffffda00,
got_output=got_output at entry=0x7fffffffd6fc)
at ffmpeg.c:2187
#8 0x000000000049d1bd in process_input_packet (no_eof=0,
pkt=0x7fffffffd9a0, ist=0x1e1e280)
at ffmpeg.c:2331
#9 process_input (file_index=0) at ffmpeg.c:4001
#10 transcode_step () at ffmpeg.c:4089
#11 transcode () at ffmpeg.c:4143
#12 0x000000000047f29b in main (argc=<optimized out>, argv=0x7fffffffdc48)
at ffmpeg.c:4334
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x4f2522 to 0x4f2562:
0x00000000004f2522 <draw_text+546>: rex.R and $0x40,%al
0x00000000004f2525 <draw_text+549>: callq 0x107fde0 <av_tree_find>
0x00000000004f252a <draw_text+554>: test %rax,%rax
0x00000000004f252d <draw_text+557>: mov %rax,0x70(%rsp)
0x00000000004f2532 <draw_text+562>: mov 0x40(%rsp),%r8d
0x00000000004f2537 <draw_text+567>: movslq 0x20(%rsp),%r9
0x00000000004f253c <draw_text+572>: je 0x4f2f19 <draw_text+3097>
=> 0x00000000004f2542 <draw_text+578>: mov 0x70(%rax),%rdx
0x00000000004f2546 <draw_text+582>: movslq %r14d,%r14
0x00000000004f2549 <draw_text+585>: movzbl 0x0(%r13),%ecx
0x00000000004f254e <draw_text+590>: movslq %ebx,%rbx
0x00000000004f2551 <draw_text+593>: movslq %r15d,%r15
0x00000000004f2554 <draw_text+596>: cmp %rdx,%r14
0x00000000004f2557 <draw_text+599>: cmovg %rdx,%r14
0x00000000004f255b <draw_text+603>: mov 0x80(%rax),%rdx
End of assembler dump.
(gdb) info register
rax 0x0 0
rbx 0x7d00 32000
rcx 0x0 0
rdx 0x7ffff5050678 140737304135288
rsi 0x1 1
rdi 0x0 0
rbp 0x1e2bb40 0x1e2bb40
rsp 0x7fffffffce30 0x7fffffffce30
r8 0x0 0
r9 0xffffffffffff8300 -32000
r10 0x0 0
r11 0x7ffff4d360f2 140737300881650
r12 0x1e2baa0 31636128
r13 0x1e2bb7d 31636349
r14 0x7d00 32000
r15 0xffff8300 4294935296
rip 0x4f2542 0x4f2542 <draw_text+578>
eflags 0x10206 [ PF IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5347#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list