1751945 Members
4873 Online
108783 Solutions
New Discussion юеВ

FORMS-E-PROC_ESCAPE_ERR

 
IT Resource Center Foru_3
Occasional Contributor

FORMS-E-PROC_ESCAPE_ERR

Hi All,

I working on OVMS. Our application is running on DECForms. But our appication runs if we give some HexaDecimal values then forms are saving the values but coming out from the forms by throwing the following error...

%FORMS-E-PROC_ESCAPE_ERR, request terminated due to severe error in procedural escape routine

When I take trace it indicates access vio;ation error like :
"-SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0000000000000000, PC=0000000000000000, PS=0
Returning receive control text "EI031"."

When I compiled I did not find any errors or warnings.
I followed the following steps to get the trace :
DEFINE FORMS$TRACE "T"
DEFINE FORMS$TRACE_FILE "my directory"
DEFINE/USER SYS$INPUT SYS$COMMAND

--
even I tried with error logs using the following command:
DEFINE FORMS$LOG_EVENTS "T"

So if any body has the idea how to solve these type of problems and how to find which escape routine was failed, please let me know how to solve.

Thanks in Advance
-KSSR
3 REPLIES 3
Hoff
Honored Contributor

Re: FORMS-E-PROC_ESCAPE_ERR

The application code here almost certainly contains one or more application-level bugs. Your Escape Routine likely has a bug or three. More specifically, you will be using the OpenVMS Debugger here.

See the section on "Preparing to Debug DECforms Escape Routines" in the DECforms and ACMS documentation.

That section and more detail on how to debug these sorts of application coding errors are included in the debugging chapter of the manual:

http://h71000.www7.hp.com/doc/721final/6607/6607pro_013.html#debug_chap

Here are the first posting of this same question, and another question and thread discussing a DECforms debugging sequence, respectively:

http://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1265888

http://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=636380
IT Resource Center Foru_3
Occasional Contributor

Re: FORMS-E-PROC_ESCAPE_ERR

Hi Hoff,
Thanks for reply. I have already used Forms Trace and Open VMS debugger. After the trace only I found Access violation error. And I have looked into the link you have specified, there I did not found more info than How I debugged.
I am screwed with this error as I am not finding any way how to find which routine is throwing this error.

Regards
-KSSR
Hoff
Honored Contributor

Re: FORMS-E-PROC_ESCAPE_ERR

If you can't find this with the tools and with the debugger (and I don't know how familiar you are with these tools), then what chance to we ITRC folks have to find the bug? (Seriously.) This sort of debugging typically requires a whole lot more detail, or (more commonly) source-level access. (We don't even know the language, but I'd guess you're using C or maybe C++.)

Based solely on the access violation frame that's been shown, something here appears to be filling the stack with zeros. A buffer overrun of some sort. If the code looks perfect in the routine, then look at how you're transferring the data back to the caller and at the related argument list. (OpenVMS uses a comparatively older approach with its argument passing, and it's easy to correspondingly easy to clobber argument buffers.)

An introduction to the access violation (ACCVIO) is discussed here:

http://labs.hoffmanlabs.com/node/800

If you've written the code here or are of you in the escalation path for this code, then do consider getting another programmer to look at the source code involved. Or post up a reproducer here. (It can be somewhat difficult to create that, however, as these bugs tend to be bugs lurking in the original source code and thus difficult to scale down into a reproducer. Which itself makes the attempted creation of a reproducer a good debugging technique in itself.)