[FFmpeg-trac] #392(undetermined:open): ffplay segfaults trying any video format
FFmpeg
trac at avcodec.org
Sat Aug 13 12:38:29 CEST 2011
#392: ffplay segfaults trying any video format
----------------------------+---------------------------
Reporter: 01micko | Owner: michael
Type: defect | Status: open
Priority: normal | Component: undetermined
Version: unspecified | Resolution:
Keywords: segfault, video | Blocked By:
Blocking: | Reproduced: 0
Analyzed: 0 |
----------------------------+---------------------------
Comment (by 01micko):
Replying to [ticket:392 01micko]:
> This is using 0.8.2. Any video format, trying to play with ffplay it
almost starts then segfaults.
> This is in Puppylinux built using Slackware-13.37 libraries.
> This behaviour occurs in 0.8 and 0.8.1
>
> {{{
> # ffplay movie2.3gp
> ffplay version 0.8.2, Copyright (c) 2003-2011 the FFmpeg developers
> built on Aug 12 2011 08:52:43 with gcc 4.5.2
> configuration: --prefix=/usr --cpu=i686 --enable-libmp3lame --enable-
libx264 --enable-libfaac --enable-pthreads --enable-small --enable-
postproc --enable-libvorbis --enable-gpl --enable-shared --enable-nonfree
--enable-libopencore-amrnb --enable-libopencore-amrwb --disable-debug
--enable-bzlib --enable-zlib --enable-libspeex --enable-version3 --enable-
runtime-cpudetect --enable-x11grab --enable-libdc1394 --enable-
libschroedinger --enable-libtheora --enable-libxvid --enable-swscale
--enable-libvpx
> libavutil 51. 9. 1 / 51. 9. 1
> libavcodec 53. 7. 0 / 53. 7. 0
> libavformat 53. 4. 0 / 53. 4. 0
> libavdevice 53. 1. 1 / 53. 1. 1
> libavfilter 2. 23. 0 / 2. 23. 0
> libswscale 2. 0. 0 / 2. 0. 0
> libpostproc 51. 2. 0 / 51. 2. 0
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'movie2.3gp':
> Metadata:
> major_brand : 3gp4
> minor_version : 512
> compatible_brands: isomiso23gp4
> creation_time : 1970-01-01 00:00:00
> Duration: 00:05:43.21, start: 0.000000, bitrate: 214 kb/s
> Stream #0.0(eng): Video: h263, yuv420p, 176x144 [PAR 12:11 DAR 4:3],
205 kb/s, 25.02 fps, 25.02 tbr, 1001 tbn, 29.97 tbc
> Metadata:
> creation_time : 1970-01-01 00:00:00
> Stream #0.1(eng): Audio: amrnb, 8000 Hz, 1 channels, flt, 6 kb/s
> Metadata:
> creation_time : 1970-01-01 00:00:00
> Segmentation fault03638.330 s:0.0 aq= 320KB vq= 2114KB sq= 0B f=0/0
> # gdb ffmpeg_g
> GNU gdb (GDB) 7.2
> 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 "i486-slackware-linux".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> ffmpeg_g: No such file or directory.
> (gdb) q
> # ffplay_g movie2.3gp
> ffplay version 0.8.2, Copyright (c) 2003-2011 the FFmpeg developers
> built on Aug 12 2011 08:52:43 with gcc 4.5.2
> configuration: --prefix=/usr --cpu=i686 --enable-libmp3lame --enable-
libx264 --enable-libfaac --enable-pthreads --enable-small --enable-
postproc --enable-libvorbis --enable-gpl --enable-shared --enable-nonfree
--enable-libopencore-amrnb --enable-libopencore-amrwb --disable-debug
--enable-bzlib --enable-zlib --enable-libspeex --enable-version3 --enable-
runtime-cpudetect --enable-x11grab --enable-libdc1394 --enable-
libschroedinger --enable-libtheora --enable-libxvid --enable-swscale
--enable-libvpx
> libavutil 51. 9. 1 / 51. 9. 1
> libavcodec 53. 7. 0 / 53. 7. 0
> libavformat 53. 4. 0 / 53. 4. 0
> libavdevice 53. 1. 1 / 53. 1. 1
> libavfilter 2. 23. 0 / 2. 23. 0
> libswscale 2. 0. 0 / 2. 0. 0
> libpostproc 51. 2. 0 / 51. 2. 0
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'movie2.3gp':
> Metadata:
> major_brand : 3gp4
> minor_version : 512
> compatible_brands: isomiso23gp4
> creation_time : 1970-01-01 00:00:00
> Duration: 00:05:43.21, start: 0.000000, bitrate: 214 kb/s
> Stream #0.0(eng): Video: h263, yuv420p, 176x144 [PAR 12:11 DAR 4:3],
205 kb/s, 25.02 fps, 25.02 tbr, 1001 tbn, 29.97 tbc
> Metadata:
> creation_time : 1970-01-01 00:00:00
> Stream #0.1(eng): Audio: amrnb, 8000 Hz, 1 channels, flt, 6 kb/s
> Metadata:
> creation_time : 1970-01-01 00:00:00
> Segmentation fault03899.247 s:0.0 aq= 320KB vq= 2114KB sq= 0B f=0/0
> # gdb ffplay_g movie2.3gp
> GNU gdb (GDB) 7.2
> 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 "i486-slackware-linux".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>...
> Reading symbols from /usr/sbin/ffplay_g...done.
> "/mnt/sdb7/0video/nvid/movie2.3gp" is not a core dump: File format not
recognized
> (gdb) r ffplay_g movie2.3gp
> Starting program: /usr/sbin/ffplay_g ffplay_g movie2.3gp
> [Thread debugging using libthread_db enabled]
> ffplay version 0.8.2, Copyright (c) 2003-2011 the FFmpeg developers
> built on Aug 12 2011 08:52:43 with gcc 4.5.2
> configuration: --prefix=/usr --cpu=i686 --enable-libmp3lame --enable-
libx264 --enable-libfaac --enable-pthreads --enable-small --enable-
postproc --enable-libvorbis --enable-gpl --enable-shared --enable-nonfree
--enable-libopencore-amrnb --enable-libopencore-amrwb --disable-debug
--enable-bzlib --enable-zlib --enable-libspeex --enable-version3 --enable-
runtime-cpudetect --enable-x11grab --enable-libdc1394 --enable-
libschroedinger --enable-libtheora --enable-libxvid --enable-swscale
--enable-libvpx
> libavutil 51. 9. 1 / 51. 9. 1
> libavcodec 53. 7. 0 / 53. 7. 0
> libavformat 53. 4. 0 / 53. 4. 0
> libavdevice 53. 1. 1 / 53. 1. 1
> libavfilter 2. 23. 0 / 2. 23. 0
> libswscale 2. 0. 0 / 2. 0. 0
> libpostproc 51. 2. 0 / 51. 2. 0
> Argument 'movie2.3gp' provided as input filename, but 'ffplay_g' was
already specified.
>
> Program exited with code 01.
> (gdb) r movie2.3gp
> Starting program: /usr/sbin/ffplay_g movie2.3gp
> [Thread debugging using libthread_db enabled]
> ffplay version 0.8.2, Copyright (c) 2003-2011 the FFmpeg developers
> built on Aug 12 2011 08:52:43 with gcc 4.5.2
> configuration: --prefix=/usr --cpu=i686 --enable-libmp3lame --enable-
libx264 --enable-libfaac --enable-pthreads --enable-small --enable-
postproc --enable-libvorbis --enable-gpl --enable-shared --enable-nonfree
--enable-libopencore-amrnb --enable-libopencore-amrwb --disable-debug
--enable-bzlib --enable-zlib --enable-libspeex --enable-version3 --enable-
runtime-cpudetect --enable-x11grab --enable-libdc1394 --enable-
libschroedinger --enable-libtheora --enable-libxvid --enable-swscale
--enable-libvpx
> libavutil 51. 9. 1 / 51. 9. 1
> libavcodec 53. 7. 0 / 53. 7. 0
> libavformat 53. 4. 0 / 53. 4. 0
> libavdevice 53. 1. 1 / 53. 1. 1
> libavfilter 2. 23. 0 / 2. 23. 0
> libswscale 2. 0. 0 / 2. 0. 0
> libpostproc 51. 2. 0 / 51. 2. 0
> [New Thread 0xb6902b70 (LWP 1465)]
> [New Thread 0xb5f22b70 (LWP 1466)]
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'movie2.3gp':
> Metadata:
> major_brand : 3gp4
> minor_version : 512
> compatible_brands: isomiso23gp4
> creation_time : 1970-01-01 00:00:00
> Duration: 00:05:43.21, start: 0.000000, bitrate: 214 kb/s
> Stream #0.0(eng): Video: h263, yuv420p, 176x144 [PAR 12:11 DAR 4:3],
205 kb/s, 25.02 fps, 25.02 tbr, 1001 tbn, 29.97 tbc
> Metadata:
> creation_time : 1970-01-01 00:00:00
> Stream #0.1(eng): Audio: amrnb, 8000 Hz, 1 channels, flt, 6 kb/s
> Metadata:
> creation_time : 1970-01-01 00:00:00
> [New Thread 0xb5657b70 (LWP 1467)]
> [New Thread 0xb4e57b70 (LWP 1468)]
> [New Thread 0xb4657b70 (LWP 1469)]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xb4e57b70 (LWP 1468)]
> 0xb7353b87 in strcmp () from /lib/libc.so.6
> (gdb) bt
> #0 0xb7353b87 in strcmp () from /lib/libc.so.6
> #1 0xb7f9e0a1 in avfilter_get_by_name () from /usr/lib/libavfilter.so.2
> #2 0x00000006 in ?? ()
> #3 0x00000006 in ?? ()
> #4 0x080bbda0 in ?? ()
> #5 0x080c4eb8 in ?? ()
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
> (gdb) disass $pc-32,$pc+32
> Dump of assembler code from 0xb7353b67 to 0xb7353ba7:
> 0xb7353b67: nop
> 0xb7353b68: nop
> 0xb7353b69: nop
> 0xb7353b6a: nop
> 0xb7353b6b: nop
> 0xb7353b6c: nop
> 0xb7353b6d: nop
> 0xb7353b6e: nop
> 0xb7353b6f: nop
> 0xb7353b70 <strcmp+0>: push %ebp
> 0xb7353b71 <strcmp+1>: xor %eax,%eax
> 0xb7353b73 <strcmp+3>: mov %esp,%ebp
> 0xb7353b75 <strcmp+5>: push %edi
> 0xb7353b76 <strcmp+6>: mov 0x8(%ebp),%edi
> 0xb7353b79 <strcmp+9>: push %esi
> 0xb7353b7a <strcmp+10>: mov 0xc(%ebp),%esi
> 0xb7353b7d <strcmp+13>: jmp 0xb7353b87 <strcmp+23>
> 0xb7353b7f <strcmp+15>: nop
> 0xb7353b80 <strcmp+16>: add $0x1,%eax
> 0xb7353b83 <strcmp+19>: cmp %cl,%dl
> 0xb7353b85 <strcmp+21>: jne 0xb7353ba0 <strcmp+48>
> => 0xb7353b87 <strcmp+23>: movzbl (%edi,%eax,1),%edx
> ---Type <return> to continue, or q <return> to quit---
> 0xb7353b8b <strcmp+27>: movzbl (%esi,%eax,1),%ecx
> 0xb7353b8f <strcmp+31>: test %dl,%dl
> 0xb7353b91 <strcmp+33>: jne 0xb7353b80 <strcmp+16>
> 0xb7353b93 <strcmp+35>: movzbl %cl,%eax
> 0xb7353b96 <strcmp+38>: neg %eax
> 0xb7353b98 <strcmp+40>: pop %esi
> 0xb7353b99 <strcmp+41>: pop %edi
> 0xb7353b9a <strcmp+42>: pop %ebp
> 0xb7353b9b <strcmp+43>: ret
> 0xb7353b9c <strcmp+44>: lea 0x0(%esi,%eiz,1),%esi
> 0xb7353ba0 <strcmp+48>: movzbl %dl,%eax
> 0xb7353ba3 <strcmp+51>: movzbl %cl,%ecx
> 0xb7353ba6 <strcmp+54>: sub %ecx,%eax
> End of assembler dump.
> (gdb) info all-registers
> eax 0x0 0
> ecx 0x62 98
> edx 0x68 104
> ebx 0xb7fce2a0 -1208163680
> esp 0xb4e57180 0xb4e57180
> ebp 0xb4e57188 0xb4e57188
> esi 0x8052634 134555188
> edi 0x0 0
> eip 0xb7353b87 0xb7353b87 <strcmp+23>
> eflags 0x10246 [ PF ZF IF RF ]
> cs 0x73 115
> ss 0x7b 123
> ds 0x7b 123
> es 0x7b 123
> fs 0x0 0
> gs 0x33 51
> st0 -nan(0x8080808080808080) (raw
0xffff8080808080808080)
> st1 -nan(0x80008000800080) (raw 0xffff0080008000800080)
> st2 0.00430206954479217529296875 (raw
0x3ff78cf8600000000000)
> st3 0.024543692606170257163581598439106024 (raw
0x3ff9c90fdaa22168bc6a)
> st4 0.357096850872039794921875 (raw
0x3ffdb6d5660000000000)
> st5 4000 (raw 0x400afa00000000000000)
> ---Type <return> to continue, or q <return> to quit---
> st6 8000 (raw 0x400bfa00000000000000)
> st7 0.25599999999999999998937481870964206 (raw
0x3ffd83126e978d4fdf3b)
> fctrl 0x37f 895
> fstat 0x4220 16928
> 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 <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}
> ---Type <return> to continue, or q <return> to quit---
> 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 = 0x8080808080808080, v2_int32 = {0x80808080,
> 0x80808080}, v4_int16 = {0x8080, 0x8080, 0x8080, 0x8080}, v8_int8 =
{0x80,
> ---Type <return> to continue, or q <return> to quit---
> 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80}}
> mm1 {uint64 = 0x80008000800080, v2_int32 = {0x800080,
0x800080},
> v4_int16 = {0x80, 0x80, 0x80, 0x80}, v8_int8 = {0x80, 0x0, 0x80, 0x0,
0x80,
> 0x0, 0x80, 0x0}}
> mm2 {uint64 = 0x8cf8600000000000, v2_int32 = {0x0,
0x8cf86000},
> v4_int16 = {0x0, 0x0, 0x6000, 0x8cf8}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0,
> 0x60, 0xf8, 0x8c}}
> mm3 {uint64 = 0xc90fdaa22168bc6a, v2_int32 = {0x2168bc6a,
> 0xc90fdaa2}, v4_int16 = {0xbc6a, 0x2168, 0xdaa2, 0xc90f}, v8_int8 =
{0x6a,
> 0xbc, 0x68, 0x21, 0xa2, 0xda, 0xf, 0xc9}}
> mm4 {uint64 = 0xb6d5660000000000, v2_int32 = {0x0,
0xb6d56600},
> v4_int16 = {0x0, 0x0, 0x6600, 0xb6d5}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0,
> 0x66, 0xd5, 0xb6}}
> mm5 {uint64 = 0xfa00000000000000, v2_int32 = {0x0,
0xfa000000},
> v4_int16 = {0x0, 0x0, 0x0, 0xfa00}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
> 0x0, 0xfa}}
> mm6 {uint64 = 0xfa00000000000000, v2_int32 = {0x0,
0xfa000000},
> v4_int16 = {0x0, 0x0, 0x0, 0xfa00}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
> 0x0, 0xfa}}
> mm7 {uint64 = 0x83126e978d4fdf3b, v2_int32 = {0x8d4fdf3b,
> 0x83126e97}, v4_int16 = {0xdf3b, 0x8d4f, 0x6e97, 0x8312}, v8_int8 =
{0x3b,
> 0xdf, 0x4f, 0x8d, 0x97, 0x6e, 0x12, 0x83}}
> (gdb)
>
> }}}
>
> Thank you
Ok, if I just use "--prefix=/usr" it works but I have massive binaries.
Inefficient I feel. Similar compile options have been used successfully in
the 0.7 and 0.6 series.
Thanks
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/392#comment:2>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list