Forums » Bugs

segmentation fault under linux (with solution)

Jun 06, 2009 kihjin link
If I execute vendetta under $HOME/.vendetta it gives me a segmentation fault. This didn't occur before the update to .74.

~/.vendetta$ ./vendetta
Segmentation fault


I understand that the normal way to execute vendetta is via the $HOME/bin/vendetta command. I'm a computer scientist, I like to poke around.

Regardless, $HOME/bin/vendetta doesn't do a whole lot. It seems to just spawn $HOME/.vendetta/update.rlb which in turn spawns $HOME/.vendetta/vendetta with a working directory of $HOME/.vendetta

Fortunately, I've solved this all on my own, with some assistance from errors.log:

~/.vendetta$ more errors.log
wtf!archive returned 0
[Sat Jun 6 18:50:34 2009] Can't load driver /home/----/.vendetta/drivers/gkvc.so: libfmodex64.so: cannot open shared object fi
le: No such file or directory
[Sat Jun 6 18:50:34 2009] Found driver: "ALSA driver". Type 1, Version 8.1. Load @0x0263c350
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe37995a7c0
[Sat Jun 6 18:50:34 2009] Found driver: "OpenGL Reference GKGL driver". Type 5, Version 72.0. Load @0x0263e1e0
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe37973e540
[Sat Jun 6 18:50:34 2009] Found driver: "Open Sound System driver". Type 1, Version 8.1. Load @0x0263f510
[Sat Jun 6 18:50:34 2009] Instantiate address: 0x7fe378b6d010


The solution was almost obvious...

What does ldd show?

~/.vendetta$ ldd ./vendetta | grep "not found"
[no output]


Hmmm... perhaps gkvc needs libfmodex64?

~/.vendetta$ ldd drivers/gkvc.so | grep "not found"
libfmodex64.so => not found


Ah!

~/.vendetta$ LD_LIBRARY_PATH=$HOME/.vendetta/drivers ldd drivers/gkvc.so | grep "not found"
[no output]


So that worked... one more step...

~/.vendetta$ LD_LIBRARY_PATH=$HOME/.vendetta/drivers ./vendetta
[game launches]


Bingo.

OK so maybe this isn't an especially critical bug (it may even be intentional!), but in case it is not, I wanted to inform the devs of my findings.
Jun 06, 2009 mr_spuck link
Yeah.. I found out the same thing a while back. Although even 1.8.74 segfault, voice chat is just disabled.
Fmod only seems to be distributed as a shared library and is probably required by the teamspeak sdk, which likely doesn't come with sources either.

I wouldn't really consider it a bug anyway. Most games do some library path trickery to load bundled libs from the game directory.
Jun 12, 2009 muradedge link
Thanks for your post. It was very helpful!
Jun 12, 2009 raybondo link
Yeah, gkvc requires fmod. They are provided by Teamspeak.