[Mplayer-advusers] [BUGREPORT] Playing Quicktime (SVQ3) crashes on AMD64

Timo Teräs timo.teras at iki.fi
Sun Sep 26 11:35:17 CEST 2004


Hi,

I'm trying to play "This Wonderful Life" by Liam Kemp on my AMD64 box using
mplayer and it crashes. The same file plays ok on a standard x86 box. So it
is either AMD64 related issue or gcc version (my AMD64 has gcc 3.4.1 and the
x86 had 3.3.4).

The file is downloadable from eg.
http://media01.cgchannel.com.nyud.net:8090/images/news/2003_10_liamkemp/TWL360x208.mov.

Since the backtrace ends up in malloc() I think it is some sort of memory
corruption (and might be AMD64 related). Usually I'd check the results of
memory checker (like electric-fence or valgrind), but couldn't find anything
like that to use on my AMD64.

I've tested two versions of mplayer: 1.0pre5 and todays CVS. 1.0pre5 dies
in malloc() called from somewhere in demux_mov.c:lschunks().

The latest CVS dies a bit later. The backtrace of this is attached.

Cheers,
  Timo


GNU gdb 6.2
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run -v /pub/video/TWL360x208.mov
Starting program: /home/fabled/src/mplayer-cvs/mplayer -v /pub/video/TWL360x208.mov
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
[Thread debugging using libthread_db enabled]
[New Thread 182919573744 (LWP 446)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale

MPlayer dev-CVS-040926-12:03-3.4.1 (C) 2000-2004 MPlayer Team

CPU: Advanced Micro Devices 64-bit CPU
Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory
Reading config file /home/fabled/.mplayer/config
Reading /home/fabled/.mplayer/codecs.conf: Can't open '/home/fabled/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine: '-v' '/pub/video/TWL360x208.mov'
init_freetype
get_path('font/font.desc') -> '/home/fabled/.mplayer/font/font.desc'
font: can't open file: /home/fabled/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using Unoptimized OnScreenDisplay
Linux RTC init error in ioctl (rtc_irqp_set 1024): Permission denied
Try adding "echo 1024 > /proc/sys/dev/rtc/max-user-freq" to your system startup scripts.
Using nanosleep() timing
get_path('input.conf') -> '/home/fabled/.mplayer/input.conf'
Can't open input config file /home/fabled/.mplayer/input.conf: No such file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or directory
Falling back on default (hardcoded) input config
get_path('TWL360x208.mov.conf') -> '/home/fabled/.mplayer/TWL360x208.mov.conf'

Playing /pub/video/TWL360x208.mov.
[file] File size is 27402443 bytes
STREAM: [file] /pub/video/TWL360x208.mov
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x9634c0  
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x9634c0  
Checking for Nullsoft Streaming Video
DEMUXER: freeing demuxer at 0x9634c0  
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x9634c0  
Checking for REAL
DEMUXER: freeing demuxer at 0x9634c0  
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x9634c0  
DEMUXER: freeing demuxer at 0x9646f0  
DEMUXER: freeing demuxer at 0x9646f0  
Searching demuxer type for filename /pub/video/TWL360x208.mov ext: .mov
Trying demuxer 7 based on filename extension
Checking for MOV
MOV: Movie header found!
MOV: 'WIDE' chunk found!
MOV: Movie DATA found!
QuickTime/MOV file format detected.
Compressed header uses z algo!
Compressed header size: 43722 / 95737
MOV:   Movie header (100 bytes): tscale=600  dur=508968
--------------
MOV: Track #0:
MOV:    Track header!
tkhd len=84 ver=0 flags=0x0 id=1 dur=508968 lay=0 vol=0
MOV:    Edit atom!
MOV:     Edit list table (1 entries) (ver:0,flags:753912501573255168)
MOV:       entry#0: duration: 508968  start time: 0  speed: 1.0x
MOV:    Media stream!
MOV:     Media header!
MOV:     Handler header: mhlr/vide (appl) Apple Video Media Handler
MOV:     Media info!
MOV:      Video header!
MOV:      Handler header: dhlr/alis (appl) Apple Alias Data Handler
MOV: unknown chunk: dinf 28
MOV:      Sample info!
MOV:       Description list! (cnt:1)
MOV:        desc #0: SVQ3  (95 bytes)
MOV:       Sample duration table! (4 blocks)
MOV:       Syncing samples (keyframes) table! (119 entries) (ver:0,flags:0)
MOV:       Sample->Chunk mapping table!  (1706 blocks) (ver:0,flags:0)
MOV:       Sample size table! (entries=12679 ss=0) (ver:0,flags:0)
MOV:       Chunk offset table! (3397 chunks)
MOV track #0: 3397 chunks, 12679 samples
pts=508968  scale=600  time=848.280
EL#0: pts=0  1st_sample=0  frames=12679 (848.280s)  pts_offs=0
==> Found video stream: 0
MOV: Found unknown movie atom SMI  (21)!
Image size: 360 x 208 (24 bpp)
Display size: 360 x 208
Fourcc: SVQ3  Codec: 'Sorenson Video 3'
--------------
MOV: Track #1:
MOV:    Track header!
tkhd len=84 ver=0 flags=0x0 id=2 dur=508968 lay=65535 vol=256
MOV:    Edit atom!
MOV:     Edit list table (1 entries) (ver:0,flags:545460846592)
MOV:       entry#0: duration: 508968  start time: 0  speed: 1.0x
MOV:    Media stream!
MOV:     Media header!
MOV:     Handler header: mhlr/soun (appl) Apple Sound Media Handler
MOV:     Media info!
MOV:      Sound header!
MOV:      Handler header: dhlr/alis (appl) Apple Alias Data Handler
MOV: unknown chunk: dinf 28
MOV:      Sample info!
MOV:       Description list! (cnt:1)
MOV:        desc #0: ms  (112 bytes)
MOV:       Sample duration table! (1 blocks)
MOV:       Sample->Chunk mapping table!  (190 blocks) (ver:0,flags:0)
MOV:       Sample size table! (entries=27145728 ss=1) (ver:0,flags:0)
MOV:       Chunk offset table! (1697 chunks)
MOV track #1: 1697 chunks, 0 samples
pts=27145728  scale=32000  time=848.304
==> Found audio stream: 1
Audio bits: 16  chans: 2  rate: 32000
Audio header: samp/pack=2304 bytes/pack=432 bytes/frame=864 bytes/samp=2  
Audio extra header: len=76  fcc=0x77617665
MOV: Found unknown audio atom à.Fourcc: ms
--------------
Quicktime Clip Info:
 Name: This Wonderful Life
 Author: Liam Kemp 
 Copyright: Liam Kemp
MOV: longest streams: A: #1 (1697 samples)  V: #0 (12679 samples)
VIDEO:  [SVQ3]  360x208  24bpp  15.000 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:7  fourcc:0x33515653  size:360x208  fps:15.00  ftime:=0.0667
Clip info:
 name: This Wonderful Life
 author: Liam Kemp 
 copyright: Liam Kemp
get_path('sub/') -> '/home/fabled/.mplayer/sub/'
get_path('default.sub') -> '/home/fabled/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: using generic C decore!
MP3lib: init layer2&3 finished, tables done

MPEG 1.0, Layer III, 32000 Hz 96 kbit Joint-Stereo, BPF: 432
Channels: 2, copyright: No, original: No, CRC: No, emphasis: 0
AUDIO: 32000 Hz, 2 ch, 16 bit (0x10), ratio: 12000->128000 (96.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1280x1024 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
Opening video filter: [pp=lb]
[vo] query(Planar YV12) -> 3
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 182919573744 (LWP 446)]
0x0000002a95e84474 in malloc_set_state () from /lib/libc.so.6
(gdb) bt
#0  0x0000002a95e84474 in malloc_set_state () from /lib/libc.so.6
#1  0x0000002a95e85bb2 in malloc () from /lib/libc.so.6
#2  0x0000000000531a55 in av_mallocz (size=128008) at utils.c:40
#3  0x000000000053248b in avcodec_open (avctx=0x980ab0, codec=0x3e00000) at utils.c:453
#4  0x000000000045a4cc in init (sh=0x9b9430) at vd_ffmpeg.c:354
#5  0x00000000004579c8 in init_video (sh_video=0x9b9430, codecname=0x0, vfm=0x0, status=1)
    at dec_video.c:237
#6  0x0000000000457b62 in init_best_video_codec (sh_video=0x9b9430, video_codec_list=0x7fbfffdec8, 
    video_fm_list=0x0) at dec_video.c:283
#7  0x000000000040db7d in main (argc=10240272, argv=0x9b9430) at mplayer.c:1737
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x2a95e84454 to 0x2a95e84494:
0x0000002a95e84454 <malloc_set_state+3940>:	lea    0x10(%rbp),%eax
0x0000002a95e84457 <malloc_set_state+3943>:	cmp    %r10,%rbx
0x0000002a95e8445a <malloc_set_state+3946>:	cmove  0x40(%rsp),%r12
0x0000002a95e84460 <malloc_set_state+3952>:	or     $0x1,%rcx
0x0000002a95e84464 <malloc_set_state+3956>:	mov    %r11,0x88(%rbx)
0x0000002a95e8446b <malloc_set_state+3963>:	mov    %r12,0x8(%r13)
0x0000002a95e8446f <malloc_set_state+3967>:	mov    %r12,0x40(%rsp)
0x0000002a95e84474 <malloc_set_state+3972>:	mov    %rcx,0x8(%r11)
0x0000002a95e84478 <malloc_set_state+3976>:	jmpq   0x2a95e83f75 <malloc_set_state+2693>
0x0000002a95e8447d <malloc_set_state+3981>:	mov    1686017(%rip),%esi        # 0x2a9601fe84 <__malloc_initialize_hook+2292>
0x0000002a95e84483 <malloc_set_state+3987>:	dec    %esi
0x0000002a95e84485 <malloc_set_state+3989>:	cmp    %r12,1685988(%rip)        # 0x2a9601fe70 <__malloc_initialize_hook+2272>
0x0000002a95e8448c <malloc_set_state+3996>:	mov    %rsi,0x18(%rsp)
0x0000002a95e84491 <malloc_set_state+4001>:	ja     0x2a95e844b8 <malloc_set_state+4040>
0x0000002a95e84493 <malloc_set_state+4003>:	mov    1685987(%rip),%ebp        # 0x2a9601fe7c <__malloc_initialize_hook+2284>
End of assembler dump.
(gdb) info all-registers
rax            0x9c4220	10240544
rbx            0x2a9601f5a0	182905337248
rcx            0x455320494d507441	4995371910885831745
rdx            0x2a9601fdd8	182905339352
rsi            0x3e00000	65011712
rdi            0x2a9601fde8	182905339368
rbp            0x2a9601f638	0x2a9601f638
rsp            0x7fbfffdd70	0x7fbfffdd70
r8             0x10000000	268435456
r9             0x4	4
r10            0x2a9601f5a0	182905337248
r11            0x9e3620	10368544
r12            0x1f411	128017
r13            0x9c4210	10240528
r14            0x1f411	128017
r15            0x200001	2097153
rip            0x2a95e84474	0x2a95e84474 <malloc_set_state+3972>
eflags         0x10206	66054
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
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            0.062500000000000027755575615628913511	(raw 0x3ffb8000000000001000)
st7            0	(raw 0x00000000000000000000)
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, 0x3, 0x0, 0x0}}	{f = {0, 3.375, 0, 0}}
xmm1           {f = {0x1c2, 0x0, 0x0, 0x0}}	{f = {450.136414, 0, 0, 0}}
xmm2           {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0, 0, 0, 0}}
xmm3           {f = {0x0, 0xb0, 0x0, 0x0}}	{f = {-0, 176, 0, 0}}
xmm4           {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.05389731, 0, 0, 0}}
xmm5           {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.0821266919, 0, 0, 0}}
xmm6           {f = {0x0, 0x0, 0x0, 0x0}}	{f = {0, 0, 0, 0}}
xmm7           {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.0444329567, 0, 0, 0}}
xmm8           {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.103655994, 0, 0, 0}}
xmm9           {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.139630944, 0, 0, 0}}
xmm10          {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.096226953, 0, 0, 0}}
xmm11          {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.0231009144, 0, 0, 0}}
xmm12          {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.133662611, 0, 0, 0}}
xmm13          {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.123744875, 0, 0, 0}}
xmm14          {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.167660877, 0, 0, 0}}
xmm15          {f = {0x0, 0x0, 0x0, 0x0}}	{f = {-0.160532713, 0, 0, 0}}
mxcsr          0x1fa0	8096
  




More information about the MPlayer-advusers mailing list