SVN rev 11666 Crash (Music Related?)

Find any bugs in Vega Strike? See if someone has already found it, or report them here!
Post Reply
Dyskord
Merchant
Merchant
Posts: 62
Joined: Fri Oct 05, 2007 4:36 pm

SVN rev 11666 Crash (Music Related?)

Post by Dyskord »

After some time playing (fun with aera ^.^), the game became laggy, even freezing a short time, to several seconds when the music-track was changed, and generally it seems the game became "choppier".

then it hung up, exited with something like "bad alloc".
This error occured yesterday too, but i wanted to try to reproduce it first.

Hope the logs are of any use, made a bt full with gdb again ("luckily" i now know how to use it ;D).

Dont know if its related, but since yesterdays svn update, rev 11666 it seems after some time, i always have that "bump" sound, as if i bump constantly into ships / stations, though there is _nothing_ within range of several hundreds of kilometers. cant find anything related to this in the output though.
You do not have the required permissions to view the files attached to this post.
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

Sounds like you ran out of RAM. Have you tried lowering memory settings in vssetup?

How much RAM do you have in your computer?

Really, one thing is that we need to reduce the number of ships launched overall.

I recommend adding SWAP on your computer. If you do not have SWAP, Linux will crash miserably when you run out of ram...

I have 4GB of RAM, and I still need to have SWAP to avoid a possible scenario where a program eats up all the memory... though hopefully that will improve over time.

Also, as your backtrace shows, the problem was in the music library... the problem is that it loads then entire uncompressed song (which can be as much as 100 or 200 megabytes) into RAM... and then copies it, so the amount of memory this uses is terrible.

You could turn off music to solve this problem.
Dyskord
Merchant
Merchant
Posts: 62
Joined: Fri Oct 05, 2007 4:36 pm

Post by Dyskord »

I have 1024 RAM and about 1 gig swap. Thought _usually_ this is enough^^.

And Music works fine, usually, in the beginning (lets say first 2 hours?). then obviously not..
Possible that vegastrike keeps the songs in the memory and then crashes after a time?
Sorry, dont know much about this stuff, only thing i can code is hello world :D.


Will try without music, though some of the music is nice ;(
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

Rather than disabling music (with 1G it should be able to play music), set up a swapfile somewhere. You can't skip having a swapfile with 1G nowadays.
I'm assuming you don't have a swapfile, if VS crashed due to memory shortage with 1G RAM + swap, then we have a problem.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Dyskord
Merchant
Merchant
Posts: 62
Joined: Fri Oct 05, 2007 4:36 pm

Post by Dyskord »

I dont have a swap "file", i have a swap-partition, sized about 1 GB, like my RAM. Which is actually 1 GiB big. (or small, nowadays).

And actually this is usually enough for almost everything. If it is the music, that fills the swap and RAM so "nicely", then there must be a way to stop this behaviour, or not?
Really i dont understand that much, but the music is in .ogg format. xmms2, the musicplayer i use can play hours of .ogg or .mp3 without filling the RAM like mad.
I dont know what is used to play .ogg files in vegastrike, and how it works, but cant it be possible that the memory is not freed after a song has been played, and the song stays resident ithere, instead of being deleted from there?

Slap me, if i get this too wrong, i really havent big plan about memory-managment and coding, im just the sort of guy who sees "this and that and that works perfectly, that not, but they are related, so why not?"

For now i will try without music, using my xmms2 instead, but i 'd wish the music in vegastrike would work fine too ;(
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

You're right, usually playing any kind of music stream requires little ram But vegastrike loads the entire track into memory. That's a nasty way of doing things, but it was a quick way. Plans are to undo that, but for now it will have to do. If it indeed is the music, you could disable it. Also, you could disable texture factionalization (another thing that eats up a lot of RAM) - that's the "faction_dependant_textures" variable in vegastrike.config - I find it less "damaging" to disable that one rather than music, if you want to try.
If any of those by itself doesn't fix it for you, I'd say it's something else than memory - 2GB in total should be enough - I've never seen VS use up more than 2gig.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Dyskord
Merchant
Merchant
Posts: 62
Joined: Fri Oct 05, 2007 4:36 pm

Post by Dyskord »

Runs better without Music, but still eats lots of RAM and swap, after some time.
Guess i _almost_ got it crashing again, that was after i visited Sol/Sol, and flew through around 15 Systems from Sol/Sol to somewhere else, Many of these Systems had _lots_ of ships.

Besides that im running VS in gdb all the time at the moment, i think this uses extra-resources too, doesnt it?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

If you compiled VS with debug settings, you bet it consumes more resources. The unstripped binary alone is over 100MBs on disk...
Running gdb with a release binary, however, shouldn't use a lot of resources.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Dyskord
Merchant
Merchant
Posts: 62
Joined: Fri Oct 05, 2007 4:36 pm

Post by Dyskord »

Yeah, still using the debug-version.
Just want to get sure for a little more, that when i encounter a crash, i can give the output right away^^
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

You must play in Windowed mode (vssetup, select 32-bit Window) under Color

In addition, use gdb:

Code: Select all

gdb ./vegastrike
In quite some time (depending on your RAM/disk speed) it will finally read the symbols and bring you to a (gdb) prompt.
Then, type "run".

Vega Strike should start normally. When the game crashes (if you visit enough systems or something)... it will instead freeze the window, and you will see the console with GDB running say "Program received signal SIGSEGV"

When that happens, at the (gdb) prompt, type "backtrace full" and post the results of that backtrace.
Dyskord
Merchant
Merchant
Posts: 62
Joined: Fri Oct 05, 2007 4:36 pm

Post by Dyskord »

ace, we already had this ;D
See the thread about Multiplayer Crashes, maybe?

At the moment there does nothing crash, but because i had the multiplayer crash some time ago, and this music related one, i think its better to let it run in gdb at the moment, so if it crashes again, i can provide you the output directly without needing to reconstruct the bug / thing that happened.
Post Reply