Welcome, Guest. Please login or register.

Author Topic: Find what is causing GURU 8000003  (Read 7753 times)

Description:

0 Members and 3 Guests are viewing this topic.

Offline 560SL

  • Full Member
  • ***
  • Join Date: Jan 2005
  • Posts: 197
    • Show all replies
Re: Find what is causing GURU 8000003
« on: March 07, 2012, 04:08:43 PM »
Quote from: bbond007;682762
I tried giving the application more stack and that seem to help.


Usually this means that some local variables that are on the stack are trashed at some point. Like, filling a char- array too long or similar. It can waste the return instructions from a function call, setting the program counter to absolutley weird addresses and causing the behaviour you describe. Adding stack can sometimes help to preserve the return instructions so you dont experience the problem.

Might sound cryptic, but check your stack variables to begin with.
AmigaOS: Forward Into The Past
 

Offline 560SL

  • Full Member
  • ***
  • Join Date: Jan 2005
  • Posts: 197
    • Show all replies
Re: Find what is causing GURU 8000003
« Reply #1 on: March 07, 2012, 10:12:24 PM »
Quote from: bbond007;682830
by stack variable, you mean I'm doing something like this...


Yep, exactly. And it might not be so obvious either. I work daily with C- programming, for like 15 years now, and I still do mistakes likes this now and then.

Stack problems can be a challenge to track down since they may appear seemingly at random. Can be due to "litter" in uninitialized variables, and can run fine 9 times out of 10. What they do tend is to generate crashes that seem totally unrelated to what youre trying to do in your program, like alignment problems. Weird out program counter etc.

I never got too used with the debugging tools on the Amiga (Enforcer etc), if I need to track down a bug, I usually end up with just staring at the code, trying to figure out whats wrong.

As in love and war, everything is ok when it comes to debugging. Even printf- debugging.

Yeah, Ive heard people getting soft with Java... they dont even have to null- terminate their strings... :)
AmigaOS: Forward Into The Past