help debugging segfault with alienarena 7.32

Tom "spot" Callaway tcallawa at redhat.com
Wed Nov 4 21:12:40 UTC 2009


On 11/03/2009 03:23 PM, Tom "spot" Callaway wrote:
> On 11/03/2009 02:16 PM, Jerry James wrote:

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

Well, it turned out to be a lot more complicated than that. Alienarena
uses OpenAL-soft, which dlopens portaudio if it is present. Portaudio is
compiled with support for jack, and asks jack if there is a valid client
available to use. On my system (default F-12), there isn't, so the jack
call returns NULL. Unfortunately, when that jack function which checks
on the client is run, it spawns a new thread, which wasn't getting
closed. After portaudio finished its check, openal-soft dlclosed it,
with that thread that jack spawned still alive. This caused the segfault.

Your original suggestion merely delayed the issue, because openal was
being dlopened later instead of loading on initial execution.

Ray Strode helped me debug this, and I've updated jack with the fix for
this. Patch is here:

http://trac.jackaudio.org/ticket/140

Thanks to all who helped out here.

~spot




More information about the fedora-devel-list mailing list