[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