Bug 909

Summary: XRoar crash because of SDL sound
Product: Fedora Reporter: Andrea Musuruane <musuruan>
Component: xroarAssignee: Andrea Musuruane <musuruan>
Status: RESOLVED UPSTREAM    
Severity: normal CC: packages
Priority: P5    
Version: 10   
Hardware: All   
OS: GNU/Linux   
namespace:

Description Andrea Musuruane 2009-11-01 11:02:37 CET
I noticed that xroar doesn't work on F-10/x86_64. It  crashes at start-up. i386 systems are not affected and run as expected. Probably other Fedora's are affected too.

I found this bug in version 0.22 and version 0.21. I haven't tested earlier versions.

This is what I get in the console output:

$ ./xroar
GTK+-2 file requester selected.
Initialising SDL OpenGL driver
Initialising SDL audio driver

After that the xroar window remains black. Nothing will happen. I also have to kill it with -KILL signal, otherwise xroar won't die.

After a bit of debug, it seems to me that the problem is in line 188 of xroar.c:

       sound_module = (SoundModule *)module_init_from_list((Module
**)sound_module_list, (Module *)sound_module, argc, argv);

I'm unable to solve the bug though. I mailed upstream but he is unable to reproduce the bug on his Debian.
Comment 1 Ian Chapman 2009-11-05 02:40:32 CET
As a work around, try running xroar from the command line as follows:

SDL_AUDIODRIVER=alsa xroar

or

SDL_AUDIODRIVER=esd xroar 


etc..
Comment 2 Andrea Musuruane 2009-12-02 12:00:34 CET
Upstream wrote me telling that:

"I'm going to hazard a guess that without specifying a driver, SDL is picking pulseaudio ("pulse") as its backend?  There is a pretty horrible hang bug in SDL's pulseaudio support if you don't give it an audio format it likes (SDL is supposed to convert audio if it's unsupported by the underlying system).

When I found this bug a while back (on an Ubuntu system that had integrated pulseaudio), I thought I saw a fix in SDL's CVS (so imagined that eventually it would "fix itself"), but it looks like another release has been made (1.2.14) still containing the bug.

I'll check their CVS again, and if I was mistaken about there being a fix there, see if they'll accept a patch to fix it.  In the meantime, I've attached a patch to XRoar that makes the SDL audio module use the *other* 8-bit audio format, which avoids triggering the infinite loop."

This bug is now fixed in upstream 0.23. I'll soon package it. Closing.