Back to the Vavoom Forum Archives


Forum

[Fixed][r4200] Segfault at game start

Tue, 30 Mar 2010 12:51:49

mnk

Changes in timidity code were not quite successful, it seems. Upon starting a new game (or waiting long enough for demos to start), vavoom segfaults. (it probably happens with savegames too, but being on svn for so long, I don't really have any reliable save) Best result I could get is following gdb backtrace:
#0  0x0831dae6 in LibTimidity::read_config_file(char const*) ()
#1  0x0831d6cc in LibTimidity::read_config_file(char const*) ()
#2  0x0831d6cc in LibTimidity::read_config_file(char const*) ()
#3  0x0831e30c in LibTimidity::Timidity_Init() ()
#4  0x08232a8e in VTimidityAudioCodec::Create(VStream*) ()
#5  0x0822a48c in VAudio::PlaySong(char const*, bool) ()
#6  0x0822aa42 in VAudio::CmdMusic(TArray<VStr> const&) ()
#7  0x0822d40d in TCmdMusic::Run() ()
#8  0x080cc9c5 in VCommand::ExecuteString(VStr const&, VCommand::ECmdSource, VBasePlayer*) ()
#9  0x080cda7c in VCmdBuf::Exec() ()
#10 0x081093d5 in Host_Frame() ()
#11 0x082e739c in main ()
Near the end of debug file (after several "Log: FIXME: Implement "map" in TiMidity config."), I'm getting this:
Dev: Spawning server map01
Dev: Server spawned
Log: ---------------------------------------
Log: WINNOWING HALL
Log: 
Dev: 159 subdivides
Dev: 662 seg subdivides
Dev: 69k light mem
Dev: Client level loaded
signal: Segmentation Violation
- VTimidityAudioCodec::Create
- VAudio::PlaySong
- VAudio::CmdMusic
- COMMAND Music
- VCommand::ExecuteString
- VCmdBuf::Exec
- Host_Frame
Log: Doing C_Shutdown
Log: Doing CL_Shutdown
...
I don't quite remember what my previous checkout was, but it seems it happened quite recently.
Tue, 30 Mar 2010 21:38:29

Firebrand

I've had the same error before, we are trying to track down the problem... unfortunately... it's not simple to fix <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( -->.
Sat, 03 Apr 2010 19:00:52

mnk

So, after doing a bit more tracking: my timidity setup uses eawpatches segfault happens while parsing this config file:
dir /usr/share/timidity/eawpatches
source gravis.cfg
source gsdrums.cfg
source gssfx.cfg
source xgmap2.cfg
However, it doesn't happen, if I comment out three last lines. The problem seems to lie in those files (as the order doesn't matter), however it worked fine before the changes and there are no my changes in those files. I'm starting to suspect r4178 is at fault, on the other hand though, I think it worked even after that.
Sun, 04 Apr 2010 14:45:38

Firebrand

The problem seems to be related to the way Timidity is loading and assigning patches from config files to the instruments, I've got an idea to try to fix this, but I'm unable to work on it for now...
Mon, 19 Apr 2010 23:32:17

Firebrand

Fixed.

Back to the Vavoom Forum Archives