News:

Come Chat with us live! Learn how HERE!

Main Menu

Tremulous (sometimes) freezes

Started by Megistos, May 09, 2007, 10:14:45 PM

Megistos

Hi guys!

Tremulous sometimes freezes on me either when loading the GUI (before the darklegion logo) or when loading a map. It's not consistent, sometimes it happens and sometimes it doesn't. If it freezes when loading a map, it seems to always do so at 20%. I don't know if this is significant but I thought I'd throw it out there. When it does freeze, the entire system becomes unresponsive and I have to manually restart it.

I'm on Ubuntu 7.04 for AMD64, AMD Athlon 64 3700+, 2GB RAM, Nvidia GeForce 6200SE TurboCache, and I play on a client compiled from source which was patched (tjw backport) from svn 931. When it does work, I have no gameplay issues whatsoever.

If anyone has any ideas I'd greatly appreciate input; it's quite irritating having to pray every time the loading bar gets to 20%.

David

Any errors in the console?
Also, when it crashes try killing it from one of the Virtual consoles.
Any maps not in the MG repo?  Email me or come to irc.freenode.net/#mg.
--
My words are mine and mine alone.  I can't speak for anyone else, and there is no one who can speak for me.  If I ever make a post that gives the opinions or positions of other users or groups, then they will be clearly labeled as such.
I'm disappointed that people's past actions have forced me to state what should be obvious.
I am not a dev.  Nothing I say counts for anything.

Caveman

Never run a 32bit prog on a 64bit base.

kevlarman

Quote from: CavemanNever run a 32bit prog on a 64bit base.
actually, it's quite the opposite, 32 bit trem works much better on x86_64 than 64 bit trem for most people.
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

Caveman

Most probs stem from running 32bit on 64bit libs :)
And this here sounds like trem accessing a 64bit sdl-lib and getting hicuped...

kevlarman

Quote from: CavemanMost probs stem from running 32bit on 64bit libs :)
And this here sounds like trem accessing a 64bit sdl-lib and getting hicuped...
the x86_64 qvm interpreter has known problems, and ioq3 has said they won't be able to fix them anytime soon.
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

tuple

you could regularly run tremulous as:

tremulous.x86 2>tremulous.log

to log errors to a file.  Hopefully when it freezes you can check that.

Megistos

Thanks for the replies guys.

I logged Tremulous to a text file and found that it just stops abruptly here:


Loading vm file vm/cgame.qvm...
...which has vmMagic VM_MAGIC_VER2
Loading 1284 jump table targets
compiling cgame
running assembler < /tmp/cgame.s_Fozkyt > /tmp/cgame.o_M5WoLd


so I'm assuming that sometimes it can't get that to work.

QuoteMost probs stem from running 32bit on 64bit libs
And this here sounds like trem accessing a 64bit sdl-lib and getting hicuped...

It's funny you should mention SDL, because if I try to run the precompiled client, I get this:

./tremulous.x86: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

even though the file exists. If it is something to do with the libraries I have/haven't got, how would I go about fixing this? I'm afraid I don't know much about libraries in Linux. Perhaps it's looking in the wrong place?

Stof

Quote from: Megistoseven though the file exists. If it is something to do with the libraries I have/haven't got, how would I go about fixing this? I'm afraid I don't know much about libraries in Linux. Perhaps it's looking in the wrong place?
The lib must be found on /usr/lib or maybe, maybe on /usr/local/lib Once you've located the file, use the "file" utility on it ( file /usr/lb/libSDL-1.2.so.0 ) and make sure it says it's 32bit and not 64bit.

If the later, go check your distro documentation on how to create a 32bit chroot jail to install and use tremulous 32bit. Or change your distro for a real one that puts it's 32bit libs in /usr/lib and not /usr/lib32 ;)
urphy's rules of combat
8 ) Teamwork is essential; it gives the enemy someone else to shoot at.
18 ) Make it too tough for the enemy to get in and you can't get out.

Ingar

It is simply not possible to mix 32 and 64 bit libs 'by accident', a process uses either a 32bit or a 64bit address space and the dynamic loader knows what libraries to load. A 32/64 hybrid system is just 2 distributions on one disk with one kernel on a CPU that is capable of running programs of both architectures  (no emulation).  

I have been using a 64bit  tremulous for months now and it works like a charm. Yes, sometimes it freezes, but I can't remember any crashes on startup or while loading maps. I still blame nvidia :wink:. I did notice however you build your client from SVN 931, while I use 755.

Don't believe the myths about 32/64 hybrid systems until you have build one yourself.

Megistos

I installed Tremulous in 32 bit chroot, and it seems to work fine, no crashes yet. However, it runs much more slowly and without any sound.

I'd much prefer to get the 64-bit client working crash-free because it runs much better (when it runs at all). It always fails when running the assembler on cgame. Any ideas why this might fail?

f0rqu3

omg another mod suggestion thread
FREEZE GUN
:P

sometimes, my trem freezes when I start and load a map - but then it works fine. I think it is related with my memory config and crap windows

fyi trem (so ioq3) runs better/faster on linux

TinMan

Linux: ~/.tremulous/base/
Mac: ~/Library/Application\ Support/Tremulous/base/
Windows: C:\Documents and Settings\username\Local Settings\Application Data\Tremulous\base\

NeonPulse
http://neonpulse.net/media/games/tremulous/base/autoexec.cfg