[MPlayer-users] MPlayer SEGFAULT on Solaris 10/Intel
Walter J. Schmidt
wschmidt at carolina.rr.com
Sun Feb 20 23:14:47 CET 2005
I downloaded the latest sources via CVS for MPlayer. I managed to get them compiled with only a few minor problems.
In loader/ldt_keeper.c, sysi86() is defined again. This is already defined in /usr/include/sys/sysi86.h. I commented out the definition in ldt_keeper.c.
Also, in libao2/ao_sdl.c and in libvo/vo_sdl.c setenv() is defined again. Commenting out both of these allowed the program to compile.
However, now whenever attempting to play any video file (doesn't seem to matter if it's WMV or QT), the program seqfaults and prints out the following error:
Opening audio decoder: [qtaudio] QuickTime Audio Decoder
sysi86(SI86DSCR): Invalid argument
Couldn't install fs segment, expect segfault
MPlayer interrupted by signal 11 in module: init_audio_codec
- 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.
I built a debug version and ran it under GDB. Here is the stack trace and dissassembly:
Program received signal SIGSEGV, Segmentation fault.
0x08115031 in Setup_FS_Segment () at ldt_keeper.c:119
119 __asm__ __volatile__(
(gdb) bt
#0 0x08115031 in Setup_FS_Segment () at ldt_keeper.c:119
#1 0x08115133 in Setup_LDT_Keeper () at ldt_keeper.c:261
#2 0x080d72dc in preinit (sh=0x88556f0) at ad_qtaudio.c:93
#3 0x080d2f07 in init_audio_codec (sh_audio=0x88556f0) at dec_audio.c:52
#4 0x080d32cd in init_audio (sh_audio=0x88556f0, codecname=0x0, afm=0x0, status=1) at dec_audio.c:172
#5 0x080d3495 in init_best_audio_codec (sh_audio=0x88556f0, audio_codec_list=0x8045b24, audio_fm_list=0x0) at dec_audio.c:217
#6 0x0807d6ab in main (argc=1, argv=0x8047378) at mplayer.c:1975
(gdb) disassemble
Dump of assembler code for function Setup_FS_Segment:
0x08115020 <Setup_FS_Segment+0>: push %ebp
0x08115021 <Setup_FS_Segment+1>: mov 0x849d130,%edx
0x08115027 <Setup_FS_Segment+7>: mov %esp,%ebp
0x08115029 <Setup_FS_Segment+9>: shl $0x3,%edx
0x0811502c <Setup_FS_Segment+12>: or $0x7,%edx
0x0811502f <Setup_FS_Segment+15>: mov %edx,%eax
0x08115031 <Setup_FS_Segment+17>: mov %eax,%fs
0x08115033 <Setup_FS_Segment+19>: pop %ebp
0x08115034 <Setup_FS_Segment+20>: ret
End of assembler dump.
(gdb) print ssd
No symbol "ssd" in current context.
(gdb) frame 1
#1 0x08115133 in Setup_LDT_Keeper () at ldt_keeper.c:261
261 Setup_FS_Segment();
(gdb) print ssd
$1 = {sel = 55, bo = 3512532992, ls = 4095, acc1 = 242, acc2 = 4}
(gdb)
Unfortunately, I am not sure what else to do here. Any help that anyone could provide would be greatly appreciated.
Thanks!
--Walter
More information about the MPlayer-users
mailing list