[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}

Unfortunately, I am not sure what else to do here.  Any help that anyone could provide would be greatly appreciated.



More information about the MPlayer-users mailing list