[FFmpeg-trac] #3465(ffmpeg:new): FFmpeg segfault with simple parameter combination

FFmpeg trac at avcodec.org
Sat Mar 15 14:13:04 CET 2014

#3465: FFmpeg segfault with simple parameter combination
             Reporter:               |                     Type:  defect
  ahthovaikied                       |                 Priority:  important
               Status:  new          |                  Version:  git-
            Component:  ffmpeg       |  master
             Keywords:  segfault     |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
 Using this simple command line, ffmpeg triggers a segfault:
 {{{ffmpeg -i any_mp3_file.mp3 -filter_complex channelsplit -map_channel
 0.0.1 -f null /dev/null}}}

 More info with gdb:
 /tmp/ffmpeg [master|✔] $ gdb --args ./ffmpeg -i any_mp3_file.mp3
 -filter_complex channelsplit -map_channel 0.0.1 -f null /dev/null
 GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
 Copyright (C) 2012 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "x86_64-linux-gnu".
 For bug reporting instructions, please see:
 Reading symbols from /tmp/ffmpeg/ffmpeg...done.
 (gdb) run
 Starting program: /tmp/ffmpeg/ffmpeg -i any_mp3_file.mp3 -filter_complex
 channelsplit -map_channel 0.0.1 -f null /dev/null
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
 ffmpeg version N-61476-g847d8af Copyright (c) 2000-2014 the FFmpeg
   built on Mar 15 2014 13:55:39 with gcc 4.6 (Ubuntu/Linaro
   configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-
 static --disable-runtime-cpudetect --disable-ffserver --disable-
 encoder=vorbis --disable-encoder=aac --enable-x11grab --enable-libfdk-aac
 --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
 --enable-libopus --enable-librtmp --enable-libtheora --enable-libvorbis
 --enable-libvpx --enable-libx264 --enable-libxvid --enable-debug
 --disable-stripping --cpu=corei7
   libavutil      52. 66.101 / 52. 66.101
   libavcodec     55. 52.102 / 55. 52.102
   libavformat    55. 34.101 / 55. 34.101
   libavdevice    55. 11.100 / 55. 11.100
   libavfilter     4.  3.100 /  4.  3.100
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 18.100 /  0. 18.100
   libpostproc    52.  3.100 / 52.  3.100
 [mp3 @ 0x18589c0] Estimating duration from bitrate, this may be inaccurate
 Input #0, mp3, from '/media/Data/Documents/Virtual Barbershop.mp3':
   Duration: 00:04:29.14, start: 0.000000, bitrate: 192 kb/s
     Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 192 kb/s
 [New Thread 0x7fffefa52700 (LWP 30412)]
 [New Thread 0x7fffef251700 (LWP 30413)]
 [New Thread 0x7fffeea50700 (LWP 30414)]
 [New Thread 0x7fffee24f700 (LWP 30415)]
 [New Thread 0x7fffeda4e700 (LWP 30416)]
 [New Thread 0x7fffed24d700 (LWP 30417)]
 [New Thread 0x7fffeca4c700 (LWP 30418)]
 [New Thread 0x7fffec24b700 (LWP 30419)]
 [New Thread 0x7fffeba4a700 (LWP 30420)]

 Program received signal SIGSEGV, Segmentation fault.
 0x0000000000474652 in new_audio_stream (o=0x7fffffffdb40, oc=<optimized
 out>, source_index=<optimized out>) at ffmpeg_opt.c:1434
 1434              if ((map->channel_idx == -1 || (ist->file_index ==
 map->file_idx && ist->st->index == map->stream_idx)) &&
 (gdb) bt
 #0  0x0000000000474652 in new_audio_stream (o=0x7fffffffdb40,
 oc=<optimized out>, source_index=<optimized out>) at ffmpeg_opt.c:1434
 #1  0x0000000000477d70 in init_output_filter (ofilter=0x185bf00,
 o=0x7fffffffdb40, oc=0x1869620) at ffmpeg_opt.c:1614
 #2  0x00000000004784b2 in open_output_file (o=0x7fffffffdb40,
 filename=0x7fffffffe508 "/dev/null") at ffmpeg_opt.c:1738
 #3  0x00000000004735cd in open_files (inout=0xd11465 "output",
 open_file=0x477e00 <open_output_file>, l=<optimized out>) at
 #4  0x000000000047a3d9 in ffmpeg_parse_options (argc=<optimized out>,
 argv=<optimized out>) at ffmpeg_opt.c:2642
 #5  0x000000000046b378 in main (argc=10, argv=0x7fffffffe198) at

 Please ignore the parameters, they may be incorrect. I tried to reduce
 them to the minimum to reproduced the segfault.

 Build compiled on Ubuntu 12.04 x64, with GCC 4.6.3.

 Reproduced with normal and debug build from git master (commit 847d8af),
 and older builds from git master too.

Ticket URL: <https://trac.ffmpeg.org/ticket/3465>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list