× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Jeff:

Did you reply "D" for a full formatted Dump, when you got that inquiry message? That might reveal something ...

QRNXIE is an ILE RPG IV runtime routine that contains some "initialization" code and mostly seems to be related to runtime routines that are used only when errors are detected.

This seems to point back to your program COUPS1 at statement 68000 ... what is that statement? Is that the CHAIN you referred to?

Are you able to run the COUPS1 program using interactive debug (STRDBG) and step through the code, leading up the failure at statement 68000? (Sometimes, when run under "debug" it might not fail or may not fail in the same way, due to differences in runtime storage allocation when the debugger is active.)

Does this program COUPS1 call any other external programs or external procedures with parameters, prior to this failure?

I suspect some kind of "storage overlay" problem -- if the actual parameters passed to an external program or procedure do not really match the size, data type, etc., of the parameters expected by that procedure, this can easily lead to corruption of some data in memory. It is all too easy to overlay local variables on the stack, which can also destroy important information on the stack, such as procedure call return addresses, etc., that can result in failures similar to what you are seeing (MCH3601, for example).

Here is a related thread:
http://archive.midrange.com/rpg400-l/200308/msg00010.html

I hope this helps,

Mark S .Waterbury

> On 2/29/2016 4:50 PM, Jeff Young wrote:
All,
Receiving the following error in the job log:
Message . . . . : 5200 - CALL
PGM(*LIBL/COUPS1) /* The CALL
command contains parameters */

MCH3601 Escape 40 02/29/16 16:40:35.834316 QRNXIE
QSYS *STMT QRNXIE QSYS *STMT
From module . . . . . . . . :
QRNXMSG
From procedure . . . . . . :
SetRepText
Statement . . . . . . . . . : 45

To module . . . . . . . . . :
QRNXMSG
To procedure . . . . . . . :
SetRepText
Statement . . . . . . . . . : 45

Message . . . . : Pointer not set
for location referenced.
Cause . . . . . : A pointer was
used, either directly or as a basing
pointer, that has not been set to
an address.
CPF9999 Escape 40 02/29/16 16:40:35.834481
QMHUNMSG *N COUPS1 T37REBATE *STMT
To module . . . . . . . . . :
COUPS1
To procedure . . . . . . . :
COUPS1
Statement . . . . . . . . . : 68000

Message . . . . : Function check.
MCH3601 unmonitored by QRNXIE at statement
0000000045, instruction X'0000'.

Cause . . . . . : An escape
exception message was sent to a program which
did not monitor for that message.
The full name of the program to which the
unmonitored message was sent is
QRNXIE QRNXMSG SetRepText. At the time the
message was sent the program was
stopped at higher level language statement
number(s) 0000000045. If more than
one statement number is shown, the
program was a bound program.
Optimization does not allow a single statement
number to be determined. If *N is
shown as a value, it means the actual
value was not available. Recovery .
. . : See the low level messages
previously listed to locate the
cause of the function check. Correct any
errors, and then try the request
again.
RNQ0222 Sender copy 99 02/29/16 16:40:35.840653 QRNXIE
QSYS *STMT QRNXIE QSYS *STMT
From module . . . . . . . . :
QRNXMSG
From procedure . . . . . . : InqMsg

Statement . . . . . . . . . : 15

To module . . . . . . . . . :
QRNXMSG
To procedure . . . . . . . : InqMsg

Statement . . . . . . . . . : 15

Message . . . . : Pointer or
parameter error (C G D F).
Cause . . . . . : RPG procedure
COUPS1 in program T37REBATE/COUPS1 at
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3
statement 068000 had an error due to
a pointer not being correctly set. The
cause of the error is most likely
one of the following: -- A basing pointer
was not set. -- A procedure pointer
was not set. -- The pointer was set, but
the object it referenced has been
destroyed. -- A parameter was not passed
5761SS1 V6R1M0 080215 Job Log
S06B6D65 02/29/16 16:44:17 Page 31
Job name . . . . . . . . . . : ROUTE_INV User . . . . . . :
VAIJY Number . . . . . . . . . . . : 502671
Job description . . . . . . : VAIJOBD Library . . . . . :
QGPL
MSGID TYPE SEV DATE TIME FROM PGM
LIBRARY INST TO PGM LIBRARY INST
to the program containing the
procedure. -- A parameter was not passed to
the procedure by its caller within
the program. -- A pointer offset was
greater than the size of the space
the pointer was pointing to. Recovery .
. . : Check the job log for more
information on the cause of the error and
contact the person responsible for
program maintenance. Possible choices for
replying to message . . . . . . . .
. . . . . . . : D -- Obtain RPG
formatted dump. S -- Obtain system
dump. G -- Continue processing at *GETIN.
C -- Cancel. F -- Obtain full
formatted dump.
System is at V6R1M0
Last PTF TL64197
Yeah, I know it is way old, but there was never a problem like this before.
The program was doing a Chain to a keyed file using database fields in the
key list.

Any ideas?
The error appears to be in QRNXIE.


Jeff Young
Sr. Programmer Analyst



As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.