[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

Help debugging ACCVIO?

» close window

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.
 

answer written or last revised on ( 30-MAR-1999 )

» close window