Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#1813 closed defect (invalid)

mplayer -vo xv randomly causes PC to hang and freeze completely (Pentium III, mach64 video chip)

Reported by: david.bluecame@… Owned by: reimar
Priority: normal Component: core
Version: unspecified Severity: major
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Description:
mplayer -vo xv randomly causes PC (Pentium III Coppermine) to hang and freeze completely. No log files can be obtained as the PC gets instantly and completely freeze. My video chip is Mach64 (ATI Rage Mobility M1)

I have located the problem at MMX2 detection. My CPU does not show MMX2 nor MMXEXT capabilities in /proc/cpuinfo. However, mplayer does detect MMX2 and uses (a tiny bit of it) for Optimized OnScreenDisplay.

I have modified the mplayer cpudetect.c file so it forces to 0 the MMX2 capability. Then, the problem is corrected and no more PC freezes or hangs ocurr.

I just wanted to tell, as it could also happen to other people out there. It's difficult to track this problem to MMX2 detection.

I also wanted to make a request: maybe one of the following two options could be done to make this easier:
1) correct cpudetect.c so it does not falsely detect MMX2 in a MMX2-less computer as mine.
2) (this is only if point 1 cannot be achieved), create new mplayer parameters to override cpu capabilities detection in runtime, so we could avoid to compile again mplayer to disable a particular cpu capability.

Thank you in advance and best regards. David.

Additional info:

  • package version(s)

mplayer versions for more than 1 year
kernel26 versions for more than 1 year

  • config and/or log files etc.

-- /proc/cpuinfo, as you can see neither MMX2 nor MMXEXT are shown here:

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz : 646.694
cache size : 256 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 pse36 mmx fxsr sse up
bogomips : 1293.27
clflush size : 32
cache_alignment : 32
address sizes : 36 bits physical, 32 bits virtual
power management:

-- mplayer (original) output log. You can see how MMX2 is detected and a tiny bit of it is used for Optimized OnScreenDisplay. This setup causes random complete PC freezes.

MPlayer SVN-r32227-4.5.1 (C) 2000-2010 MPlayer Team
CPU vendor name: GenuineIntel max cpuid level: 2
CPU: (Family: 6, Model: 8, Stepping: 6)
Detected cache-line size is 32 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 0 SSSE3: 0
Compiled with runtime CPU detection.
get_path('codecs.conf') -> '/home/cris-david/.mplayer/codecs.conf'
Reading /home/cris-david/.mplayer/codecs.conf: Can't open '/home/cris-david/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: 159 audio & 348 video codecs
Configuration: --prefix=/usr --enable-runtime-cpudetection --disable-gui --disable-arts --disable-liblzo --disable-speex --disable-openal --disable-fribidi --disable-libdv --disable-musepack --disable-esd --disable-mga --enable-xvmc --language=all --confdir=/etc/mplayer
CommandLine: '-v' 'inicia_video_mach64.avi'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/cris-david/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/cris-david/.mplayer/input.conf'
Parsing input config file /home/cris-david/.mplayer/input.conf
Input config file /home/cris-david/.mplayer/input.conf parsed: 84 binds
Setting up LIRC support...
get_path('inicia_video_mach64.avi.conf') -> '/home/cris-david/.mplayer/inicia_video_mach64.avi.conf'

Playing inicia_video_mach64.avi.
get_path('sub/') -> '/home/cris-david/.mplayer/sub/'
[file] File size is 7418 bytes
STREAM: [file] inicia_video_mach64.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
CACHE_PRE_INIT: 0 [0] 0 pre:4096000 eof:0

Cache fill: 0.00% (0 bytes)
Cache fill: 0.04% (7418 bytes)

LAVF_check: AVI format
AVI file format detected.
list_end=0xD4
======= AVI Header =======
us/frame: 40000 (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (2320) HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE
frames total: 1 initial: 0
streams: 1
Suggested BufferSize: 0
Size: 720 x 406
==========================
list_end=0xD4
==> Found video stream: 0
[aviheader] Video stream found, -vid 0

STREAM Header =====

Type: vids FCC: FMP4 (34504D46)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 25/1 = 25.000
Start: 0 Len: 1
Suggested BufferSize: 3278
Quality 0
Sample size: 0
==========================
Found 'bih', 40 bytes of 40
======= VIDEO Format ======
biSize 40
biWidth 720
biHeight 406
biPlanes 1
biBitCount 24
biCompression 877677894='FMP4'
biSizeImage 876960
===========================
Regenerating keyframe table for MPEG-4 video.
list_end=0x102
hdr=Software size=26
Software : MEncoder SVN-r30886-4.4.3
list_end=0x1CE2
Found movie at 0x100C - 0x1CE2
Reading INDEX block, 1 chunks for 1 frames (fpos=7402).
Auto-selected AVI video ID = 0
ChunkOffset out of range! idx=0x4
AVI: Searching for audio stream (id:-1)
AVI: No audio stream found -> no sound.
AVI video size=3278 (1) audio size=0 (0)
VIDEO: [FMP4] 720x406 24bpp 25.000 fps 655.6 kbps (80.0 kbyte/s)
[V] filefmt:3 fourcc:0x34504D46 size:720x406 fps:25.000 ftime:=0.0400
Clip info:
Software: MEncoder SVN-r30886-4.4.3
get_path('sub/') -> '/home/cris-david/.mplayer/sub/'
X11 opening display: :0.0
vo: X11 color mask: FFFF (R:F800 G:7E0 B:1F)
vo: X11 running at 1440x900 with depth 16 and 16 bpp (":0.0" => local display)
[x11] Detected wm supports layers.
[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 LAYER FULLSCREEN ABOVE BELOW X atoms
[VO_XV] Using Xv Adapter #0 (ATI Mach64 Back-end Overlay Scaler)
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x000c41).
[xv common] Maximum source image dimensions: 720x2048
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Audio: no sound
Freeing 0 unused audio chunks.
Starting playback...
[ffmpeg] aspect_ratio: 1.773399
VDec: vo config request - 720 x 406 (preferred colorspace: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.77:1 - prescaling to correct movie aspect.
VO Config (720x406->720x406,flags=1,'MPlayer',0x32315659)
VO: [xv] 720x406 => 720x406 Planar YV12 [fs]
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel@…> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 63 for hw scaling
* [vo] Allocating mp_image_t, 720x416x12bpp YUV planar, 449280 bytes
Unicode font: 5025 glyphs.
Unicode font: 5025 glyphs.
V: 0.0 1/ 1 ??% ??% ??,?% 0 0 0% [J

ds_fill_buffer: EOF reached (stream: video)
V: 0.0 1/ 1 ??% ??% ??,?% 0 0 0% [J

EOF code: 1

Uninit video: ffmpeg
vo: uninit ...

Exiting... (End of file)

-- mplayer (cpudetect.c modified) output log. You can see how now MMX2 is not detected and now only MMX is used for Optimized OnScreenDisplay. Everything works ok now and no PC hangs nor freezes ocurr.

MPlayer SVN-r32227-4.5.0 (C) 2000-2010 MPlayer Team
CPU vendor name: GenuineIntel max cpuid level: 2
CPU: (Family: 6, Model: 8, Stepping: 6)
Detected cache-line size is 32 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags: MMX: 1 MMX2: 0 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 0 SSSE3: 0
Compiled with runtime CPU detection.
get_path('codecs.conf') -> '/home/cris-david/.mplayer/codecs.conf'
Reading /home/cris-david/.mplayer/codecs.conf: Can't open '/home/cris-david/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: 159 audio & 348 video codecs
Configuration: --prefix=/usr --enable-runtime-cpudetection --disable-gui --disable-arts --disable-liblzo --disable-speex --disable-openal --disable-fribidi --disable-libdv --disable-musepack --disable-esd --disable-mga --enable-xvmc --language=all --confdir=/etc/mplayer
CommandLine: '-v' 'inicia_video_mach64.avi'
init_freetype
Using MMX Optimized OnScreenDisplay
get_path('fonts') -> '/home/cris-david/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/cris-david/.mplayer/input.conf'
Parsing input config file /home/cris-david/.mplayer/input.conf
Input config file /home/cris-david/.mplayer/input.conf parsed: 84 binds
Setting up LIRC support...
get_path('inicia_video_mach64.avi.conf') -> '/home/cris-david/.mplayer/inicia_video_mach64.avi.conf'

Playing inicia_video_mach64.avi.
get_path('sub/') -> '/home/cris-david/.mplayer/sub/'
[file] File size is 7418 bytes
STREAM: [file] inicia_video_mach64.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
CACHE_PRE_INIT: 0 [0] 0 pre:4096000 eof:0

Cache fill: 0.00% (0 bytes)
Cache fill: 0.04% (7418 bytes)

LAVF_check: AVI format
AVI file format detected.
list_end=0xD4
======= AVI Header =======
us/frame: 40000 (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (2320) HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE
frames total: 1 initial: 0
streams: 1
Suggested BufferSize: 0
Size: 720 x 406
==========================
list_end=0xD4
==> Found video stream: 0
[aviheader] Video stream found, -vid 0

STREAM Header =====

Type: vids FCC: FMP4 (34504D46)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 25/1 = 25.000
Start: 0 Len: 1
Suggested BufferSize: 3278
Quality 0
Sample size: 0
==========================
Found 'bih', 40 bytes of 40
======= VIDEO Format ======
biSize 40
biWidth 720
biHeight 406
biPlanes 1
biBitCount 24
biCompression 877677894='FMP4'
biSizeImage 876960
===========================
Regenerating keyframe table for MPEG-4 video.
list_end=0x102
hdr=Software size=26
Software : MEncoder SVN-r30886-4.4.3
list_end=0x1CE2
Found movie at 0x100C - 0x1CE2
Reading INDEX block, 1 chunks for 1 frames (fpos=7402).
Auto-selected AVI video ID = 0
ChunkOffset out of range! idx=0x4
AVI: Searching for audio stream (id:-1)
AVI: No audio stream found -> no sound.
AVI video size=3278 (1) audio size=0 (0)
VIDEO: [FMP4] 720x406 24bpp 25.000 fps 655.6 kbps (80.0 kbyte/s)
[V] filefmt:3 fourcc:0x34504D46 size:720x406 fps:25.000 ftime:=0.0400
Clip info:
Software: MEncoder SVN-r30886-4.4.3
get_path('sub/') -> '/home/cris-david/.mplayer/sub/'
X11 opening display: :0.0
vo: X11 color mask: FFFF (R:F800 G:7E0 B:1F)
vo: X11 running at 1440x900 with depth 16 and 16 bpp (":0.0" => local display)
[x11] Detected wm supports layers.
[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 LAYER FULLSCREEN ABOVE BELOW X atoms
[VO_XV] Using Xv Adapter #0 (ATI Mach64 Back-end Overlay Scaler)
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x000c41).
[xv common] Maximum source image dimensions: 720x2048
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Audio: no sound
Freeing 0 unused audio chunks.
Starting playback...
[ffmpeg] aspect_ratio: 1.773399
VDec: vo config request - 720 x 406 (preferred colorspace: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.77:1 - prescaling to correct movie aspect.
VO Config (720x406->720x406,flags=1,'MPlayer',0x32315659)
VO: [xv] 720x406 => 720x406 Planar YV12 [fs]
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel@…> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 63 for hw scaling
* [vo] Allocating mp_image_t, 720x416x12bpp YUV planar, 449280 bytes
Unicode font: 5025 glyphs.
Unicode font: 5025 glyphs.
V: 0.0 1/ 1 ??% ??% ??,?% 0 0 0% [J

ds_fill_buffer: EOF reached (stream: video)
V: 0.0 1/ 1 ??% ??% ??,?% 0 0 0% [J

EOF code: 1

Uninit video: ffmpeg
vo: uninit ...

Exiting... (End of file)

-- lspci output

00:00.0 Host bridge: ALi Corporation M1621 (rev 05)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
Latency: 0
Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
Capabilities: <access denied>
Kernel driver in use: agpgart-ali
Kernel modules: ali-agp

00:01.0 PCI bridge: ALi Corporation PCI to AGP Controller (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 00008000-00008fff
Memory behind bridge: 80600000-820fffff
Prefetchable memory behind bridge: fff00000-000fffff
Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Kernel modules: shpchp

00:06.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 01)
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR+ <PERR+ INTx-
Latency: 32 (500ns min, 6000ns max)
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at 9000 [size=256]
Region 1: Memory at 82200000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: ALI 5451
Kernel modules: snd-ali5451

00:07.0 ISA bridge: ALi Corporation M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Capabilities: <access denied>
Kernel modules: alim7101_wdt, alim1535_wdt

00:0a.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 08)
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (2000ns min, 14000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 10
Region 0: Memory at 80100000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at 7000 [size=64]
Region 2: Memory at 80200000 (32-bit, non-prefetchable) [size=1M]
Expansion ROM at 80300000 [disabled] [size=1M]
Capabilities: <access denied>
Kernel driver in use: e100
Kernel modules: e100

00:10.0 IDE interface: ALi Corporation M5229 IDE (rev c3) (prog-if fa)
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (500ns min, 1000ns max)
Interrupt: pin A routed to IRQ 15
Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8]
Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1]
Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8]
Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) [size=1]
Region 4: I/O ports at 6050 [size=16]
Capabilities: <access denied>
Kernel driver in use: pata_ali
Kernel modules: pata_ali, alim15x3

00:11.0 Bridge: ALi Corporation M7101 Power Management Controller [PMU]
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Kernel modules: alim7101_wdt, i2c-ali15x3, i2c-ali1535

00:13.0 CardBus bridge: O2 Micro, Inc. OZ6933/711E1 CardBus/SmartCardBus Controller (rev 01)
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 168
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 20000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
Memory window 0: 10000000-13fff000 (prefetchable)
Memory window 1: 14000000-17fff000
I/O window 0: 00001400-000014ff
I/O window 1: 00001800-000018ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
16-bit legacy interface ports at 0001
Kernel driver in use: yenta_cardbus
Kernel modules: yenta_socket

00:13.1 CardBus bridge: O2 Micro, Inc. OZ6933/711E1 CardBus/SmartCardBus Controller (rev 01)
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 168
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 20001000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=06, subordinate=09, sec-latency=176
Memory window 0: 18000000-1bfff000 (prefetchable)
Memory window 1: 1c000000-1ffff000
I/O window 0: 00001c00-00001cff
I/O window 1: 00002000-000020ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
16-bit legacy interface ports at 0001
Kernel driver in use: yenta_cardbus
Kernel modules: yenta_socket

00:14.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03) (prog-if 10 [OHCI])
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (20000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 82400000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: ohci_hcd
Kernel modules: ohci-hcd

01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M AGP 2x (rev 64) (prog-if 00 [VGA controller])
Subsystem: Acer Incorporated [ALI] Device 1010
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (2000ns min), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 81000000 (32-bit, non-prefetchable) [size=16M]
Region 1: I/O ports at 8000 [size=256]
Region 2: Memory at 80600000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at 80620000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel modules: atyfb

02:00.0 USB Controller: NEC Corporation USB (rev 43) (prog-if 10 [OHCI])
Subsystem: D-Link System Inc Device 0035
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (10500ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 11
Region 0: Memory at 14000000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: ohci_hcd
Kernel modules: ohci-hcd

02:00.1 USB Controller: NEC Corporation USB (rev 43) (prog-if 10 [OHCI])
Subsystem: D-Link System Inc Device 0035
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (60250ns min, 10500ns max), Cache Line Size: 32 bytes
Interrupt: pin B routed to IRQ 11
Region 0: Memory at 14001000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: ohci_hcd
Kernel modules: ohci-hcd

02:00.2 USB Controller: NEC Corporation USB 2.0 (rev 04) (prog-if 20 [EHCI])
Subsystem: D-Link System Inc Device f100
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 68 (4000ns min, 8500ns max), Cache Line Size: 32 bytes
Interrupt: pin C routed to IRQ 11
Region 0: Memory at 14002000 (32-bit, non-prefetchable) [size=256]
Capabilities: <access denied>
Kernel driver in use: ehci_hcd
Kernel modules: ehci-hcd

-- I have also attached the complete hardinfo HTML report.

Steps to reproduce:

Run mplayer on Pentium III Coppermine computers with mach64 video chip using XV. Watch some long videos of 1 hour aprox. In less than 2 hours of intensively using mplayer, the PC would hang completely.

Attachments (1)

mplayer - hardinfo.html (44.3 KB ) - added by david.bluecame@… 13 years ago.
hardinfo HTML report

Download all attachments as: .zip

Change History (5)

by david.bluecame@…, 13 years ago

Attachment: mplayer - hardinfo.html added

hardinfo HTML report

comment:1 by reimar, 13 years ago

Resolution: invalid
Status: newclosed

Your analysis is certainly wrong.
There are only three things that can cause a computer hang:
1) faulty hardware
2) kernel bugs
3) bugs in software running as root

Given the description, a CPU issue (like overheating) seems most likely, though some issue with the prefetch instruction is possible as well since MPlayer applies it to memory allocated by XvShmCreateImage which I guess could be in graphics card RAM.
While Intel CPUs do not have a separate cpuinfo flag, the SSE flag implies support for what AMD calls MMXEXT.
Either way, if it was not supported you'd get an "illegal instruction" crash right away.

comment:2 by david.bluecame@…, 13 years ago

(In reply to comment #1)

I thought that Open Source world was free of this arrogant attitude. Clearly I was wrong.

First of all, YOUR analisys IS wrong, as you have spent maybe 0.5 seconds? in researching this and you have jumped to conclussions.

Overheating is OUT of the equation as removing MMX2 detection SOLVED the problem COMPLETELY after hours and hours of running the modified mplayer. Running again the original mplayer (detecting MMX2) caused again the same hanging issue.

I usually run mplayer under a regular user, not root. I have used kernels from 2.6.25 to 2.6.31 to no avail. Only modifying cpudetect.c solved this. So much for your points 1, 2 and 3.

Do whatever you want and blame whoever you want, but my analisys is correct and precise and your answer is NOT. I solved my problem weeks ago and I want to make the effort to report it anyway so you can be aware of this.

Next time, I will keep my wrong analisys to myself and solve my own problems, not telling anyone else. Why lose my time doing this to be insulted?

Best regards. David.

Your analysis is certainly wrong.
There are only three things that can cause a computer hang:
1) faulty hardware
2) kernel bugs
3) bugs in software running as root

Given the description, a CPU issue (like overheating) seems most likely, though
some issue with the prefetch instruction is possible as well since MPlayer
applies it to memory allocated by XvShmCreateImage which I guess could be in
graphics card RAM.
While Intel CPUs do not have a separate cpuinfo flag, the SSE flag implies
support for what AMD calls MMXEXT.
Either way, if it was not supported you'd get an "illegal instruction" crash
right away.

comment:3 by reimar, 13 years ago

Let me try to explain it differently: If your analysis was correct, this would mean any ordinary user can trivially launch a denial-of-service attach against a local system.
This is why the issue is either a hardware issue or a security issue in software running at a higher privilege level.
I do not question that there may be a relation with MMXEXT code, however I cannot see how it could be the underlying issue.
Nor am I aware of any Intel errata concerning MMX(EXT) in this CPU (though checking for a microcode/BIOS update might be worth it).
And you're certainly not the only MPlayer user who has ever used a Pentium 3, and I am not aware of anyone else reporting an issue, and the detection code has been like this since at least October 2001.
As curious as your results are I can't see how they could even remotely point to the _underlying_ cause of the issues you are seeing.

comment:4 by david.bluecame@…, 13 years ago

I understand your point. In fact, I have been with this problem for almost two years, which sadly prevented me to use mplayer on my laptop.

I tried all this time to look for similar cases as mine with no results. I also tried to look for any Pentium III similar problem, kernel bugs, etc. I also found nothing, which was very frustrating.

And, in addition to that, VLC and Xine-ui worked perfectly fine using XV and during intensive and long video sessions. Only mplayer caused the strange complete system hang.

The only thing I could think of was that somehow mplayer used the main processor in a different way than VLC or Xine-ui. Using that clue, I tried to reduce the processor features used by mplayer modifying cpudetect.c and voilà! after all my tests, just removing MMX2 support solved the problem. I spotted in the logs that a "tiny bit" of MMX2 was used for Optimized OnScreenDisplay, I don't know if it was related to the problem.

I agree that this can be a unique case, that perhaps my Coppermine Pentium III processor has a bug in the MMX2 subset (although I could not find confirmation for it anywhere in the net).

Another possibility is that the problem is in the AGP bus and somehow using MMX2 makes decoding faster and therefore it puts more data in AGP than it can handle, possibly causing the hang. But I'm not sure, as enabling/disabling MMX2 feature cause no aparent gain or loss of video performance.

Anyway, I had this solved and I just wanted you to have this information in your bug database, just in case of anybody else has the same problem. Although unlikely, I didn't want to keep my workaround to myself. I also did not expect the mplayer programmers to do anything about it as it's just a unique case.

I want to apologize to you because of the tone of my previous reply. Sorry about that and best regards! David.

(In reply to comment #3)

Let me try to explain it differently: If your analysis was correct, this would
mean any ordinary user can trivially launch a denial-of-service attach against
a local system.
This is why the issue is either a hardware issue or a security issue in
software running at a higher privilege level.
I do not question that there may be a relation with MMXEXT code, however I
cannot see how it could be the underlying issue.
Nor am I aware of any Intel errata concerning MMX(EXT) in this CPU (though
checking for a microcode/BIOS update might be worth it).
And you're certainly not the only MPlayer user who has ever used a Pentium 3,
and I am not aware of anyone else reporting an issue, and the detection code
has been like this since at least October 2001.
As curious as your results are I can't see how they could even remotely point
to the _underlying_ cause of the issues you are seeing.

Note: See TracTickets for help on using tickets.