Ticket #178 (closed defect: fixed)
ffserver segfault
| Reported by: | andrixnet | Owned by: | baptiste |
|---|---|---|---|
| Priority: | normal | Component: | FFserver |
| Version: | git | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
Using may 8th snapshot, I seem to be unable to use ffserver.
Simply running it with the sample configuration file, I get segfault.
The only thing I changed was commenting these 2 lines in the sample :
#File /tmp/feed1.ffm
#FileMaxSize? 200K
gdb ffserver_g GNU gdb 6.8 Copyright (C) 2008 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 "i486-slackware-linux"... (gdb) r -f ./ffserver.conf Starting program: /root/62/ffserver_g -f ./ffserver.conf [Thread debugging using libthread_db enabled] ffserver version 2011-05-09, Copyright (c) 2000-2011 the FFmpeg developers built on May 9 2011 15:27:56 with gcc 4.2.4 configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/man - -disable-debug --enable-shared --enable-static --enable-pthreads --enable-gpl --enable-v ersion3 --enable-postproc --enable-avfilter --enable-avdevice --enable-avcodec --enable- avformat --enable-runtime-cpudetect --disable-vdpau --disable-vaapi --disable-dxva2 --en able-memalign-hack --enable-swscale --enable-fastdiv --enable-x11grab --enable-bzlib --e nable-zlib --enable-libtheora --enable-libvorbis --enable-libopenjpeg --enable-libdc1394 --enable-libmp3lame --enable-libfaac --enable-libxvid --enable-libx264 --enable-libspee x --enable-libdirac --enable-libschroedinger --enable-nonfree --enable-libgsm --enable-l ibvpx --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --extra-cfl ags='-I/usr/include -DRUNTIME_CPUDETECT' --extra-ldflags='-L/usr/lib -lssl -lcrypto -lz -lusb' libavutil 51. 2. 1 / 51. 2. 1 libavcodec 53. 5. 0 / 53. 5. 0 libavformat 53. 0. 3 / 53. 0. 3 libavdevice 53. 0. 0 / 53. 0. 0 libavfilter 2. 5. 0 / 2. 5. 0 libswscale 0. 14. 0 / 0. 14. 0 libpostproc 51. 2. 0 / 51. 2. 0 [1]+ Stopped gdb ffserver_g root@gate:~/62# bt bash: bt: command not found root@gate:~/62# fg %1 gdb ffserver_g [New Thread 0xb647b6d0 (LWP 15875)] Program received signal SIGTTOU, Stopped (tty output). [Switching to Thread 0xb647b6d0 (LWP 15875)] 0xb70b1d4e in __write_nocancel () from /lib/libc.so.6
(gdb) bt #0 0xb70b1d4e in __write_nocancel () from /lib/libc.so.6 #1 0xb7051054 in _IO_new_file_write () from /lib/libc.so.6 #2 0xb7050cf5 in new_do_write () from /lib/libc.so.6 #3 0xb7050fff in _IO_new_do_write () from /lib/libc.so.6 #4 0xb7051909 in _IO_new_file_overflow () from /lib/libc.so.6 #5 0xb7050eac in _IO_new_file_xsputn () from /lib/libc.so.6 #6 0xb702a3ef in vfprintf () from /lib/libc.so.6 #7 0x0804cafc in http_vlog () #8 0xb71344c0 in ?? () from /lib/libc.so.6 #9 0x0805be58 in ?? () #10 0xbfac6d44 in ?? () #11 0xb80ca660 in _r_debug () #12 0xbfac6d20 in ?? () #13 0xb80bb729 in _dl_fixup () from /lib/ld-linux.so.2 #14 0x00000000 in ?? ()
(gdb) disass $pc-32 $pc+32 Dump of assembler code from 0xb70b1d2e to 0xb70b1d6e: 0xb70b1d2e <read+110>: jmp 0xb70b1d12 <read+82> 0xb70b1d30 <write+0>: cmpl $0x0,%gs:0xc 0xb70b1d38 <write+8>: jne 0xb70b1d57 <write+39> 0xb70b1d3a <__write_nocancel+0>: push %ebx 0xb70b1d3b <__write_nocancel+1>: mov 0x10(%esp),%edx 0xb70b1d3f <__write_nocancel+5>: mov 0xc(%esp),%ecx 0xb70b1d43 <__write_nocancel+9>: mov 0x8(%esp),%ebx 0xb70b1d47 <__write_nocancel+13>: mov $0x4,%eax 0xb70b1d4c <__write_nocancel+18>: int $0x80 0xb70b1d4e <__write_nocancel+20>: pop %ebx 0xb70b1d4f <__write_nocancel+21>: cmp $0xfffff001,%eax 0xb70b1d54 <__write_nocancel+26>: jae 0xb70b1d83 <write+83> 0xb70b1d56 <__write_nocancel+28>: ret 0xb70b1d57 <write+39>: call 0xb70cde00 <__libc_enable_asynccancel> 0xb70b1d5c <write+44>: push %eax 0xb70b1d5d <write+45>: push %ebx 0xb70b1d5e <write+46>: mov 0x14(%esp),%edx 0xb70b1d62 <write+50>: mov 0x10(%esp),%ecx 0xb70b1d66 <write+54>: mov 0xc(%esp),%ebx 0xb70b1d6a <write+58>: mov $0x4,%eax End of assembler dump.
(gdb) info all-registers
eax 0xfffffe00 -512
ecx 0xb80ac000 -1207255040
edx 0x5d 93
ebx 0x1 1
esp 0xbfac6614 0xbfac6614
ebp 0xbfac6630 0xbfac6630
esi 0x5d 93
edi 0xb80ac000 -1207255040
eip 0xb70b1d4e 0xb70b1d4e <__write_nocancel+20>
eflags 0x200246 [ PF ZF IF ID ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 -1 (raw 0xbfff8000000000000000)
st5 -1 (raw 0xbfff8000000000000000)
st6 1 (raw 0x3fff8000000000000000)
st7 1 (raw 0x3fff8000000000000000)
fctrl 0x37f 895
fstat 0x20 32
ftag 0xffff 65535
fiseg 0x73 115
fioff 0xb715bc27 -1223312345
foseg 0x7b 123
fooff 0xbfac7164 -1079217820
fop 0x1c9 457
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 <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}
xmm2 {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}
xmm3 {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}
xmm4 {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}
xmm5 {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}
xmm6 {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}
xmm7 {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}
mxcsr 0x1f80 [ IM DM ZM OM UM PM ]
mm0 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0},
v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0},
v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0},
v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0},
v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000}, v4_int16 = {
0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}
mm5 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000}, v4_int16 = {
0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}
mm6 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000}, v4_int16 = {
0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}
mm7 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000}, v4_int16 = {
0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}
Change History
Note: See
TracTickets for help on using
tickets.



Possible fixes for ffserver: