help debugging segfault with alienarena 7.32

Jerry James loganjerry at gmail.com
Tue Nov 3 19:16:37 UTC 2009


On Tue, Nov 3, 2009 at 9:45 AM, Tom "spot" Callaway <tcallawa at redhat.com> wrote:
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fffea1e0710 (LWP 18791)]
> pthread_cond_wait@@GLIBC_2.3.2 () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:170
> 170             LOCK
> Current language:  auto
> The current source language is "auto; currently asm".
> (gdb) info threads
> * 6 Thread 0x7fffea1e0710 (LWP 18791)  pthread_cond_wait@@GLIBC_2.3.2 ()
> at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:170
>  1 Thread 0x7ffff7fb77e0 (LWP 18784)  _dl_map_object
> (loader=0x7ffff7fcc4d0, name=0x7ffff660574a "libportaudio.so.2",
>    preloaded=<value optimized out>, type=<value optimized out>,
> trace_mode=<value optimized out>, mode=-1879048190, nsid=0) at
> dl-load.c:1981

This seems to happen only when portaudio is installed.  Uninstall
portaudio and alienarena starts up.  I'm not sure exactly what is
going on here, but it seems that alienarena is both trying to dlopen
libopenal, and is linked against it.  Check it:

ldd /usr/libexec/alienarena | grep -F openal

My guess (and it is just a guess) is that this is triggering multiple
initializations of portaudio.  Try this patch:

diff -dur alienarena-7.32.ORIG/source/Makefile alienarena-7.32/source/Makefile
--- alienarena-7.32.ORIG/source/Makefile	2009-11-02 19:01:01.000000000 -0700
+++ alienarena-7.32/source/Makefile	2009-11-03 12:05:38.283115734 -0700
@@ -266,7 +266,7 @@


 $(BUILDDIR)/crx : $(CODERED_OBJS) $(SOUND_OPENAL_OBJS) $(REF_GL_OBJS)
$(REF_GL_GLX_OBJS)
-	$(CC) $(CFLAGS) -o $@ $(CODERED_OBJS) $(LDFLAGS) $(REF_GL_OBJS)
$(REF_GL_GLX_OBJS) $(GLXLDFLAGS) $(OPENALLDFLAGS) $(VORBISLDFLAGS)
$(CURLLDFLAGS) $(JPEGLDFLAGS)
+	$(CC) $(CFLAGS) -o $@ $(CODERED_OBJS) $(LDFLAGS) $(REF_GL_OBJS)
$(REF_GL_GLX_OBJS) $(GLXLDFLAGS) $(VORBISLDFLAGS) $(CURLLDFLAGS)
$(JPEGLDFLAGS)

 $(BUILDDIR)/client/cl_ents.o :    $(CLIENT_DIR)/cl_ents.c
 	$(DO_CC)

-- 
Jerry James
http://www.jamezone.org/




More information about the fedora-devel-list mailing list