Closed chewi closed 3 years ago
I tried replacing abuse00.hmi with intro.hmi and it still crashes. I then deleted intro.hmi and the game starts. I therefore think this is to do with playing more than one file, rather than a bad file or a bad conversion.
I got a backtrace through gdb but I've noticed that CorsixTH segfaults in the same way when you quit the game. I wonder if it happens when you call Mix_FreeMusic
before stopping the music. I would have noticed this before though so perhaps something changed in FluidSynth.
Got it! It was FluidSynth/fluidsynth@57f40ea91cae5be3f3cbf6780caf298b00ff5d8b. Reverting this against master makes it work. I'll follow this up with FluidSynth.
See FluidSynth/fluidsynth#974.
Aha, it was already fixed in SDL_mixer but no release since. I've now added a patch to Gentoo's package.
With FluidSynth support enabled in SDL_mixer, the game segfaults when you actually start the game. Strangely the intro music does play though. The game runs if I give
-nosound
but says:I'm not sure if that's a clue. I'm surprised it mentions the file at all when
-nosound
is given.You won't hit this if FluidSynth can't find any soundfonts. If it does, you can work around the issue by setting
SDL_SOUNDFONTS
to the empty string, forcing SDL_mixer to fall back to Timidity, assuming support for that is enabled.This may be a bug in SDL_mixer but I'm not sure yet. I'm especially curious because I wrote SDL_mixer's FluidSynth support! This could affect a lot of users as I know Debian enables FluidSynth.