Game Development Community

Memory Access error on latest head in RELEASE build

by Martin Schultz · in Torque Game Engine · 07/05/2004 (9:29 am) · 12 replies

Hi,

did anyone have the same error? I used a fresh cvs HEAD checkout from yesterday and it compiled and ran fine in debug build, but running it in release mode it only gave me an "memory access error" (hope the translation is correct from german).

There's no torque log written - it dies before. No windows comes up.

I'm running a SuSE 9.1 pro. And yes,if anyone asks, I did a "make clean" before each build. :-)

Best,
Martin

#1
07/05/2004 (1:26 pm)
Can you run in a debugger and tell us what line it dies on?
#2
07/05/2004 (1:30 pm)
Debuggers tend not to work very well with Release mode only crashes, Ben. :)
#3
07/05/2004 (9:25 pm)
You can do it. Just less information to be had. I can usually get a line number out of VC7, though I can't always get the stack.
#4
07/06/2004 (6:58 am)
Ben,

hmm, how can I run it with a debugger in Linux? I did a make via the console and not via an IDE.

Would it help to post the output of strace?

I tried it on two different PCs with the same result - on both it came up with a memory access error (to be sure it is not only my PC :-)

Best,
Martin
#5
07/06/2004 (7:38 am)
Run it with gdb - make sure you've generated the debug symbols when you compiled with GCC (-g, I believe). I'm not an active linux user so you may have to do some research to get that figured out (or find a linux user and ask them for help). Once you have a line number we can start seriously pursuing the error. Or you can use the printf trick, though that might be hard without console output.

You sure you have the latest drivers and libraries?
#6
07/09/2004 (4:08 am)
Hi,

I tried my very best, added the -g option, compiled anew but the debugger still won't output anything except the message box (see screenshot). The message box comes up right after I choose which programm to debug in the file menu.

I feel sooo stupid... :-) What can I do?

Best,
Martin

www.indiesatwork.com/img/debugger.jpg
#7
07/09/2004 (7:55 am)
Hmm... That's lame. I don't develop with your tools (I use VC7 on windows) so I don't have an easy fix for you. Maybe one of the other community members can help you out.
#8
07/09/2004 (1:18 pm)
I just built with RELEASE for the first time and ran into this issue as well. It's caused by incorrect use of inline assembly in the CPU speed calculation code. This probably affects everyone using GCC 3. Here's a patch that fixes it:

www.emulinks.de/torque/torque-tscasm.patch

Martin: This is not an error, even if your debugging frontend says so. If you want one that works, use insight (comes with your distro), or just run gdb from the command line.
#9
07/09/2004 (11:55 pm)
Hi Ulrich,

hey, that sounds like a solution! Cool. How did you find that out?

I'm feeling still a bit stupid as I'm not sure how to apply the patch under Linux. Is there a tool for it?

Is that patch only for Linux or for Windows too?

Best,
Martin
#10
07/21/2004 (8:53 am)
Hi,

got it working. A small how-to for patch newbies like me. That's how to call "patch" with this patch file:

patch <path to torque dir>/engine/platformX86UNIX/x86UNIXCPUInfo.cc <path to the patch>/torque-tscasm.patch

This patch should definately go into head.

Thanks Ulrich - great job!

Best,
Martin
#11
07/22/2004 (9:22 am)
I will look at this - I've just been loaded down with work lately, so it's been hard to make time for patches. Sorry guys!
#12
07/24/2004 (1:30 pm)
I even just downloaded the patch. Watch out world!