[MPlayer-users] segmentation fault with jpegs packed in .MOV
William Brodie-Tyrrell
wfbrodie at smug.adelaide.edu.au
Tue Jun 10 06:25:56 CEST 2003
I've got a reproducible segfault while trying to play back time-lapse movies
from my digital camera (Minolta DiMAGE 7i). They're a sequence of 640x480
JPEG frames wrapped up in a .mov stream at 4fps and (last I checked -
different file but from same camera) play back successfully in QT for windows.
There is no sound in the file.
When I try to play the file in mplayer (0.90 release), the mov reader dies.
Same result with -vo null -nosound. In the following output, it can't find
any config files because I didn't install them for the debug version; they
exist and are found for the non-debug version that exhibits the same crash.
The offending video file is at http://users.on.net/gbt/video/pict1547.mov
mplayer output:
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/stow/MPlayer-0.90-debug/share/locale
MPlayer 0.90rc5-3.2 (C) 2000-2003 Arpad Gereoffy (see DOCS)
CPU: Advanced Micro Devices Athlon 4 PM Palomino/Athlon MP
Multiprocessor/Athlon XP eXtreme Performance (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
Reading config file
/usr/local/stow/MPlayer-0.90-debug/etc/mplayer/mplayer.conf: No such file or
directory
Reading config file /root/.mplayer/config
Reading /root/.mplayer/codecs.conf: can't open
'/root/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/stow/MPlayer-0.90-debug/etc/mplayer/codecs.conf: can't open
'/usr/local/stow/MPlayer-0.90-debug/etc/mplayer/codecs.conf': No such file or
directory
Using built-in default codecs.conf
CommandLine: '-v' '/mnt/httpd/htdocs/flashcaps/pict1547.mov'
get_path('font/font.desc') -> '/root/.mplayer/font/font.desc'
font: can't open file: /root/.mplayer/font/font.desc
font: can't open
file: /usr/local/stow/MPlayer-0.90-debug/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Failed to open /dev/rtc: No such file or directory (mplayer should be setuid
root or /dev/rtc should be readable by the user.)
Using usleep() timing
get_path('input.conf') -> '/root/.mplayer/input.conf'
Can't open input config file /root/.mplayer/input.conf : No such file or
directory
Can't open input config file
/usr/local/stow/MPlayer-0.90-debug/etc/mplayer/input.conf : No such file or
directory
Falling back on default (hardcoded) input config
get_path('pict1547.mov.conf') -> '/root/.mplayer/pict1547.mov.conf'
Playing /mnt/httpd/htdocs/flashcaps/pict1547.mov
Not an URL!
File size is 3529180 bytes
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x8382538
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x8382538
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x8382538
Checking for REAL
DEMUXER: freeing demuxer at 0x8382538
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x8382538
Searching demuxer type for filename /mnt/httpd/htdocs/flashcaps/pict1547.mov
ext: .mov
Trying demuxer 7 based on filename extension
Checking for MOV
MOV: Movie DATA found!
MOV: Movie header found!
QuickTime/MOV file format detected.
MOV: Movie header (100 bytes): tscale=600 dur=8550
--------------
MOV: Track #0:
MOV: Track header!
tkhd len=84 ver=0 flags=0x0 id=1 dur=8550 lay=0 vol=256
MOV: Media stream!
MOV: Media header!
MOV: Handler header: mhlr/vide (mino)
MOV: Media info!
MOV: Video header!
MOV: Handler header: dhlr/alis (mino)
MOV: unknown chunk: dinf 28
MOV: Sample info!
MOV: Description list! (cnt:1)
MOV: desc #0: jpeg (72 bytes)
MOV: Sample duration table! (1 blocks)
MOV: Sample->Chunk mapping table! (1 blocks) (ver:0,flags:0)
MOV: Sample size table! (entries=57 ss=0) (ver:0,flags:0)
MOV: Chunk offset table! (57 chunks)
MOV track #0: 57 chunks, 57 samples
pts=8550 scale=600 time=14.250
==> Found video stream: 0
Image size: 640 x 480 (24 bpp)
Display size: 640 x 480
Fourcc: jpeg Codec: 'Photo - JPEG'
--------------
Quicktime Clip Info:
Format: Digital Camera
Segmentation fault
GDB session:
Starting program: /usr/src/MPlayer-0.90/mplayer -v /mnt/httpd/htdocs/flashcaps/pict1547.mov > /tmp/mplayerlog 2>&1
[New Thread 1024 (LWP 14377)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 14377)]
lschunks (demuxer=0x8382da0, level=0, endpos=3529180, trak=0x0) at
stream.h:137
137 memcpy(mem,&s->buffer[s->buf_pos],x);
(gdb) bt
#0 lschunks (demuxer=0x8382da0, level=0, endpos=3529180, trak=0x0) at stream.h:137
#1 0x081521db in mov_read_header (demuxer=0x8382da0) at demux_mov.c:1482
#2 0x0812071c in demux_open_stream (stream=0x8381358, file_format=7, audio_id=-1, video_id=-1,
dvdsub_id=-1, filename=0x0) at demuxer.c:1004
#3 0x08121376 in demux_open_stream (stream=0x8381358, file_format=7, audio_id=-1, video_id=-1,
dvdsub_id=-1, filename=0x83781c0 "/mnt/httpd/htdocs/flashcaps/pict1547.mov") at demuxer.c:701
#4 0x08121a8f in demux_open (vs=0x838147a, file_format=0, audio_id=-1, video_id=137892986, dvdsub_id=-1,
filename=0x838147a "a Co., Ltd. ") at demuxer.c:1161
#5 0x08068ed2 in main (argc=3, argv=0xbffff6a4) at mplayer.c:1258
#6 0x403322eb in __libc_start_main (main=0x8068630 <main>, argc=3, ubp_av=0xbffff6a4,
init=0x8065cc4 <_init>, fini=0x823cce0 <_fini>, rtld_fini=0x4000c130 <_dl_fini>, stack_end=0xbffff69c)
at ../sysdeps/generic/libc-start.c:129
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x8150b97 to 0x8150bd7:
0x8150b97 <lschunks+18167>: mov %ds:0xc(%esi),%edx
0x8150b9b <lschunks+18171>: mov 0x8(%esi),%eax
0x8150b9e <lschunks+18174>: mov %edx,%ebx
0x8150ba0 <lschunks+18176>: sub %eax,%ebx
0x8150ba2 <lschunks+18178>: je 0x8150c12 <lschunks+18290>
0x8150ba4 <lschunks+18180>: cmp %edx,%eax
0x8150ba6 <lschunks+18182>: ja 0x8150bf9 <lschunks+18265>
0x8150ba8 <lschunks+18184>: mov 0xfffffdec(%ebp),%edx
0x8150bae <lschunks+18190>: cmp %edi,%ebx
0x8150bb0 <lschunks+18192>: lea 0x40(%eax,%esi,1),%eax
0x8150bb4 <lschunks+18196>: cmovg %edi,%ebx
0x8150bb7 <lschunks+18199>: mov %eax,0x4(%esp,1)
0x8150bbb <lschunks+18203>: mov %ebx,0x8(%esp,1)
0x8150bbf <lschunks+18207>: sub %ebx,%edi
0x8150bc1 <lschunks+18209>: mov %edx,(%esp,1)
0x8150bc4 <lschunks+18212>: call 0x806703c <memcpy>
0x8150bc9 <lschunks+18217>: add %ebx,0xfffffdec(%ebp)
0x8150bcf <lschunks+18223>: add %ebx,0x8(%esi)
0x8150bd2 <lschunks+18226>: test %edi,%edi
0x8150bd4 <lschunks+18228>: jg 0x8150b98 <lschunks+18168>
0x8150bd6 <lschunks+18230>: mov 0xfffffe10(%ebp),%ecx
End of assembler dump.
(gdb) info all-registers
eax 0x838147a 137892986
ecx 0x0 0
edx 0x71cf9164 1909428580
ebx 0x71e 1822
esp 0x71cf9140 0x71cf9140
ebp 0xbfffe148 0xbfffe148
esi 0x8381358 137892696
edi 0x4e304d61 1311788385
eip 0x8150bb7 0x8150bb7
eflags 0x210287 2163335
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x0 0
gs 0x0 0
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 4 (raw 0x40018000000000000000)
st7 0.25 (raw 0x3ffd8000000000000000)
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 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff),
-nan(0x7fffff)}}
xmm1 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff),
-nan(0x7fffff)}}
xmm2 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff),
-nan(0x7fffff)}}
xmm3 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff),
-nan(0x7fffff)}}
xmm4 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff),
-nan(0x7fffff)}}
xmm5 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff),
-nan(0x7fffff)}}
xmm6 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff),
-nan(0x7fffff)}}
xmm7 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff),
-nan(0x7fffff)}}
mxcsr 0x1f80 8064
orig_eax 0xffffffff -1
host information:
originally Slackware 7 (well, probably 7), since modified by the addition of
stuff in /usr/local/stow, different kernels, etc, etc.
Linux obelix 2.4.20 #1 Thu Feb 27 11:00:21 CST 2003 i686 unknown
Reading specs from /usr/local/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.2/specs
Configured with: ../gcc-3.2/configure --prefix=/usr/local/stow/gcc-3.2 --enable-threads=posix --with-gnu-as --with-gnu-ld
Thread model: posix
gcc version 3.2
GNU ld version 2.13
GNU assembler 2.13
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
This assembler was configured for a target of `i686-pc-linux-gnu'.
-rwxr-xr-x 1 root root 4783716 May 26 2001 /lib/libc-2.2.3.so
lrwxrwxrwx 1 root root 13 Mar 26 16:09 /lib/libc.so.6 -> libc-2.2.3.so
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 6
model name : AMD Athlon(tm) XP 1800+
stepping : 2
cpu MHz : 1527.259
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 3047.42
William Brodie-Tyrrell
--
"There is no God and Dirac is his prophet"
-- Wolfgang Pauli
<wfbrodie at smug.adelaide.edu.au>
http://www.cs.adelaide.edu.au/~william
More information about the MPlayer-users
mailing list