[MPlayer-users] Segfault at startup during skin processing

Robert Nichols rnicholsNOSPAM at comcast.net
Mon Mar 10 00:02:19 CET 2008

On my system, gmplayer built from any recent SVN shapshot from the last
few months frequently crashes with SIGSEGV in module unknown right at
startup.  A complication is that this crash does not occur if mplayer
was compiled with debug enabled.  Looking at an strace output, the crash
occurs during skin processing, as seen in this excerpt:

brk(0xa1b2000)                          = 0xa1b2000
open("/usr/local/share/mplayer/skins/default/symbols.fnt", O_RDONLY|O_LARGEFILE) = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=437, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7c9f000
read(6, "; image file\nimage=symbols2\n\n; \""..., 4096) = 437
open("/usr/local/share/mplayer/skins/default/symbols2", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/local/share/mplayer/skins/default/symbols2.png", O_RDONLY|O_LARGEFILE) = 7
close(7)                                = 0
open("/usr/local/share/mplayer/skins/default/symbols2.png", O_RDONLY|O_LARGEFILE) = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=647, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7c9e000
fstat64(7, {st_mode=S_IFREG|0644, st_size=647, ...}) = 0
_llseek(7, 0, [0], SEEK_SET)            = 0
read(7, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\1\302\0\0\0\10\10\2\0\0\0\345~h"..., 647) = 647
_llseek(7, 647, [647], SEEK_SET)        = 0
close(7)                                = 0
munmap(0xb7c9e000, 4096)                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---

The skin in use is the default "Blue" skin, from the current (version
1.7) tarball.

Experimenting, I've found that compiling with flag "-O4" is needed to
make the crash occur.  Changing that to "-O2", as occurs when debug is
enabled, eliminates the problem.  I tried configuring with "--debug=3"
and editing config.mak to change the optimization flag to "-O4", but
the crash does not happen.  Possibly the compiler rejects that flag
as incompatible with "-g".  Without "--debug" there's apparently no
way to generate a core dump, so I'm pretty much at a dead end.

System: CentOS 5.1

CPU: Intel Pentium 4 with Hyperthreading enabled.

uname -a:
     Linux omega-3a.local 2.6.18-53.1.14.el5 #1 SMP Wed Mar 5 11:36:49 EST 2008 i686 i686 i386 GNU/Linux

ls -l /lib/libc[.-]*:
     -rwxr-xr-x 1 root root 1589908 Nov 30 17:39 /lib/libc-2.5.so
     lrwxrwxrwx 1 root root      11 Dec  3 09:02 /lib/libc.so.6 -> libc-2.5.so

gcc -v:
     Using built-in specs.
     Target: i386-redhat-linux
     Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared 
--enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions 
--enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi 
--enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj- --with-cpu=generic --host=i386-redhat-linux
     Thread model: posix
     gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)

ld -v:
    GNU ld version 20061020

as --version:
     GNU assembler 20061020
     Copyright 2005 Free Software Foundation, Inc.
     This program is free software; you may redistribute it under the terms of
     the GNU General Public License.  This program has absolutely no warranty.
     This assembler was configured for a target of `i386-redhat-linux'.

Bob Nichols     "NOSPAM" is really part of my email address.
                 Do NOT delete it.

More information about the MPlayer-users mailing list