[FFmpeg-trac] #1844(undetermined:new): Crash when trying to join two video files

FFmpeg trac at avcodec.org
Wed Oct 24 15:42:10 CEST 2012


#1844: Crash when trying to join two video files
-------------------------------------+-------------------------------------
             Reporter:  thegeek      |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 '''Summary of the bug:'''

 I get a segmentation fault when trying to join two video files.
 My ffmpeg is built using my own cross-compiling toolchain. The toolchain
 itself was built with the mxe cross-development project.
 I've updated the components in the toolchain to the latest version (e.g.
 gcc/mingw-w64 4.7.2).

 I can reproduce the crash with git master as well as version 1.0, but only
 when I do the compile with my own cross-compiling toolchain, and only when
 I have asm enabled. If I compile with --disable-asm I can not reproduce.
 I can not reproduce it with e.g. Zeranoe's win32 builds.

 '''How to reproduce:'''

 Unfortunately I can not give a repro case for any precompiled binaries
 that are publicly available, but I can probably upload the binaries I've
 compiled if anyone needs them.

 I can reproduce the crash very reliably with my own binaries, here is the
 full command line I'm using:
 {{{
 % ffmpeg -i ..\..\Introduction_a.mkv -i ..\..\lesson.wmv -filter_complex
 "[1:1] setsar=1:1 [lv]; [0:0] [0:1] [lv] [1:0] concat=n=2:v=1:a=1 [a] [v]"
 -map "[a]" -map "[v]" -vcodec mpeg4 -v:q 7 output.mkv
 ffmpeg version N-45928-g8b03cd3 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Oct 24 2012 12:18:03 with gcc 4.7.2 (GCC)
   configuration: --cross-prefix=/home/swingcatalyst/mxe/build-
 ffmpeg/../../mxe/mxe-multitarget-static/usr/bin/x86_64-static-mingw32-
 --enable-cross-compile --arch=x86_64 --target-os=mingw32
 --prefix=/home/swingcatalyst/mxe/build-ffmpeg/install/ffmpeg-git-x86_64
 -shared-install --disable-static --enable-shared --disable-postproc
 --disable-pthreads --enable-runtime-cpudetect --enable-bzlib --enable-
 libfreetype --enable-libmp3lame --enable-libspeex --enable-libtheora
 --enable-libvorbis --enable-libvpx --enable-zlib --disable-stripping
   libavutil      52.  0.100 / 52.  0.100
   libavcodec     54. 68.100 / 54. 68.100
   libavformat    54. 34.100 / 54. 34.100
   libavdevice    54.  3.100 / 54.  3.100
   libavfilter     3. 20.105 /  3. 20.105
   libswscale      2.  1.101 /  2.  1.101
   libswresample   0. 16.100 /  0. 16.100
 Input #0, matroska,webm, from '..\..\Introduction_a.mkv':
   Metadata:
     ENCODER         : Lavf54.29.104
   Duration: 00:00:06.29, start: 0.000000, bitrate: 2678 kb/s
     Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p, 1920x1200 [SAR
 1:1 DAR 8:5], 24 fps, 24 tbr, 1k tbn, 24 tbc (default)
     Stream #0:1: Audio: mp3, 44100 Hz, mono, s16, 64 kb/s (default)
 [wmv3 @ 00000000019DDD40] Extra data: 8 bits left, value: 20
 Guessed Channel Layout for  Input Stream #1.0 : stereo
 Input #1, asf, from '..\..\lesson.wmv':
   Metadata:
     WMFSDKVersion   : 12.0.9200.16384
     WMFSDKNeeded    : 0.0.0.0000
     IsVBR           : 0
   Duration: 00:00:24.03, start: 0.000000, bitrate: 1713 kb/s
     Stream #1:0(nor): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz,
 stereo, fltp, 96 kb/s
     Stream #1:1(nor): Video: wmv3 (Simple) (WMV3 / 0x33564D57), yuv420p,
 1920x1200, 2000 kb/s, 7 tbr, 1k tbn, 1k tbc
 [Parsed_setsar_0 @ 0000000003570A00] num:den syntax is deprecated, please
 use num/den or named options instead
 File 'output.mkv' already exists. Overwrite ? [y/N] y
 }}}

 '''Debug info'''

 I used my cross-compiling mingw toolchain to build gdb, with it I can get
 the following backtrace at the time of the segmentation fault:
 {{{
 % C:\WORK\ffmpeg\ffmpeg-git-x86_64-shared-
 install\bin>C:\WORK\ffmpeg\gdb.exe --args ffmpeg -i
 ..\..\Introduction_a.mkv -i ..\..\lesson.wmv -filter_complex "[1:1]
 setsar=1:1 [lv]; [0:0] [0:1] [lv] [1:0] concat=n=2:v=1:a=1 [a] [v]" -map
 "[a]" -map "[v]" -vcodec mpeg4 -q:v 7 output.mkv"
 GNU gdb (GDB) 7.5
 Copyright (C) 2012 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>
 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-static-mingw32".
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>...
 Reading symbols from C:\WORK\ffmpeg\ffmpeg-git-x86_64-shared-
 install\bin\ffmpeg.exe...done.
 (gdb) run
 Starting program: C:\WORK\ffmpeg\ffmpeg-git-x86_64-shared-
 install\bin\ffmpeg.exe -i ..\..\Introduction_a.mkv -i ..\..\lesson.wmv
 -filter_complex "[1:1] setsar=1:1 [lv]; [0:0] [0:1]
  [lv] [1:0] concat=n=2:v=1:a=1 [a] [v]" -map "[a]" -map "[v]" -vcodec
 mpeg4 -q:v 7 output.mkv
 [New Thread 10656.0x2b18]
 ffmpeg version N-45928-g8b03cd3 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Oct 24 2012 12:18:03 with gcc 4.7.2 (GCC)
   configuration: --cross-prefix=/home/swingcatalyst/mxe/build-
 ffmpeg/../../mxe/mxe-multitarget-static/usr/bin/x86_64-static-mingw32-
 --enable-cross-compile --arch=x86_64 --target-os=mingw32
 --prefix=/home/swingcatalyst/mxe/build-ffmpeg/install/ffmpeg-git-x86_64
 -shared-install --disable-static --enable-shared --disable-postproc
 --disable-pthreads --enable-runtime-cpudetect --enable-bzlib --enable-
 libfreetype --enable-libmp3lame --enable-libspeex --enable-libtheora
 --enable-libvorbis --enable-libvpx --enable-zlib --disable-stripping
   libavutil      52.  0.100 / 52.  0.100
   libavcodec     54. 68.100 / 54. 68.100
   libavformat    54. 34.100 / 54. 34.100
   libavdevice    54.  3.100 / 54.  3.100
   libavfilter     3. 20.105 /  3. 20.105
   libswscale      2.  1.101 /  2.  1.101
   libswresample   0. 16.100 /  0. 16.100
 Input #0, matroska,webm, from '..\..\Introduction_a.mkv':
   Metadata:
     ENCODER         : Lavf54.29.104
   Duration: 00:00:06.29, start: 0.000000, bitrate: 2678 kb/s
     Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p, 1920x1200 [SAR
 1:1 DAR 8:5], 24 fps, 24 tbr, 1k tbn, 24 tbc (default)
     Stream #0:1: Audio: mp3, 44100 Hz, mono, s16, 64 kb/s (default)
 [wmv3 @ 00000000019DDD40] Extra data: 8 bits left, value: 20
 Guessed Channel Layout for  Input Stream #1.0 : stereo
 Input #1, asf, from '..\..\lesson.wmv':
   Metadata:
     WMFSDKVersion   : 12.0.9200.16384
     WMFSDKNeeded    : 0.0.0.0000
     IsVBR           : 0
   Duration: 00:00:24.03, start: 0.000000, bitrate: 1713 kb/s
     Stream #1:0(nor): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz,
 stereo, fltp, 96 kb/s
     Stream #1:1(nor): Video: wmv3 (Simple) (WMV3 / 0x33564D57), yuv420p,
 1920x1200, 2000 kb/s, 7 tbr, 1k tbn, 1k tbc
 [Parsed_setsar_0 @ 0000000003570A00] num:den syntax is deprecated, please
 use num/den or named options instead
 File 'output.mkv' already exists. Overwrite ? [y/N] y
 [New Thread 10656.0x24]
 [New Thread 10656.0xc98]
 [New Thread 10656.0x1c84]
 [New Thread 10656.0x23a8]
 [New Thread 10656.0x28c0]
 [New Thread 10656.0x2604]
 [New Thread 10656.0x2318]
 [New Thread 10656.0x1a98]
 [New Thread 10656.0x144c]
 [New Thread 10656.0x21e8]
 Extra data: 8 bits left, value: 20
 Output #0, matroska, to 'output.mkv':
   Metadata:
     encoder         : Lavf54.34.100
     Stream #0:0: Video: mpeg4, yuv420p, 1920x1200 [SAR 1:1 DAR 8:5],
 q=2-31, 200 kb/s, 1k tbn, 24 tbc
     Stream #0:1: Audio: vorbis, 44100 Hz, mono, fltp
 Stream mapping:
   Stream #0:0 (mpeg4) -> concat:in0:v0
   Stream #0:1 (mp3) -> concat:in0:a0
   Stream #1:0 (wmav2) -> concat:in1:a0
   Stream #1:1 (wmv3) -> setsar
   concat:out:v0 -> Stream #0:0 (mpeg4)
   concat:out:a0 -> Stream #0:1 (libvorbis)
 Press [q] to stop, [?] for help
 100 buffers queued in output stream 0:1, something may be wrong.te=
 871.8kbits/s

 Program received signal SIGSEGV, Segmentation fault.
 0x00000000707cd0e8 in ff_mix_2_1_a_float_avx () from C:\WORK\ffmpeg
 \ffmpeg-git-x86_64-shared-install\bin\swresample-0.dll
 (gdb) backtrace
 #0  0x00000000707cd0e8 in ff_mix_2_1_a_float_avx () from C:\WORK\ffmpeg
 \ffmpeg-git-x86_64-shared-install\bin\swresample-0.dll
 #1  0x00000000707c4147 in swri_rematrix (s=s at entry=0x3168b80,
 out=out at entry=0x23de00, in=in at entry=0x3168c30, len=len at entry=8192,
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1844>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list