[FFmpeg-trac] #5059(avformat:new): ffserver crash at init_muxer
FFmpeg
trac at avcodec.org
Fri Dec 4 20:31:18 CET 2015
#5059: ffserver crash at init_muxer
----------------------------------+--------------------------------------
Reporter: tdk | Type: defect
Status: new | Priority: normal
Component: avformat | Version: git-master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
----------------------------------+--------------------------------------
Summary of the bug:
freshly compiled ffmpeg from git version git-2015-12-04-5d2cc00 on a 64
bit centos 6.7 crashes at init_muxer.
How to reproduce:
{{{
[tdk at webserver ~]$ ffserver -f ffmpeg_sources/ffmpeg/doc/ffserver.conf
ffserver version git-2015-12-04-5d2cc00 Copyright (c) 2000-2015 the FFmpeg
developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
configuration: --prefix=/home/tdk/ffmpeg_build --extra-
cflags=-I/home/tdk/ffmpeg_build/include --extra-
ldflags=-L/home/tdk/ffmpeg_build/lib --bindir=/home/tdk/bin --pkg-config-
flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-
libfreetype --enable-libmp3lame --enable-libvorbis --enable-libx264
--disable-optimizations --enable-static --disable-shared --disable-mmx
--disable-stripping --enable-debug=3 --extra-cflags='-O0 -fno-inline'
libavutil 55. 9.100 / 55. 9.100
libavcodec 57. 16.101 / 57. 16.101
libavformat 57. 19.100 / 57. 19.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 20.100 / 6. 20.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
ffmpeg_sources/ffmpeg/doc/ffserver.conf:164: Setting default value for
video bit rate tolerance = 21333. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:164: Setting default value for
video rate control equation = tex^qComp. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:164: Setting default value for
video max rate = 128000. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
audio sample rate = 22050. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
audio channel count = 1. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
video bit rate tolerance = 64000. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
video rate control equation = tex^qComp. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
video max rate = 512000. Use NoDefaults to disable it.
Fri Dec 4 18:13:56 2015 Deleting feed file '/tmp/feed1.ffm' as it appears
to be corrupt
Segmentation fault
}}}
{{{
[tdk at webserver ~]$ gdb ffserver
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-83.el6)
Copyright (C) 2010 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-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/tdk/bin/ffserver...done.
(gdb) r -f ffmpeg_sources/ffmpeg/doc/ffserver.conf
Starting program: /home/tdk/bin/ffserver -f
ffmpeg_sources/ffmpeg/doc/ffserver.conf
[Thread debugging using libthread_db enabled]
ffserver version git-2015-12-04-5d2cc00 Copyright (c) 2000-2015 the FFmpeg
developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
configuration: --prefix=/home/tdk/ffmpeg_build --extra-
cflags=-I/home/tdk/ffmpeg_build/include --extra-
ldflags=-L/home/tdk/ffmpeg_build/lib --bindir=/home/tdk/bin --pkg-config-
flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-
libfreetype --enable-libmp3lame --enable-libvorbis --enable-libx264
--disable-optimizations --enable-static --disable-shared --disable-mmx
--disable-stripping --enable-debug=3 --extra-cflags='-O0 -fno-inline'
libavutil 55. 9.100 / 55. 9.100
libavcodec 57. 16.101 / 57. 16.101
libavformat 57. 19.100 / 57. 19.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 20.100 / 6. 20.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
ffmpeg_sources/ffmpeg/doc/ffserver.conf:164: Setting default value for
video bit rate tolerance = 21333. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:164: Setting default value for
video rate control equation = tex^qComp. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:164: Setting default value for
video max rate = 128000. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
audio sample rate = 22050. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
audio channel count = 1. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
video bit rate tolerance = 64000. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
video rate control equation = tex^qComp. Use NoDefaults to disable it.
ffmpeg_sources/ffmpeg/doc/ffserver.conf:219: Setting default value for
video max rate = 512000. Use NoDefaults to disable it.
Fri Dec 4 18:18:09 2015 Deleting feed file '/tmp/feed1.ffm' as it appears
to be corrupt
Program received signal SIGSEGV, Segmentation fault.
0x00000000004fc66b in init_muxer (s=0x2117d10, options=0x0) at
libavformat/mux.c:341
341 st->internal->reorder = 1;
(gdb) bt
#0 0x00000000004fc66b in init_muxer (s=0x2117d10, options=0x0) at
libavformat/mux.c:341
#1 0x00000000004fcb96 in avformat_write_header (s=0x2117d10, options=0x0)
at libavformat/mux.c:456
#2 0x000000000041a6d1 in build_feed_streams () at ffserver.c:3751
#3 0x000000000041ac43 in main (argc=3, argv=0x7fffffffe718) at
ffserver.c:3897
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x4fc64b to 0x4fc68b:
0x00000000004fc64b <init_muxer+1264>: cmpq $0x0,-0x20(%rbp)
0x00000000004fc650 <init_muxer+1269>: je 0x4fc671
<init_muxer+1302>
0x00000000004fc652 <init_muxer+1271>: mov -0x20(%rbp),%rax
0x00000000004fc656 <init_muxer+1275>: mov 0x18(%rax),%eax
0x00000000004fc659 <init_muxer+1278>: and $0x8,%eax
0x00000000004fc65c <init_muxer+1281>: test %eax,%eax
0x00000000004fc65e <init_muxer+1283>: je 0x4fc671
<init_muxer+1302>
0x00000000004fc660 <init_muxer+1285>: mov -0x38(%rbp),%rax
0x00000000004fc664 <init_muxer+1289>: mov 0x308(%rax),%rax
=> 0x00000000004fc66b <init_muxer+1296>: movl $0x1,(%rax)
0x00000000004fc671 <init_muxer+1302>: mov -0x28(%rbp),%rax
0x00000000004fc675 <init_muxer+1306>: mov 0x30(%rax),%rax
0x00000000004fc679 <init_muxer+1310>: test %rax,%rax
0x00000000004fc67c <init_muxer+1313>: je 0x4fc7e6
<init_muxer+1675>
0x00000000004fc682 <init_muxer+1319>: mov -0x30(%rbp),%rax
0x00000000004fc686 <init_muxer+1323>: mov 0x3c(%rax),%eax
0x00000000004fc689 <init_muxer+1326>: test %eax,%eax
End of assembler dump.
(gdb) info all-registers
rax 0x0 0
rbx 0x1 1
rcx 0x0 0
rdx 0x0 0
rsi 0x100000000 4294967296
rdi 0x1 1
rbp 0x7fffffffe470 0x7fffffffe470
rsp 0x7fffffffe3b0 0x7fffffffe3b0
r8 0x2105610 34625040
r9 0x445e1e 4480542
r10 0x0 0
r11 0x7ffff7009e39 140737337400889
r12 0x404c00 4213760
r13 0x7fffffffe710 140737488348944
r14 0x0 0
r15 0x0 0
rip 0x4fc66b 0x4fc66b <init_muxer+1296>
eflags 0x10202 [ IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 -nan(0x000000010) (raw 0xffff0000000000000010)
st1 -nan(0x000000030) (raw 0xffff0000000000000030)
st2 -nan(0x1e000000000000) (raw 0xffff001e000000000000)
st3 -nan(0x00000001e) (raw 0xffff000000000000001e)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 -inf (raw 0xffff0000000000000000)
fctrl 0x37f 895
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, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
0x1, 0x1,
0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x101, 0x101, 0x101, 0x101, 0x101,
0x0}, v4_int32 = {0x0, 0x1010101, 0x1010101, 0x101}, v2_int64 =
{0x101010100000000,
0x10101010101}, uint128 = 0x00000101010101010101010100000000}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double =
{0x8000000000000000, 0x0}, v16_int8 = {0x2f, 0x74, 0x6d, 0x70, 0x2f, 0x66,
0x65, 0x65, 0x64,
0x31, 0x2e, 0x66, 0x66, 0x6d, 0x0, 0x0}, v8_int16 = {0x742f, 0x706d,
0x662f, 0x6565, 0x3164, 0x662e, 0x6d66, 0x0}, v4_int32 = {0x706d742f,
0x6565662f,
0x662e3164, 0x6d66}, v2_int64 = {0x6565662f706d742f, 0x6d66662e3164},
uint128 = 0x00006d66662e31646565662f706d742f}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double =
{0x8000000000000000, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0xff, 0xff,
0xff, 0xff, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0xffff, 0xffff,
0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0xffffffff, 0x0, 0x0}, v2_int64 = {
0xffffffff00000000, 0x0}, uint128 =
0x0000000000000000ffffffff00000000}
xmm4 {v4_float = {0x3, 0x3, 0x3, 0x3}, v2_double = {0x20, 0x20},
v16_int8 = {0x40 <repeats 16 times>}, v8_int16 = {0x4040, 0x4040, 0x4040,
0x4040, 0x4040, 0x4040, 0x4040, 0x4040}, v4_int32 = {0x40404040,
0x40404040, 0x40404040, 0x40404040}, v2_int64 = {0x4040404040404040,
0x4040404040404040}, uint128 = 0x40404040404040404040404040404040}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double =
{0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x5b <repeats 16
times>}, v8_int16 = {
0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b, 0x5b5b},
v4_int32 = {0x5b5b5b5b, 0x5b5b5b5b, 0x5b5b5b5b, 0x5b5b5b5b}, v2_int64 = {
0x5b5b5b5b5b5b5b5b, 0x5b5b5b5b5b5b5b5b}, uint128 =
0x5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x20 <repeats 16 times>}, v8_int16 = {0x2020, 0x2020, 0x2020,
0x2020,
0x2020, 0x2020, 0x2020, 0x2020}, v4_int32 = {0x20202020, 0x20202020,
0x20202020, 0x20202020}, v2_int64 = {0x2020202020202020,
0x2020202020202020},
---Type <return> to continue, or q <return> to quit---
}}}
Patches should be submitted to the ffmpeg-devel mailing list and not this
bug tracker.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5059>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list