[MPlayer-users] Still segfault problems with -vo vesa
XI
xizard at enib.fr
Tue Nov 26 03:15:03 CET 2002
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
More information about the MPlayer-users
mailing list