Opened 17 years ago

Last modified 13 years ago

#906 new defect

Crash while advancing to next item in commandline if subtitles are on

Reported by: resnick147@… Owned by: reimar
Priority: normal Component: core
Version: HEAD Severity: major
Keywords: Cc: compn
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

If invoked with multiple filenames, Mplayer crashes sistematically when advancing to the next file. This happens after the first file ends and also if the command to advance is explicitly given (eg pt_step 1 in input.conf).

The crash happens only when viewing files with SRT subtitles, in fact the crash occurs at the first occurrance of a subtitle line in the second video.

Here's the relevant part of the log, with backtrace.
Full log with a gdb session in which the first file ends correctly and the crash happens at the beginning of the second is included here:
http://www.miorelli.net/temp/mplayer-bug.txt

A: 2.6 V: 2.6 A-V: 0.006 ct: -0.007 63/ 63 6% 0% 1.2% 0 0 96%
Subtitle word 't's a girl.' too long!

Subtitle word ' girl.' too long!

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1244580112 (LWP 17180)]
0x0827192c in vo_update_osd (dxs=<value optimized out>, dys=336) at sub.c:912
912 obj->y = dys - ((obj->params.subtitle.lines - 1) * sub_font->height + sub_font->pic_a[sub_font->font[40]]->h);
(gdb) bt
#0 0x0827192c in vo_update_osd (dxs=<value optimized out>, dys=336) at sub.c:912
#1 0x08272673 in vo_draw_text (dxs=608, dys=336, draw_alpha=0x80ef540 <draw_alpha_yv12>) at sub.c:1228
#2 0x080eea90 in draw_osd () at vo_xv.c:523
#3 0x08187098 in control (vf=0x8a98bd0, request=7, data=0x0) at vf_vo.c:94
#4 0x08159f95 in filter_video (sh_video=0x8c33458, frame=0x8bf0da8, pts=2.6276249885559082) at dec_video.c:415
#5 0x080b4e53 in main (argc=19, argv=0xbfc712d4) at mplayer.c:2046
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x827190c to 0x827194c:
0x0827190c <vo_update_osd+6892>: (bad)
0x0827190d <vo_update_osd+6893>: decl 0x8e97a415(%ebx)
0x08271913 <vo_update_osd+6899>: or %cl,0xbf0fff41(%ebp)
0x08271919 <vo_update_osd+6905>: mov %al,%ch
0x0827191b <vo_update_osd+6907>: add %al,(%eax)
0x0827191d <vo_update_osd+6909>: add %cl,(%edi)
0x0827191f <vo_update_osd+6911>: scas %es:(%edi),%eax
0x08271920 <vo_update_osd+6912>: inc %edx
0x08271921 <vo_update_osd+6913>: adc $0x8b,%al
0x08271923 <vo_update_osd+6915>: push %esp
0x08271924 <vo_update_osd+6916>: mov (%eax),%bl
0x08271926 <vo_update_osd+6918>: mov 0xfffffd70(%ebp),%ecx
0x0827192c <vo_update_osd+6924>: add 0xc(%edx),%eax
0x0827192f <vo_update_osd+6927>: mov 0xc(%ebp),%edx
0x08271932 <vo_update_osd+6930>: sub %eax,%edx
0x08271934 <vo_update_osd+6932>: mov %edx,0xc(%ecx)
0x08271937 <vo_update_osd+6935>: jmp 0x827142e <vo_update_osd+5646>
0x0827193c <vo_update_osd+6940>: mov 0xc(%ebp),%ebx
0x0827193f <vo_update_osd+6943>: mov $0x51eb851f,%edx
0x08271944 <vo_update_osd+6948>: imul 0x88998b4,%ebx
0x0827194b <vo_update_osd+6955>: mov %ebx,%eax
End of assembler dump.
(gdb) info all-registers
eax 0x0 0
ecx 0x8a5ee48 145092168
edx 0xd07070c 218564364
ebx 0x150 336
esp 0xbfc6ecf0 0xbfc6ecf0
ebp 0xbfc6eff8 0xbfc6eff8
esi 0x7f7f7f7f 2139062143
edi 0x8a5ee48 145092168
eip 0x827192c 0x827192c <vo_update_osd+6924>
eflags 0x210202 [ IF RF ID ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 -nan(0x7f7f7f7f7f7f7f7f) (raw 0xffff7f7f7f7f7f7f7f7f)
st1 -nan(0x7f007f007f007f) (raw 0xffff007f007f007f007f)
st2 -nan(0x7f7f7f7f7f7f7f7f) (raw 0xffff7f7f7f7f7f7f7f7f)
st3 -nan(0x7f007f007f007f) (raw 0xffff007f007f007f007f)
st4 -nan(0x80008000800080) (raw 0xffff0080008000800080)
st5 -nan(0x80008000800080) (raw 0xffff0080008000800080)
st6 0.17609399955540538940113037824630737 (raw 0x3ffcb451fc4473000000)
st7 2.627624988555908203125 (raw 0x4000a82b020000000000)
fctrl 0x37f 895
fstat 0x420 1056
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 = {0x80 <repeats 16 times>}, v8_int16 = {0x8080,

0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080}, v4_int32 = {0x80808080, 0x80808080, 0x80808080, 0x80808080}, v2_int64 = {
0x8080808080808080, 0x8080808080808080}, uint128 = 0x80808080808080808080808080808080}

xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x80 <repeats 16 times>}, v8_int16 = {0x8080,

0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080}, v4_int32 = {0x80808080, 0x80808080, 0x80808080, 0x80808080}, v2_int64 = {
0x8080808080808080, 0x8080808080808080}, uint128 = 0x80808080808080808080808080808080}

xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x80 <repeats 16 times>}, v8_int16 = {0x8080,

0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080}, v4_int32 = {0x80808080, 0x80808080, 0x80808080, 0x80808080}, v2_int64 = {
0x8080808080808080, 0x8080808080808080}, uint128 = 0x80808080808080808080808080808080}

xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x80 <repeats 16 times>}, v8_int16 = {0x8080,

0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080, 0x8080}, v4_int32 = {0x80808080, 0x80808080, 0x80808080, 0x80808080}, v2_int64 = {
0x8080808080808080, 0x8080808080808080}, uint128 = 0x80808080808080808080808080808080}

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,
---Type <return> to continue, or q <return> to quit---

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 0x1fa0 [ PE IM DM ZM OM UM PM ]
mm0 {uint64 = 0x7f7f7f7f7f7f7f7f, v2_int32 = {0x7f7f7f7f, 0x7f7f7f7f}, v4_int16 = {0x7f7f, 0x7f7f, 0x7f7f, 0x7f7f},

v8_int8 = {0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f}}

mm1 {uint64 = 0x7f007f007f007f, v2_int32 = {0x7f007f, 0x7f007f}, v4_int16 = {0x7f, 0x7f, 0x7f, 0x7f}, v8_int8 = {0x7f, 0x0,

0x7f, 0x0, 0x7f, 0x0, 0x7f, 0x0}}

mm2 {uint64 = 0x7f7f7f7f7f7f7f7f, v2_int32 = {0x7f7f7f7f, 0x7f7f7f7f}, v4_int16 = {0x7f7f, 0x7f7f, 0x7f7f, 0x7f7f},

v8_int8 = {0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f}}

mm3 {uint64 = 0x7f007f007f007f, v2_int32 = {0x7f007f, 0x7f007f}, v4_int16 = {0x7f, 0x7f, 0x7f, 0x7f}, v8_int8 = {0x7f, 0x0,

0x7f, 0x0, 0x7f, 0x0, 0x7f, 0x0}}

mm4 {uint64 = 0x80008000800080, v2_int32 = {0x800080, 0x800080}, v4_int16 = {0x80, 0x80, 0x80, 0x80}, v8_int8 = {0x80, 0x0,

0x80, 0x0, 0x80, 0x0, 0x80, 0x0}}

mm5 {uint64 = 0x80008000800080, v2_int32 = {0x800080, 0x800080}, v4_int16 = {0x80, 0x80, 0x80, 0x80}, v8_int8 = {0x80, 0x0,

0x80, 0x0, 0x80, 0x0, 0x80, 0x0}}

mm6 {uint64 = 0xb451fc4473000000, v2_int32 = {0x73000000, 0xb451fc44}, v4_int16 = {0x0, 0x7300, 0xfc44, 0xb451}, v8_int8 = {

0x0, 0x0, 0x0, 0x73, 0x44, 0xfc, 0x51, 0xb4}}

mm7 {uint64 = 0xa82b020000000000, v2_int32 = {0x0, 0xa82b0200}, v4_int16 = {0x0, 0x0, 0x200, 0xa82b}, v8_int8 = {0x0, 0x0,

0x0, 0x0, 0x0, 0x2, 0x2b, 0xa8}}

Change History (2)

comment:1 by resnick147@…, 17 years ago

Some additional version info:

MPlayer dev-SVN-r24632-4.1.2 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3400+ (Family: 15, Model: 12, Stepping: 0)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1

$uname -a

Linux athlon 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686 GNU/Linux

$ls -l /lib/libc[.-]*

-rwxr-xr-x 1 root root 1216808 2007-04-04 12:48 /lib/libc-2.5.so
lrwxrwxrwx 1 root root 11 2007-04-20 14:20 /lib/libc.so.6 -> libc-2.5.so

$gcc -v

Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)

$ld -v
GNU ld version 2.17.50 20070103 Ubuntu

$as --version
GNU assembler 2.17.50 20070103 Ubuntu

comment:2 by compn, 13 years ago

Cc: patriotact@… added

upload that srt file if you still got it.

Note: See TracTickets for help on using tickets.