SIGILL with g200 on pII with cpu detection
Hi, I got a sigill in draw_slice_g200(), when disabling runtime cpu detection it works fine. Attila Kinali ---schnipp--- (gdb) run -vfm 5 /data/outsource/misc/Musik\ Videos/\[Yaoithrower\]White_reflection.SBC.avi -v Starting program: /home/attila/tmp/mp/main/./mplayer -vfm 5 /data/outsource/misc/Musik\ Videos/\[Yaoithrower\]White_reflection.SBC.avi -v [New Thread 1024 (LWP 17009)] MPlayer CVS-020330-15:13-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!) CPU vendor name: GenuineIntel max cpuid level: 2 CPU: Intel Pentium II Klamath/Pentium II OverDrive (Type: 6, Stepping: 3) CPUflags: Type: 6 MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0 Compiled with RUNTIME CPU Detection - warning, it's not optimal! To get best performance, recompile mplayer from sources with --disable-runtime-cpudetection /etc/mplayer.conf(3): option: vo /etc/mplayer.conf(3): parameter: mga Reading /home/ihsan/.mplayer/codecs.conf: 30 audio & 80 video codecs CommandLine: '-vfm' '5' '/data/outsource/misc/Musik Videos/[Yaoithrower]White_reflection.SBC.avi' '-v' get_path('font/font.desc') -> '/home/ihsan/.mplayer/font/font.desc' Font /home/ihsan/.mplayer/font/font.desc loaded successfully! (138 chars) Linux RTC init error: Permission denied Using usleep() timing get_path('input.conf') -> '/home/ihsan/.mplayer/input.conf' Can't open input config file /home/ihsan/.mplayer/input.conf : No such file or directory Falling back on default (hardcoded) config Playing /data/outsource/misc/Musik Videos/[Yaoithrower]White_reflection.SBC.avi Can't open IFO file: No such file or directory Not an URL! File size is 69050368 bytes Detected AVI file format! list_end=0x2292 ======= AVI Header ======= us/frame: 33 367 (fps=29.970) max bytes/sec: 0 padding: 0 MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED frames total: 8457 initial: 0 streams: 2 Suggested BufferSize: 0 Size: 640 x 480 list_end=0x10F4 ==> Found video stream: 0 ======= STREAM Header ======= Type: vids FCC: div3 (33766964) Flags: 0 Priority: 0 Language: 0 InitialFrames: 0 Rate: 29970/1000 = 29.970 Start: 0 Len: 8457 Suggested BufferSize: 107110 Quality 10000 Sample size: 0 found 'bih', 40 bytes of 40 ======= VIDEO Format ====== biSize 40 biWidth 640 biHeight 480 biPlanes 1 biBitCount 24 biCompression 861292868='DIV3' biSizeImage 921600 =========================== Regenerating keyframe table for DIVX 3 video list_end=0x2186 ==> Found audio stream: 1 ======= STREAM Header ======= Type: auds FCC: (0) Flags: 0 Priority: 0 Language: 0 InitialFrames: 1 Rate: 20000/1 = 20000.000 Start: 0 Len: 5606990 Suggested BufferSize: 10000 Quality -1 Sample size: 1 found 'wf', 30 bytes of 20 ======= WAVE Format ======= Format Tag: 85 (0x55) Channels: 2 Samplerate: 48000 avg byte/sec: 20000 Block align: 1 bits/sample: 0 cbSize: 12 list_end=0x2292 list_end=0x22B6 hdr=Software size=15 Software : Nandub v1.0rc2 Broken chunk? chunksize=1346 (id=JUNK) list_end=0x4197F30 Found movie at 0x280C - 0x4197F30 Reading INDEX block, 16846 chunks for 8457 frames Broken chunk? chunksize=0 (id=idx1) Reading INDEX block, 16846 chunks for 8457 frames AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x271C) Auto-selected AVI audio ID = 1 Auto-selected AVI video ID = 0 AVI: Searching for audio stream (id:1) AVI video length=63027822 VIDEO: [DIV3] 640x480 24bpp 29.97 fps 1786.9 kbps (218.1 kbyte/s) [V] filefmt:3 fourcc:0x33564944 size:640x480 fps:29.97 ftime:=0.0334 Clip info: Software: Nandub v1.0rc2 get_path('sub/') -> '/home/ihsan/.mplayer/sub/' Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3) Initializing audio codec... Selecting Audio Decoder: [mp3lib] MPEG layer-2, layer-3 dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer CPU vendor name: GenuineIntel max cpuid level: 2 CPU: Intel Pentium II Klamath/Pentium II OverDrive (Type: 6, Stepping: 3) mp3lib: made decode tables with MMX optimization init layer2&3 finished, tables done mp3lib: using MMX optimized decore! MPEG 1.0, Layer III, 48000 Hz 160 kbit Joint-Stereo, BPF: 480 Channels: 2, copyright: No, original: Yes, CRC: No, emphasis: 0 AUDIO: srate=48000 chans=2 bps=2 sfmt=0x10 ratio: 20000->192000 ========================================================================== Trying to force video codec driver family 5 ... Opening Video Decoder: [ffmpeg] FFmpeg's libavcodec codec family libavcodec: CPU flags: mmx INFO: libavcodec init OK! VDec: vo config request - 640 x 480, Planar YV12 Movie-Aspect is undefined - no prescaling applied. VO: [mga] 640x480 => 640x480 Planar YV12 VO: Description: Matrox G200/G400 overlay (/dev/mga_vid) VO: Author: Aaron Holtzman <aholtzma@ess.engr.uvic.ca> video_out->init(640x480->640x480,flags=0,'MPlayer',0x32315659) /dev/fb0: Permission denied Detected video codec: [ffdivx] drv:5 prio:0 (FFmpeg DivX ;-) (MS MPEG-4 v3)) ========================================================================== AO: [oss] 48000Hz Stereo Signed 16-bit (Little-Endian) AO: Description: OSS/ioctl audio output AO: Author: A'rpi ao2: 48000 Hz 2 chans Signed 16-bit (Little-Endian) audio_setup: using '/dev/dsp' dsp device audio_setup: sample format: Signed 16-bit (Little-Endian) (requested: Signed 16-bit (Little-Endian)) audio_setup: using 2 channels (requested: 2) audio_setup: using 48000 Hz samplerate (requested: 48000) audio_setup: frags: 16/16 (4096 bytes/frag) free: 65536 Start playing... Program received signal SIGILL, Illegal instruction. [Switching to Thread 1024 (LWP 17009)] 0x0807826c in draw_slice_g200 (image=0x830c698, stride=0x830c6a4, width=320, height=240, x=0, y=0) at mga_common.c:94 94 asm( (gdb) bt #0 0x0807826c in draw_slice_g200 (image=0x830c698, stride=0x830c6a4, width=320, height=240, x=0, y=0) at mga_common.c:94 #1 0x080785c8 in draw_slice (src=0x830c698, stride=0x830c6a4, w=640, h=480, x=0, y=0) at mga_common.c:188 #2 0x0808aa20 in decode_video (video_out=0x81d0880, sh_video=0x8270108, start=0x8291630 "\tvR\f\017ð¿\202§ÿy\am\032Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼\a\214:R\016\003\224\200ãö|\005R:ØëHRáx^\027\205áx^\027\205áx^\027\205áx^\027\205áx^\027\205áx^\027\205áx^\027\205áx^\027\205áx^\027\205àn°£\0055Å*°¢+°µ\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/\013Âð¼/", in_size=6806, drop_frame=0) at dec_video.c:191 #3 0x0805170f in main (argc=5, argv=0xbffffa24, envp=0xbffffa3c) at mplayer.c:1502 #4 0x404ad6cf in __libc_start_main () from /lib/libc.so.6 (gdb) l 89 src2 = image[2]; 90 91 for(h=0; h < height; h++) 92 { 93 #ifdef HAVE_MMX 94 asm( 95 "xorl %%eax, %%eax \n\t" 96 "1: \n\t" 97 PREFETCH" 64(%1, %%eax) \n\t" 98 PREFETCH" 64(%2, %%eax) \n\t" (gdb) disass $eip-32 $eip+32 Dump of assembler code from 0x807824c to 0x807828c: 0x807824c <draw_slice_g200+260>: or %dh,(%ecx) 0x807824e <draw_slice_g200+262>: (bad) 0x588b0478(%ebx) 0x8078254 <draw_slice_g200+268>: or %bh,(%ebx) 0x8078256 <draw_slice_g200+270>: jne 0x807826c <draw_slice_g200+292> 0x8078258 <draw_slice_g200+272>: jae 0x80782f0 <draw_slice_g200+424> 0x807825e <draw_slice_g200+278>: mov 0x10(%ebp),%ecx 0x8078261 <draw_slice_g200+281>: add $0xfffffff1,%ecx 0x8078264 <draw_slice_g200+284>: mov %ecx,0xfffffff4(%ebp) 0x8078267 <draw_slice_g200+287>: mov 0xfffffff4(%ebp),%ecx 0x807826a <draw_slice_g200+290>: xor %eax,%eax 0x807826c <draw_slice_g200+292>: prefetch 0x40(%edi,%eax,1) 0x8078271 <draw_slice_g200+297>: prefetch 0x40(%ebx,%eax,1) 0x8078276 <draw_slice_g200+302>: movq (%edi,%eax,1),%mm0 0x807827a <draw_slice_g200+306>: movq 0x8(%edi,%eax,1),%mm2 0x807827f <draw_slice_g200+311>: movq %mm0,%mm1 0x8078282 <draw_slice_g200+314>: movq %mm2,%mm3 0x8078285 <draw_slice_g200+317>: movq (%ebx,%eax,1),%mm4 0x8078289 <draw_slice_g200+321>: movq 0x8(%ebx,%eax,1),%mm5 End of assembler dump. ---schnapp--- ---schnip--- attila@stargazer:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 3 model name : Pentium II (Klamath) stepping : 3 cpu MHz : 300.690 cache size : 512 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov mmx bogomips : 599.65 attila@stargazer:~$ uname -a Linux stargazer 2.4.19-pre2-ac2 #1 Die Mär 5 15:14:34 CET 2002 i686 unknown ---schnapp-- -- I am a moslem, i am a terrorist.
Hi,
Hi,
I got a sigill in draw_slice_g200(), when disabling runtime cpu detection it works fine.
STFA i've reported this a week ago, and Michael wrote a new interleaving routine but as you cannot help me with testing on g200 i didn't change it... do you remember? tell me when you are at a g200 system and can try the code, then i'll change. or wait until i get acecss to g200 system again. A'rpi / Astral & ESP-team -- Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
On Sat, 30 Mar 2002 18:00:33 +0100 Arpi <arpi@thot.banki.hu> wrote:
tell me when you are at a g200 system and can try the code, then i'll change. or wait until i get acecss to g200 system again.
Ähmm.. what about now ? :) Attila Kinali -- I am a moslem, i am a terrorist.
participants (2)
-
Arpi -
Attila Kinali