[MPlayer-users] Crash in draw_alpha_rgb32 (mplayer with vaapi patch)
José Bernardo Bandos Rodrigues
bernardo at bandos.net
Fri Jan 1 19:37:41 CET 2010
Hi all,
I am building mplayer with the vaapi patches using the kanotix script (
http://www.kanotix.com/files/fix/mplayer-vaapi-latest.txt). It uses the
patches from
http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-latest.tar.bz2,
and I've been having this problem at least with the 20091209, 20091221 and
20091228 versions of the patches. I can watch mkv/x264 films using vaapi
acceleration, but as soon as I try to add subtitles, I get SIGSEGV crashes.
The svn revisions of mplayer, ffmpeg, and dvdnav used are 30134, 20947 and
1188 respectively.
I am using kubuntu 9.10 (karmic)
$ uname -a
Linux 1101ha-j 2.6.31-17-lpia #54-Ubuntu SMP Thu Dec 10 16:18:14 UTC 2009
i686 GNU/Linux
$ ls -l /lib/libc[.-]*
-rwxr-xr-x 1 root root 1393092 2009-10-07 04:55 /lib/libc-2.10.1.so
lrwxrwxrwx 1 root root 14 2009-10-07 14:24 /lib/libc.so.6 ->
libc-2.10.1.so
$ X -version
X.Org X Server 1.6.4
Release Date: 2009-9-27
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-23-server i686 Ubuntu
Current Operating System: Linux 1101ha-j 2.6.31-17-lpia #54-Ubuntu SMP Thu
Dec 10 16:18:14 UTC 2009 i686
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-2.6.31-17-lpia
root=UUID=d6fd38ae-05ca-4858-9091-5ee51989bde1 ro quiet splash irqpoll
mem=2000mb
Build Date: 14 November 2009 05:47:39PM
xorg-server 2:1.6.4-2ubuntu4.1 (buildd@)
$ gcc -v
Using built-in specs.
Target: i686-linux-gnulp
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.4.1-4ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4
--enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
--disable-werror --with-arch=pentium-m --with-tune=i586
--enable-checking=release --build=i686-linux-gnulp --host=i686-linux-gnulp
--target=i686-linux-gnulp
Thread model: posix
gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8)
$ gcc-4.3 -v
Using built-in specs.
Target: i686-linux-gnulp
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.3.4-5ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --with-arch=i686 --with-tune=i586
--enable-checking=release --build=i686-linux-gnulp --host=i686-linux-gnulp
--target=i686-linux-gnulp
Thread model: posix
gcc version 4.3.4 (Ubuntu 4.3.4-5ubuntu1)
$ ld -v
GNU ld (GNU Binutils for Ubuntu) 2.20
$ as --version
GNU assembler (GNU Binutils for Ubuntu) 2.20
The hardware is a Asus eeepc 1101HA - Intel(R) Atom(TM) CPU Z520 @
1.33GHz, GMA500 (poulsbo) chipset, 2GB RAM, 160GB HD
I build it again by hand after verifying the problem is still there in these
versions, passing "CC=gcc-4.3 --enable-debug=3" to configure, and this is
the backtrace I get of the crashes:
VO: [vaapi] 1280x688 => 1280x688 H.264 VA API Acceleration
[vo_vaapi] Could not set up subpicture palette
[VD_FFMPEG] XVMC-accelerated MPEG-2.
A: 1.9 V: 1.9 A-V: -0.004 ct: 0.017 0/ 0 52% 42% 29.5% 35 0
Program received signal SIGSEGV, Segmentation fault.
draw_alpha_rgb32 (x0=<value optimized out>, y0=310, w=853, h=68,
src=0x94eefd0 "", srca=0x94fd360 "", stride=856) at libvo/vo_vaapi.c:437
437 dst[4*x + 0] = c;
(gdb) bt
#0 draw_alpha_rgb32 (x0=<value optimized out>, y0=310, w=853, h=68,
src=0x94eefd0 "", srca=0x94fd360 "", stride=856) at libvo/vo_vaapi.c:437
#1 0x0822a971 in vo_draw_text_from_buffer (dxs=1280, dys=688,
left_border=0, top_border=0, right_border=0, bottom_border=0, orig_w=1280,
orig_h=688, draw_alpha=0x813c670 <draw_alpha_rgb32>) at libvo/sub.c:170
#2 vo_draw_text_ext (dxs=1280, dys=688, left_border=0, top_border=0,
right_border=0, bottom_border=0, orig_w=1280, orig_h=688,
draw_alpha=0x813c670 <draw_alpha_rgb32>) at libvo/sub.c:1274
#3 0x0822a9d7 in vo_draw_text (dxs=1280, dys=688, draw_alpha=0x813c670
<draw_alpha_rgb32>) at libvo/sub.c:1286
#4 0x0813d2ad in draw_osd () at libvo/vo_vaapi.c:1518
#5 0x081c6a71 in control (vf=0x8ef3278, request=7, data=0x0) at
libmpcodecs/vf_vo.c:95
#6 0x08195a0b in filter_video (sh_video=0x8ec4b40, frame=0x8fbab58,
pts=62.562000274658203) at libmpcodecs/dec_video.c:458
#7 0x080e4bf0 in generate_video_frame (argc=8, argv=0xbffff7b4) at
mplayer.c:1802
#8 update_video (argc=8, argv=0xbffff7b4) at mplayer.c:2374
#9 main (argc=8, argv=0xbffff7b4) at mplayer.c:3766
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x813c72c to 0x813c76c:
0x0813c72c <draw_alpha_rgb32+188>: lea 0x0(%esi,%eiz,1),%esi
0x0813c730 <draw_alpha_rgb32+192>: mov 0x1c(%ebp),%esi
0x0813c733 <draw_alpha_rgb32+195>: xor %edx,%edx
0x0813c735 <draw_alpha_rgb32+197>: mov 0x18(%ebp),%ebx
0x0813c738 <draw_alpha_rgb32+200>: mov 0x10(%ebp),%eax
0x0813c73b <draw_alpha_rgb32+203>: add %edi,%esi
0x0813c73d <draw_alpha_rgb32+205>: add %edi,%ebx
0x0813c73f <draw_alpha_rgb32+207>: test %eax,%eax
0x0813c741 <draw_alpha_rgb32+209>: jle 0x813c769
<draw_alpha_rgb32+249>
0x0813c743 <draw_alpha_rgb32+211>: nop
0x0813c744 <draw_alpha_rgb32+212>: lea 0x0(%esi,%eiz,1),%esi
0x0813c748 <draw_alpha_rgb32+216>: movzbl (%ebx,%edx,1),%eax
0x0813c74c <draw_alpha_rgb32+220>: mov %al,(%ecx,%edx,4)
0x0813c74f <draw_alpha_rgb32+223>: mov %al,0x1(%ecx,%edx,4)
0x0813c753 <draw_alpha_rgb32+227>: mov %al,0x2(%ecx,%edx,4)
0x0813c757 <draw_alpha_rgb32+231>: movzbl (%esi,%edx,1),%eax
0x0813c75b <draw_alpha_rgb32+235>: neg %eax
0x0813c75d <draw_alpha_rgb32+237>: mov %al,0x3(%ecx,%edx,4)
0x0813c761 <draw_alpha_rgb32+241>: add $0x1,%edx
0x0813c764 <draw_alpha_rgb32+244>: cmp %edx,0x10(%ebp)
0x0813c767 <draw_alpha_rgb32+247>: jg 0x813c748
<draw_alpha_rgb32+216>
0x0813c769 <draw_alpha_rgb32+249>: addl $0x1,-0x20(%ebp)
End of assembler dump.
(gdb) info
all-registers
eax 0x0 0
ecx 0x1ae34d8a 451104138
edx 0x0 0
ebx 0x94eefd0 156168144
esp 0xbfffb368 0xbfffb368
ebp 0xbfffb388 0xbfffb388
esi 0x94fd360 156226400
edi 0x0 0
eip 0x813c74c 0x813c74c <draw_alpha_rgb32+220>
eflags 0x210206 [ PF IF RF ID ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 -15201.575199999999313149601221084595 (raw
0xc00ced864d013a92a000)
st1 -15201.075199999999313149601221084595 (raw
0xc00ced844d013a92a000)
st2 -0.0041708298958837985992431640625 (raw
0xbff788ab750000000000)
st3 -1 (raw 0xbfff8000000000000000)
st4 -98.214600191392975148119148798286915 (raw
0xc005c46de013877f1000)
st5 62.562000274658203125 (raw 0x4004fa3f7d0000000000)
st6 100 (raw 0x4005c800000000000000)
st7 192 (raw 0x4006c000000000000000)
fctrl 0x37f 895
fstat 0x420 1056
ftag 0xffff 65535
fiseg 0x73 115
fioff 0x827d639 136828473
foseg 0x7b 123
fooff 0xbfffb044 -1073762236
fop 0x34d 845
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0, 0x8, 0x0 <repeats 14 times>}, v8_int16 = {0x800, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x800, 0x0, 0x0, 0x0},
v2_int64 = {0x800, 0x0}, uint128 = 0x00000000000000000000000000000800}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0xe1, 0xbc, 0xe8, 0xdc, 0xd6, 0x49, 0x29, 0x32, 0xf8,
0x99, 0x70, 0x2a, 0x11, 0x14, 0x94, 0x87}, v8_int16 = {0xbce1, 0xdce8,
0x49d6, 0x3229, 0x99f8, 0x2a70, 0x1411, 0x8794}, v4_int32 = {
0xdce8bce1, 0x322949d6, 0x2a7099f8, 0x87941411}, v2_int64 =
{0x322949d6dce8bce1, 0x879414112a7099f8},
uint128 = 0x879414112a7099f8322949d6dce8bce1}
xmm2 {v4_float = {0x0, 0x0, 0xc063000, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0xe9, 0x22, 0x6c, 0xab, 0x3f, 0xea, 0x20, 0x2c,
0xc6, 0x80, 0xa1, 0x50, 0x20, 0x4, 0x66, 0x99}, v8_int16 = {0x22e9,
0xab6c, 0xea3f, 0x2c20, 0x80c6, 0x50a1, 0x420, 0x9966}, v4_int32 = {
0xab6c22e9, 0x2c20ea3f, 0x50a180c6, 0x99660420}, v2_int64 =
{0x2c20ea3fab6c22e9, 0x9966042050a180c6},
uint128 = 0x9966042050a180c62c20ea3fab6c22e9}
xmm3 {v4_float = {0x1e41e000, 0x0, 0x0, 0xd5000000}, v2_double =
{0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x3c, 0xc8,
0xc3, 0x50, 0x25, 0x62, 0x74, 0x60, 0xc9, 0x68, 0x51, 0x93, 0x56, 0xa0,
0x80, 0xd6}, v8_int16 = {0xc83c, 0x50c3, 0x6225, 0x6074, 0x68c9,
0x9351, 0xa056, 0xd680}, v4_int32 = {0x50c3c83c, 0x60746225, 0x935168c9,
0xd680a056}, v2_int64 = {0x6074622550c3c83c, 0xd680a056935168c9},
uint128 = 0xd680a056935168c96074622550c3c83c}
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 = 0xed864d013a92a000, v2_int32 = {0x3a92a000,
0xed864d01}, v4_int16 = {0xa000, 0x3a92, 0x4d01, 0xed86}, v8_int8 = {0x0,
0xa0, 0x92, 0x3a, 0x1, 0x4d, 0x86, 0xed}}
mm1 {uint64 = 0xed844d013a92a000, v2_int32 = {0x3a92a000,
0xed844d01}, v4_int16 = {0xa000, 0x3a92, 0x4d01, 0xed84}, v8_int8 = {0x0,
0xa0, 0x92, 0x3a, 0x1, 0x4d, 0x84, 0xed}}
mm2 {uint64 = 0x88ab750000000000, v2_int32 = {0x0, 0x88ab7500},
v4_int16 = {0x0, 0x0, 0x7500, 0x88ab}, v8_int8 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x75, 0xab, 0x88}}
mm3 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x80}}
mm4 {uint64 = 0xc46de013877f1000, v2_int32 = {0x877f1000,
0xc46de013}, v4_int16 = {0x1000, 0x877f, 0xe013, 0xc46d}, v8_int8 = {0x0,
0x10, 0x7f, 0x87, 0x13, 0xe0, 0x6d, 0xc4}}
mm5 {uint64 = 0xfa3f7d0000000000, v2_int32 = {0x0, 0xfa3f7d00},
v4_int16 = {0x0, 0x0, 0x7d00, 0xfa3f}, v8_int8 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x7d, 0x3f, 0xfa}}
mm6 {uint64 = 0xc800000000000000, v2_int32 = {0x0, 0xc8000000},
v4_int16 = {0x0, 0x0, 0x0, 0xc800}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xc8}}
mm7 {uint64 = 0xc000000000000000, v2_int32 = {0x0, 0xc0000000},
v4_int16 = {0x0, 0x0, 0x0, 0xc000}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xc0}}
------------------------
Any idea on how to fix this, so that I can watch my films with subtitles?
Thanks!
More information about the MPlayer-users
mailing list