Tremulous Forum

General => Troubleshooting => Topic started by: Megistos on May 09, 2007, 10:14:45 pm

Title: Tremulous (sometimes) freezes
Post by: Megistos on May 09, 2007, 10:14:45 pm
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%.
Title: Tremulous (sometimes) freezes
Post by: David on May 09, 2007, 10:19:53 pm
Any errors in the console?
Also, when it crashes try killing it from one of the Virtual consoles.
Title: Tremulous (sometimes) freezes
Post by: Caveman on May 10, 2007, 12:10:20 am
Never run a 32bit prog on a 64bit base.
Title: Tremulous (sometimes) freezes
Post by: kevlarman on May 10, 2007, 12:22:39 am
Quote from: "Caveman"
Never 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.
Title: Tremulous (sometimes) freezes
Post by: Caveman on May 10, 2007, 12:47:37 am
Most probs stem from running 32bit on 64bit libs :)
And this here sounds like trem accessing a 64bit sdl-lib and getting hicuped...
Title: Tremulous (sometimes) freezes
Post by: kevlarman on May 10, 2007, 12:55:06 am
Quote from: "Caveman"
Most 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.
Title: Tremulous (sometimes) freezes
Post by: tuple on May 10, 2007, 12:56:57 am
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.
Title: Tremulous (sometimes) freezes
Post by: Megistos on May 10, 2007, 04:33:44 pm
Thanks for the replies guys.

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

Code: [Select]

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.

Quote
Most 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:

Code: [Select]
./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?
Title: Tremulous (sometimes) freezes
Post by: Stof on May 10, 2007, 04:38:38 pm
Quote from: "Megistos"
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?

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 ;)
Title: Tremulous (sometimes) freezes
Post by: Ingar on May 10, 2007, 06:54:44 pm
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.
Title: Tremulous (sometimes) freezes
Post by: Megistos on May 10, 2007, 08:48:39 pm
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?
Title: Tremulous (sometimes) freezes
Post by: f0rqu3 on May 10, 2007, 08:55:10 pm
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
Title: Tremulous (sometimes) freezes
Post by: TinMan on May 10, 2007, 09:42:49 pm
AMD64 - svn 755 + smp patch + tjw mod (GUID and bug fixes)
http://neonpulse.net/linux/games/tremulous/release-linux-x86_64.tar.gz
Try it.