[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Original]
[MPlayer-users] Still segfault problems with -vo vesa
|
To: |
mplayer-users@xxxxxxxxxxxx |
|
Subject: |
[MPlayer-users] Still segfault problems with -vo vesa |
|
From: |
XI <xizard@xxxxxxx> |
|
Date: |
Tue Nov 26 03:15:03 2002 |
|
Organization: |
http://www.chez.com/xizard |
|
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2a) Gecko/20020910 |
Hi,
I still can't get mplayer working with -vo vesa with a mandrake 9.0.
Since my previous thread, I have upgrated to mplayer-0.9pre10, and I
have done some inverstigations. Here is my previous thread:
http://www.mplayerhq.hu/pipermail/mplayer-users/2002-October/023045.html
Result of my investigations:
*** problem seems to occur on all mandrake 9.0 based systems:
I have tested lots of those, I always got a segfault.
Could people with a mandrake 9.0 (or more especially with a glibc-2.2.5
or kernel-2.4.19) try if it works? (Gabor, I think you have mdk9).
*** Problem doesn't seems to come from gcc version:
I have tested rpm package from mplayerhq.hu, it works with the mandrake
8.1 but not with mandrake 9.0 (exactly the same hardware).
*** Running gdb gived me an error in libpthread, which was a bit strange
(see my previous mail for gdb output). Now I tried to add some printf
debug statement in source code:
I found that mplayer never arrives up to open("/dev/mem",O_RDWR) call as
gdb let us suppose! (linux/vbelib.c: 146: int vbeInit(void))
In fact, I found that mplayer segfault in file linux/lrmi.c: 732: in
function lrmi_vm86:
/*
I don't know how to make sure I get the right vm86() from libc.
The one I want is syscall # 113 (vm86old() in libc 5, vm86() in glibc)
which should be declared as "int vm86(struct vm86_struct *);" in
<sys/vm86.h>.
This just does syscall 113 with inline asm, which should work
for both libc's (I hope).
*/
#if !defined(USE_LIBC_VM86)
static int
lrmi_vm86(struct vm86_struct *vm)
{
int r;
#ifdef __PIC__
asm volatile (
"pushl %%ebx\n\t"
"movl %2, %%ebx\n\t"
"int $0x80\n\t"
"popl %%ebx"
: "=a" (r)
: "0" (113), "r" (vm));
#else
asm volatile (
"int $0x80"
: "=a" (r)
: "0" (113), "b" (vm));
#endif
return r;
}
#else
#define lrmi_vm86 vm86
#endif
*** In my sytem, USE_LIBC_VM86 and __PIC__ constants are not defined, so
there is a segfault when this code is executed:
asm volatile (
"int $0x80"
: "=a" (r)
: "0" (113), "b" (vm));
*** As I don't know at all assembler, I need some help. What can I do,
test, change, ... now?
*** I have alse tried to define USE_LIBC_VM86, but I got the same problem.
*** I have also tried to upgrade my glibc to the last one from mandrake
... same result.
*** For informations about my system, ... please read my previous mails:
http://www.mplayerhq.hu/pipermail/mplayer-users/2002-October/023019.html
and
http://www.mplayerhq.hu/pipermail/mplayer-users/2002-October/023045.html
Thanks for help,
Xavier
- [MPlayer-users] Still segfault problems with -vo vesa,
XI <=