|
And you have just demonstrated nicely why ALL calls should be prototyped!
It would have saved you all this time because your recompile would have
failed.
On Mar 1, 2016, at 12:29 PM, Jeff Young <jyoung0950@xxxxxxxxx> wrote:calling
Thanks to everyone that responded.
It turns out that one of the programs that the pgm in question was
had changed the size of a return parm. That appears to have corruptedsomewhere.
memory and stepped on QRNXIE causing the pointer error.
I have now resolved this problem.
Jeff Young
Sr. Programmer Analyst
On Tue, Mar 1, 2016 at 10:26 AM, Henrico, Pieter <
Pieter.Henrico@xxxxxxxxxxxx> wrote:
Hi Jeff
I am also of the view the issue is related to a missing variable
modified
Seems to me the point to start the investigation, is with the file that
changed. When your re-compiled program read the record from the
datafile, does it actually return the correct data? Could be that you use
incorrectfrom one file as input for another process, and because the data was not
retrieved correctly, the parameter passed to the next program is
seeingand the process fails.
Would it be possible to give us a before and after of the DDL of the
file's format change, as well as an extract of the source code were the
process fails? It is somewhat difficult to make suggestions without
haswhat you are seeing.
Regards
Pieter Henrico
-----Original Message-----
From: Jeff Young [mailto:jyoung0950@xxxxxxxxx]
Sent: Tuesday, March 01, 2016 4:33 PM
To: Midrange Systems Technical Discussion
Subject: Re: Odd Error when doing Chain in RPGLE
Charles,
This is not a new job.
The job has been running for a long time, and runs often during the day.
The only thing different is that one of the files used in this program
wrote:had the format changed, and the program was recompiled.
That is when I started getting the error. The CL program calling it has
not been changed, and when run with the production program with the
original files, it works with no problems.
Jeff Young
Sr. Programmer Analyst
On Tue, Mar 1, 2016 at 9:22 AM, Charles Wilt <charles.wilt@xxxxxxxxx>
wrote:
Are you doing any CALLs in the program?
Check the parms in the caller and callee programs.
You'll want to check all the way down the chain..
If this is PGMA
PGMA
-PGMB
-PGMC
-PGMD
-PGME
-PGMF
Check all of them...
Memory corruption can manifest itself very strangly.
On Tue, Mar 1, 2016 at 9:10 AM, Jeff Young <jyoung0950@xxxxxxxxx>
list.
The fields in the KLIST are from another database file.proper
Debug while the job is still active shows all of the fields have the
value.
The program accepts only one parm and that is not used in the key
unlawful. Nonotkeyed
Jeff Young
Sr. Programmer Analyst
On Mon, Feb 29, 2016 at 8:41 PM, aec <cfuture@xxxxxxxxxxx> wrote:
A missing pointer for a CHAIN means that the program does not yetthe
have
pointer set for the value specified.
"Chain to a keyed file using database fields in the key list."
The phrasing seems to indicate you were using field names from the
CALLfile itself. If so, I'm guessing there's been no I/O on the filethere's
so
been no pointer to the buffer area initialized.
I doubt the error is in QRNXIE, though, if that's an IBM program
or procedure.
On 2/29/16 4:50 PM, Jeff Young wrote:
All,
Receiving the following error in the job log:
Message . . . . : 5200 -
*/PGM(*LIBL/COUPS1) /* The CALL
command contains
parameters
45
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 . . . . . . . . . :
Message . . . . : Pointer
.setwas
for location referenced.
Cause . . . . . : A pointer
setused, either directly or as a basing
pointer, that has not
been
tois
check.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
X'0000'.MCH3601 unmonitored by QRNXIE at statement
0000000045, instruction
message.
Cause . . . . . : An escape
exception message was sent to a program which
did not monitor for that
The full name of the program to which the
unmonitored message was
sent
wasQRNXIE QRNXMSG SetRepText. At the time the
message was sent the
program
thethanstopped at higher level language statement
number(s) 0000000045. If
more
isone statement number is shown, the
program was a bound program.
Optimization does not allow a single statement
number to be determined.
If *N
shown as a value, it means the actual
value was not available.
Recovery .
. . : See the low level messages
previously listed to
locate
requestcause of the function check. Correct any
errors, and then try the
15QRNXIEagain.
RNQ0222 Sender copy 99 02/29/16 16:40:35.840653
QSYS *STMT QRNXIE QSYS *STMT
From module . . . . . . . . :
QRNXMSG
From procedure . . . . . . :
InqMsg
Statement . . . . . . . . . :
15
To module . . . . . . . . . :
QRNXMSG
To procedure . . . . . . . :
InqMsg
Statement . . . . . . . . . :
procedure
Message . . . . : Pointer or
parameter error (C G D F).
Cause . . . . . : RPG
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7COUPS1 in program T37REBATE/COUPS1 at
....+....8....+....9....+....0....+....1....+....2....+....3
duestatement 068000 had an
error
likelyto
a pointer not being correctly set. The
cause of the error is
most
beenone 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
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 . . . .
:for
FROMQGPL
MSGID TYPE SEV DATE TIME
withinPGM
LIBRARY INST TO PGM LIBRARY INST
to the program containing
the procedure. -- A parameter was not passed to
the procedure by its
caller
spacethe program. -- A pointer offset was
greater than the size of
the
the pointer was pointing to. Recovery .
. . : Check the job log
.more
forinformation on the cause of the error and
contact the person
responsible
program maintenance. Possible choices for
replying to message . . . .
.
.list
system.
. . . . . . . : D -- Obtain RPG
formatted dump. S --
Obtain
thedump. 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
listkey list.
Any ideas?
The error appears to be in QRNXIE.
Jeff Young
Sr. Programmer Analyst
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,--
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,--
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
The information contained in this email is confidential and may contain
proprietary information. It is meant solely for the intended recipient.
Access to this email by anyone else is unauthorised. If you are not the
intended recipient, any disclosure, copying, distribution or any action
taken or omitted in reliance on this, is prohibited and may be
expressedliability or responsibility is accepted if information or data is, for
whatever reason corrupted or does not reach its intended recipient. No
warranty is given that this email is free of viruses. The views
Technologyin this email are, unless otherwise stated, those of the author and not
those of HYPHEN Technology (Pty) Ltd or its management. HYPHEN
list(Pty) Ltd reserves the right to monitor, intercept and block emails
addressed to its users or take any other action in accordance with its
email use policy.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
listTo post a message email: MIDRANGE-L@xxxxxxxxxxxx--
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
To post a message email: MIDRANGE-L@xxxxxxxxxxxxquestions.
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related
Jon Paris
www.partner400.com
www.SystemiDeveloper.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
As an Amazon Associate we earn from qualifying purchases.
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.