![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: Hi We are getting %system-f-accvio, reason mask = 01 , Virtual Address=20340004,PC=80000010,PSL=03C00004. Besides it says Improperly Handled Condition, image exit forced. And them it gives the list of addresses with the heading Signal Arguments and Stack contents and it gives the register dump. How would we figure it out what is wrong in the whole executable. This does not happen always, but atlease twice it happened. Why it did not provide any traceback ?? ( Link command did not have NO Traceback option) Please explain. Thanks The Answer is : We are getting %system-f-accvio, reason mask = 01 , Virtual Address=20340004,PC=80000010,PSL=03C00004. You don't provide much information about your problem. However, from this meagre message the Wizard can say that you're running on a VAX and you've somehow trashed your stack. There are actually 2 errors in the program. The first has overwritten part of the call frame for one of the routines in the call stack (though most likely the current routine). This may be a string length error involving a string containing the characters "4 " (digit "4" followed by a space). The second error is an exception which has caused the system to follow normal exception handling procedures. The previous corruption has prevented condition handing from working, resulting in the above ACCVIO. For the specific meaning of the various arguments of the access violation, please see the text displayed by HELP/MESSAGE ACCVIO. >Why it did not provide any traceback ?? Traceback is really just a listing of the contents of your stack. Since the stack has been corrupted, you don't get traceback. One way of finding an error like this is to use DEBUG with breakpoints set at various places. Keep checking the stack with the SHOW STACK command. When you find corruption, restart the program and take finer steps to try and isolate the instruction causing the corruption. Focus on finding the stack corruptor. Once you've fixed that, the exception handing of the second error will work properly and give a useable traceback. If this program is written in C or Macro, keep an eye out for mismatches in the declared and actual lengths of stack variables, character string arguments, and similar. Please also see the discussion of programming and synchronization errors under the "SMP" topic here in Ask The Wizard -- while the topic title specifically mentions debugging synchronization problems and SMP, these programming errors can and do occur on SMP and non-SMP systems.
|