[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