MPlayer interrupted by signal 11 in module: filter_video - MPlayer crashed by bad usage of CPU/FPU/RAM. Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash. - MPlayer crashed. This shouldn't happen. It can be a bug in the MPlayer code _or_ in your drivers _or_ in your gcc version. If you think it's MPlayer's fault, please read DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and won't help unless you provide this information when reporting a possible bug. [ This binary of MPlayer in Debian is currently compiled with '--enable-debug'; the debugging symbols are in the package 'mplayer-dbg'.] |
$ sudo apt-get install mplayer-dbg $ pwd /home/c-aries/source/debian $ apt-get source mplayer $ cd mplayer-1.0~rc2/ $ gdb mplayer ... #使用gdb調試 (gdb) run -vo fbdev ~/video/擁抱春天.flv ... #因為我沒開X,所以調試是在終端下的jfbterm工作,視頻必需顯示在framebuffer上,所以為 -vo fbdev Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb5c136d0 (LWP 18529)] read_font_desc_ft (fname=0x8ae0800 "/usr/share/fonts/truetype/unifont/unifont.ttf", movie_width=320, movie_height=33124) at font_load_ft.c:797 797 font_load_ft.c: No such file or directory. in font_load_ft.c (gdb) list 792 in font_load_ft.c (gdb) |
$ sudo apt-get remove mplayer $ pwd /home/c-aries/source/debian/mplayer-1.0~rc2 $ sudo apt-get build-dep mplayer $ ./configure --prefix=/usr --enable-debug --codecsdir=/usr/lib/codecs/ --enable-fbdev --disable-dvdnav --disable-dvdread --disable-dvdread-internal --enable-mencoder && make ... #我的GNU小本沒有光碟機,所以--disable-dvd*,其間報錯,mencoder無法正常生成 $ gdb ./mplayer ... #學 0) 中的調試方法,發現視頻可正常播放,我還想用gdb調試一下mplayer看哪裡出錯了啊 : ( |
$ pwd /home/c-aries/source/mplayer $ cat url http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2 http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc2.tar.bz2 http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2 http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2 http://www.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-7.tar.bz2 http://www.mplayerhq.hu/MPlayer/skins/Blue-1.7.tar.bz2 http://www.mplayerhq.hu/MPlayer/patches/asmrules_fix_20061231.diff http://www.mplayerhq.hu/MPlayer/patches/cddb_fix_20070605.diff http://www.linuxfromscratch.org/patches/blfs/6.3/MPlayer-1.0rc1-ext_ffmpeg-1.patch $ wget -c -i url ... #根據url中的文件列表下載文件,省略 $ pwd /home/c-aries/source/mplayer/MPlayer-1.0rc2 $ ./configure --prefix=/usr --enable-debug --codecsdir=/usr/lib/codecs/ --enable-fbdev --disable-dvdnav --disable-dvdread --disable-dvdread-internal --enable-mencoder && make |
$ pwd /home/c-aries/source/mplayer/MPlayer-1.0rc2 $ ./configure --prefix=/usr --enable-debug --codecsdir=/usr/lib/codecs/ --enable-fbdev --disable-dvdnav --disable-dvdread --disable-dvdread-internal --enable-mencoder --confdir=/etc/mplayer && make $ gdb ./mplayer (gdb) run -vo fbdev ~/video/擁抱春天.flv ... #省略 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb6a808f0 (LWP 31599)] read_font_desc_ft ( fname=0xa454100 "/usr/share/fonts/truetype/unifont/unifont.ttf", movie_width=320, movie_height=33124) at font_load_ft.c:797 797 charset[i] = charcode; (gdb) list 792 #ifdef HAVE_FREETYPE21 793 i = 0; 794 charcode = FT_Get_First_Char( face, &gindex ); 795 while (gindex != 0) { 796 if (charcode < 65536 && charcode >= 33) { // sanity check 797 charset[i] = charcode; 798 charcodes[i] = 0; 799 i++; 800 } 801 charcode = FT_Get_Next_Char( face, charcode, &gindex ); (gdb) backtrace #0 read_font_desc_ft ( fname=0xa454100 "/usr/share/fonts/truetype/unifont/unifont.ttf", movie_width=320, movie_height=33124) at font_load_ft.c:797 #1 0x082361a7 in load_font_ft (width=320, height=182, fontp=0x87f7380, font_name=0xa2fe680 "Sans") at font_load_ft.c:1164 #2 0x082326db in vo_update_osd (dxs=320, dys=182) at sub.c:1093 #3 0x08232c83 in vo_draw_text (dxs=320, dys=182, draw_alpha=0x80ed570 <draw_alpha>) at sub.c:1228 #4 0x080edc84 in draw_osd () at vo_fbdev.c:1093 #5 0x0814a492 in control (vf=0xa409ed0, request=7, data=0x0) at vf_vo.c:94 #6 0x08142e54 in control (vf=0xa3ec538, request=7, data=0x0) at vf_scale.c:449 #7 0x0811f685 in filter_video (sh_video=0xa3b0280, frame=0xa3ee710, pts=0) at dec_video.c:415 #8 0x080a3460 in main (argc=4, argv=0xbfbf95c4) at mplayer.c:2046 (gdb) |
$ cat /etc/mplayer/mplayer.conf ### mplayer DEBCONF AREA. DO NOT EDIT THIS AREA OR INSERT TEXT BEFORE IT. #video output driver #vo=xv,x11 #c-aries: 添加fbdev支持 vo=fbdev,xv,x11 #device for dvd #dvd-device=/dev/cdrom #truetype font, using fontconfig #fontconfig=1 #c-aries: fontconfig=1是mplayer產生bug的原因 font='Sans' #if you do not like this default, override it by adding # a ao= line below this debconf area #ao=alsa,oss #c-aries: 默認為alsa,oss我不熟悉,沒配置 ao=alsa ### END OF DEBCONF AREA. PLACE YOUR EDITS BELOW; THEY WILL BE PRESERVED. |
gdb mplayer bug
[火星人 ] 用gdb調試崩潰了的mplayer已經有680次圍觀