Opened 20 years ago

Closed 20 years ago

Last modified 20 years ago

#117 closed defect (fixed)

-vo x11 -vf spp,scale kills mplayer

Reported by: mplayerHQ@… Owned by: r_togni@…
Priority: normal Component: vd
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

mplayer -vo x11 -vf spp,scale 1.mpg
MPlayer interrupted by signal 11 in module: decode_video

Program received signal SIGSEGV, Segmentation fault.
0x080ccd40 in store_slice_mmx (dst=0x8b80f68 '\200' <repeats 152 times> <Error
reading address 0x8b81000: Bad address>, src=0x8949610, dst_stride=120,

src_stride=146280536, width=240, height=143955776, log2_scale=2) at vf_spp.c:341

341 asm volatile(
(gdb) bt
#0 0x080ccd40 in store_slice_mmx (dst=0x8b80f68 '\200' <repeats 152 times>
<Error reading address 0x8b81000: Bad address>, src=0x8949610, dst_stride=120,

src_stride=146280536, width=240, height=143955776, log2_scale=2) at vf_spp.c:341

#1 0x080cd216 in filter (p=0x866c000, dst=0x8b7bb80 '\200' <repeats 200
times>..., src=0x8b81058 <Error reading address 0x8b81058: Bad address>,
dst_stride=120,

src_stride=240, width=240, height=288, qp_store=0x8a3a800 'P' <repeats 200

times>..., qp_stride=30, is_luma=0) at vf_spp.c:426
#2 0x080cd484 in put_image (vf=0x8660680, mpi=0x8660e80) at vf_spp.c:489
#3 0x080a8b11 in decode_video (sh_video=0x8538400, start=0x8b81058 <Error
reading address 0x8b81058: Bad address>, in_size=146280536, drop_frame=0) at
dec_video.c:332
#4 0x0806d0c9 in main (argc=6, argv=0xbfbff7a0) at mplayer.c:2160
#5 0x080676c5 in _start ()
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x80ccd20 to 0x80ccd60:
0x80ccd20 <store_slice_mmx+80>: psraw %mm2,%mm3
0x80ccd23 <store_slice_mmx+83>: psraw %mm2,%mm4
0x80ccd26 <store_slice_mmx+86>: movd 0xfffffff0(%ebp),%mm2
0x80ccd2a <store_slice_mmx+90>: movq (%edx),%mm0
0x80ccd2d <store_slice_mmx+93>: movq 0x8(%edx),%mm1
0x80ccd31 <store_slice_mmx+97>: paddw %mm3,%mm0
0x80ccd34 <store_slice_mmx+100>: paddw %mm4,%mm1
0x80ccd37 <store_slice_mmx+103>: psraw %mm2,%mm0
0x80ccd3a <store_slice_mmx+106>: psraw %mm2,%mm1
0x80ccd3d <store_slice_mmx+109>: packuswb %mm1,%mm0
0x80ccd40 <store_slice_mmx+112>: movq %mm0,(%ebx)
0x80ccd43 <store_slice_mmx+115>: add $0x10,%edx
0x80ccd46 <store_slice_mmx+118>: add $0x8,%ebx
0x80ccd49 <store_slice_mmx+121>: cmp %eax,%ebx
0x80ccd4b <store_slice_mmx+123>: jb 0x80ccd2a <store_slice_mmx+90>
0x80ccd4d <store_slice_mmx+125>: add 0xffffffec(%ebp),%edi
0x80ccd50 <store_slice_mmx+128>: add 0x10(%ebp),%ecx
0x80ccd53 <store_slice_mmx+131>: add $0x8,%esi
0x80ccd56 <store_slice_mmx+134>: decl 0xffffffe8(%ebp)
0x80ccd59 <store_slice_mmx+137>: jne 0x80ccd03 <store_slice_mmx+51>
0x80ccd5b <store_slice_mmx+139>: add $0xc,%esp
0x80ccd5e <store_slice_mmx+142>: pop %ebx
0x80ccd5f <store_slice_mmx+143>: pop %esi
End of assembler dump.
(gdb) info all-registers
eax 0x8b81058 146280536
ecx 0x8b80f68 146280296
edx 0x8949740 143955776
ebx 0x8b81000 146280448
esp 0xbfbfe1c0 0xbfbfe1c0
ebp 0xbfbfe1d8 0xbfbfe1d8
esi 0x8396378 137978744
edi 0x8949610 143955472
eip 0x80ccd40 0x80ccd40
eflags 0x10293 66195
cs 0x1f 31
ss 0x2f 47
ds 0x2f 47
es 0x2f 47
fs 0x2f 47
gs 0x2f 47
st0 -nan(0x8080808080808080) (raw 0xffff8080808080808080)
st1 -nan(0x80008000800080) (raw 0xffff0080008000800080)
st2 -nan(0x000000004) (raw 0xffff0000000000000004)
st3 -nan(0x500090006000a) (raw 0xffff000500090006000a)
st4 -nan(0x500090006000a) (raw 0xffff000500090006000a)
st5 -nan(0xc0013fffc0013fff) (raw 0xffffc0013fffc0013fff)
st6 -nan(0x27b027b027b027b) (raw 0xffff027b027b027b027b)
st7 -nan(0x22a3539f22a3539f) (raw 0xffff22a3539f22a3539f)
fctrl 0x127f 4735
fstat 0x20 32
ftag 0xff 255
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0

Using GNU internationalization
Original domain: messages
Original dirname: /usr/local/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale

MPlayer dev-CVS-041023-11:59-3.2.2 (C) 2000-2004 MPlayer Team

CPU: Advanced Micro Devices Athlon 4 /Athlon MP/XP Palomino (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE

Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory
Reading config file /home/snacky/.mplayer/config
Reading /home/snacky/.mplayer/codecs.conf: 77 audio & 180 video codecs
CommandLine: '-v' '-vo' 'x11' '-vf' 'spp,scale' '1.mpg'
init_freetype
get_path('font/font.desc') -> '/home/snacky/.mplayer/font/font.desc'
Font /home/snacky/.mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using nanosleep() timing
get_path('input.conf') -> '/home/snacky/.mplayer/input.conf'
Parsing input config file /home/snacky/.mplayer/input.conf
Input config file /home/snacky/.mplayer/input.conf parsed: 27 binds
get_path('1.mpg.conf') -> '/home/snacky/.mplayer/1.mpg.conf'

Playing 1.mpg.
[file] File size is 297799684 bytes
STREAM: [file] 1.mpg
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
DEMUXER: freeing demuxer at 0x865d000
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x865e000
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x865e000
Checking for Nullsoft Streaming Video
DEMUXER: freeing demuxer at 0x865e000
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x865e000
Checking for REAL
DEMUXER: freeing demuxer at 0x865e000
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x865e000
DEMUXER: freeing demuxer at 0x865f000
DEMUXER: freeing demuxer at 0x865f000
Searching demuxer type for filename 1.mpg ext: .mpg
Checking for MOV
DEMUXER: freeing demuxer at 0x865f000
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x865f000
DEMUXER: freeing demuxer at 0x865f000
DEMUXER: freeing demuxer at 0x865f000
DEMUXER: freeing demuxer at 0x865f000
DEMUXER: freeing demuxer at 0x865f000
Checking for PVA
DEMUXER: freeing demuxer at 0x865f000
Checking for MPEG-TS...
TRIED UP TO POSITION 65728, FOUND 47, packet_size= 0, SEEMS A TS? 0
DEMUXER: freeing demuxer at 0x865f000
Checking for LMLM4 Stream Format
Invalid packet in LMLM4 stream: ch=0 size=1140851704
LMLM4 Stream Format not found
DEMUXER: freeing demuxer at 0x865f000
system stream synced at 0xD (0)!
==> Found video stream: 0
==> Found audio stream: 0
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG-PS file format detected.
Searching for sequence header... OK!
VIDEO: MPEG2 480x576 (aspect 2) 25.000 fps 2530.0 kbps (316.2 kbyte/s)
[V] filefmt:2 fourcc:0x10000002 size:480x576 fps:25.00 ftime:=0.0400
get_path('sub/') -> '/home/snacky/.mplayer/sub/'
get_path('default.sub') -> '/home/snacky/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: made decode tables with MMX optimization
mp3lib: using 3DNow!Ex optimized decore!
MP3lib: init layer2&3 finished, tables done
MPEG 1.0, Layer II, 44100 Hz 224 kbit Stereo, BPF: 732
Channels: 2, copyright: No, original: No, CRC: Yes, emphasis: 0
AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 28000->176400 (224.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask: FFFFFF (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1024x768 with depth 24 and 32 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
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
Opening video filter: [spp]
[scale] query(Planar YVU9) -> 1
[scale] query(Planar IF09) -> 1
[scale] query(Planar YV12) -> 1
[scale] query(Planar I420) -> 1
[scale] query(Planar IYUV) -> 1
[scale] query(Planar CLPL) -> 0
[scale] query(Planar Y800) -> 1
[scale] query(Planar Y8) -> 1
[scale] query(Planar NV12) -> 0
[scale] query(Planar 444P) -> 1
[scale] query(Planar 422P) -> 1
[scale] query(Planar 411P) -> 1
==========================================================================
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2))
==========================================================================
[PP] Using external postprocessing filter, max q = 6.
AutoQ: setting quality to 6.
Checking audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
[libaf] Adding filter equalizer
[libaf] Adding filter format
[libaf] Adding filter volume
[libaf] Adding filter format
[format] Changing sample format from 16bit little endian signed int to 32bit
little endian float
[format] Changing sample format from 32bit little endian float to 16bit little
endian signed int
AF_pre: af format: 2 bps, 2 ch, 44100 hz, little endian signed int
AF_pre: 44100Hz 2ch Signed 16-bit (Little-Endian)
ao2: 44100 Hz 2 chans Signed 16-bit (Little-Endian)
audio_setup: using '/dev/dsp0.1' dsp device
audio_setup: using '/dev/mixer' mixer device
audio_setup: using 'pcm' mixer 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 44100 Hz samplerate (requested: 44100)
audio_setup: frags: 32/32 (4096 bytes/frag) free: 131072
AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
Building audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
[format] Changing sample format from 16bit little endian signed int to 32bit
little endian float
[format] Changing sample format from 32bit little endian float to 16bit little
endian signed int
[format] Changing sample format from 16bit little endian signed int to 32bit
little endian float
[format] Changing sample format from 32bit little endian float to 16bit little
endian signed int
Starting playback...
[libaf] Reallocating memory in module format, old len = 0, new len = 131076
[libaf] Reallocating memory in module format, old len = 0, new len = 65544
VDec: vo config request - 480 x 576 (preferred csp: Planar YV12)
[PP] Using external postprocessing filter, max q = 6.
Trying filter chain: spp scale vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO Config (480x576->768x576,flags=1,'MPlayer',0x32315659)
REQ: flags=0x4C5 req=0x0
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 3 -> 4
SwScaler: reducing / aligning filtersize 1 -> 1
SwScaler: reducing / aligning filtersize 5 -> 4

SwScaler: BICUBIC scaler, from Planar YV12 to BGRA using MMX2
SwScaler: using 4-tap MMX scaler for horizontal luminance scaling
SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
SwScaler: using n-tap MMX scaler for vertical scaling (BGR)
SwScaler: using MMX YV12->BGR32 Converter
SwScaler: 480x576 -> 480x576
REQ: flags=0x4C7 req=0x0
VO: [x11] 480x576 => 768x576 BGRA [fs]
VO: Description: X11 ( XImage/Shm )
VO: Author: Aaron Holtzman <aholtzma@…>
Sharing memory.
* [spp] Allocating mp_image_t, 480x576x12bpp YUV planar, 414720 bytes
* [spp] Allocating mp_image_t, 480x576x12bpp YUV planar, 414720 bytes.00x
* [scale] Allocating mp_image_t, 480x576x9bpp YUV planar, 311040 bytes00x

MPlayer interrupted by signal 11 in module: decode_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.

Uninit audio filters...
[libaf] Removing filter format
[libaf] Removing filter equalizer
[libaf] Removing filter format
[libaf] Removing filter volume
uninit audio: mp3lib
uninit video: libmpeg2
DEMUXER: freeing demuxer at 0x865f000
DEMUXER: freeing sh_audio at 0x8538500
DEMUXER: freeing sh_video at 0x8538400
vo: uninit ...

freebsd 5.1

gcc -v

Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.2.2 [FreeBSD] 20030205 (release)

ld -v

GNU ld version 2.13.2 [FreeBSD] 2002-11-27

as --version

GNU assembler 2.13.2 [FreeBSD] 2002-11-27

CPU info:
vendor_id : AuthenticAMD
cpu family : 6
model : 6
stepping : 2
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 mmx fxsr sse mmxext 3dnowext 3dnow k6_mtrr
cpu MHz : 1732.764
model name : AMD Athlon(tm) XP 2100+

Video card manufacturer and model:
ati radeon 9500 pro

Video driver type & version:
(II) Module fglrx: vendor="Fire GL - ATI Research GmbH, Germany"

compiled for 4.3.0.1, module version = 3.9.0
Module class: XFree86 Video Driver
ABI class: XFree86 Video Driver, version 0.6

Sound card type & driver:
creative sound blaster live, value edition
FreeBSD Audio Driver (newpcm)
pcm0: <Creative EMU10K1> at io 0xa000 irq 10 (4p/2r/0v channels duplex default)

Attachments (2)

scale_segv.diff (1014 bytes ) - added by reimar 20 years ago.
possible fix.
segv_fix.diff (581 bytes ) - added by reimar 20 years ago.
try2

Download all attachments as: .zip

Change History (10)

by reimar, 20 years ago

Attachment: scale_segv.diff added

possible fix.

comment:1 by reimar, 20 years ago

This patch fixed some problems like these for me, but I have been told that
this is the wrong way to do it...

comment:2 by mplayerHQ@…, 20 years ago

(In reply to comment #1)

Created an attachment (id=58) [edit]
possible fix.

This patch fixed some problems like these for me, but I have been told that
this is the wrong way to do it...

this still crashes for me .

by reimar, 20 years ago

Attachment: segv_fix.diff added

try2

comment:3 by reimar, 20 years ago

How about this one?

comment:4 by reimar, 20 years ago

attachments.isobsolete: 01

comment:5 by mplayerHQ@…, 20 years ago

the crash remains with the try2 patch .

comment:6 by diego@…, 20 years ago

Owner: changed from alex@… to r_togni@…

Mass reassign all vd bugs to Roberto, the new component owner.

comment:7 by diego@…, 20 years ago

op_sys: FreeBSDAll

Crash also happens on Linux.

comment:8 by diego@…, 20 years ago

Resolution: fixed
Status: newclosed

Fixed by Michael, try latest CVS.

Note: See TracTickets for help on using tickets.