Pointer not set for location referenced in COBOL ILLE with two modules

5 pts.
Tags:
COBOL
ILE COBOL
MCH3601
OS/400
Hello, One of my customers is reporting a problem saying that when program A calls program B generates a message "Pointer not set for location referenced." from Procedure Division of Program B. (which has parameters) This program is a COBOL ILE with two modules, one COBOL module (Program entry procedure) and another C Module. When checked the program versions are same but one difference is they have latest C Module but this C Module is not binded with COBOL ILE PGM. Not sure whether this could cause.. Please see below log from spool file. MCH3601 Escape 40 10/02/08 16:55:13.469144 QLNRMAIN QSYS *STMT QLNRMAIN QSYS *STMT From module . . . . . . . . : QLNRMAIN From procedure . . . . . . : _Qln_consistencyCheckExternalFiles Statement . . . . . . . . . : 256 To module . . . . . . . . . : QLNRMAIN To procedure . . . . . . . : _Qln_consistencyCheckExternalFiles Statement . . . . . . . . . : 256 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 10/02/08 16:55:13.580432 QMHUNMSG *N XXP661 BAS51OBJ *STMT To module . . . . . . . . . : XXP661 To procedure . . . . . . . : XXP661 Statement . . . . . . . . . : 361 Message . . . . : Function check. MCH3601 unmonitored by QLNRMAIN at statement 0000000256, 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 QLNRMAIN QLNRMAIN 5722SS1 V5R4M0 060210 Job Log GATSTLP1 10/02/08 17:22:43 Page 31 Job name . . . . . . . . . . : QDFTJOBD User . . . . . . : SA Number . . . . . . . . . . . : 020477 Job description . . . . . . : QDFTJOBD Library . . . . . : QGPL MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST _Qln_consistencyCheckExternalFiles. At the time the message was sent the program was stopped at higher level language statement number(s) 0000000256. 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. LNR7200 Sender copy 50 10/02/08 16:55:13.580608 QLNRMAIN QSYS *STMT QLNRMAIN QSYS *STMT From module . . . . . . . . : QLNRMAIN From procedure . . . . . . : _Qln_send_inquiry_message Statement . . . . . . . . . : 64 To module . . . . . . . . . : QLNRMAIN To procedure . . . . . . . : _Qln_send_inquiry_message Statement . . . . . . . . . : 64 Message . . . . : Message 'MCH3601' in program object 'XXP661' in library 'BAS51OBJ' (C D F G). Cause . . . . . : Message 'MCH3601' was detected in COBOL statement 361 of COBOL program 'XXP661' in program object 'XXP661' in library 'BAS51OBJ'. Recovery . . . : Enter a G to continue the program at the next MI instruction, or a C if no dump is wanted, a D if a dump of the COBOL identifiers is wanted, or an F to dump both the COBOL identifiers and the file information. The message text for 'MCH3601' follows: 'Pointer not set for location referenced.' Possible choices for replying to message . . . . . . . . . . . . . . . : C -- No formatted dump is given D -- A dump of the COBOL identifiers is given F -- A dump of the COBOL identifiers and file information G -- To continue the program at the next MI instruction. *NONE Reply 10/02/08 17:22:24.681632 QMHSCLVL QSYS 068A QLNRMAIN QSYS *STMT To module . . . . . . . . . : QLNRMAIN To procedure . . . . . . . : _Qln_send_inquiry_message Statement . . . . . . . . . : 69 Message . . . . : G MCH3601 Escape 40 10/02/08 17:22:24.681880 QLNRMAIN QSYS *STMT QLNRMAIN QSYS *STMT From module . . . . . . . . : QLNRMAIN From procedure . . . . . . : _Qln_consistencyCheckExternalFiles Statement . . . . . . . . . : 256 To module . . . . . . . . . : QLNRMAIN To procedure . . . . . . . : _Qln_consistencyCheckExternalFiles Statement . . . . . . . . . : 256 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 10/02/08 17:22:24.682464 QMHUNMSG *N XXP661 BAS51OBJ *STMT To module . . . . . . . . . : XXP661 To procedure . . . . . . . : XXP661 Statement . . . . . . . . . : 361 Message . . . . : Function check. MCH3601 unmonitored by QLNRMAIN at statement 0000000256, 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 QLNRMAIN QLNRMAIN _Qln_consistencyCheckExternalFiles. At the time the message was sent the 5722SS1 V5R4M0 060210 Job Log GATSTLP1 10/02/08 17:22:43 Page 32 Job name . . . . . . . . . . : QDFTJOBD User . . . . . . : SA Number . . . . . . . . . . . : 020477 Job description . . . . . . : QDFTJOBD Library . . . . . : QGPL MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST program was stopped at higher level language statement number(s) 0000000256. 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. LNR7200 Sender copy 50 10/02/08 17:22:24.682632 QLNRMAIN QSYS *STMT QLNRMAIN QSYS *STMT From module . . . . . . . . : QLNRMAIN From procedure . . . . . . : _Qln_send_inquiry_message Statement . . . . . . . . . : 64 To module . . . . . . . . . : QLNRMAIN To procedure . . . . . . . : _Qln_send_inquiry_message Statement . . . . . . . . . : 64 Message . . . . : Message 'MCH3601' in program object 'XXP661' in library 'BAS51OBJ' (C D F G). Cause . . . . . : Message 'MCH3601' was detected in COBOL statement 361 of COBOL program 'XXP661' in program object 'XXP661' in library 'BAS51OBJ'. Recovery . . . : Enter a G to continue the program at the next MI instruction, or a C if no dump is wanted, a D if a dump of the COBOL identifiers is wanted, or an F to dump both the COBOL identifiers and the file information. The message text for 'MCH3601' follows: 'Pointer not set for location referenced.' Possible choices for replying to message . . . . . . . . . . . . . . . : C -- No formatted dump is given D -- A dump of the COBOL identifiers is given F -- A dump of the COBOL identifiers and file information G -- To continue the program at the next MI instruction. Please help what could be the cause..

Answer Wiki

Thanks. We'll let you know when a new response is added.

Hi,
here your customer may not be sending the right parameters to the called program. The parameters sent should match the number and type. Hope this will help…

Discuss This Question: 1  Reply

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • TomLiotta
    It's possible that the binding of the C module could be involved, if a procedure in that module has been called before statement 361 in the COBOL module was reached. But without seeing the COBOL CALL statement, the definition of COBOL variables involved in the call and the C prototype that was called, there's no way for us to tell. In any case, the reported error is involved with one of the files used by the COBOL module. The C module could be involved if there was a parameter mismatch and thereby the call into C resulted in corruption of the file interface. Show some code so we can guess. Tom
    125,585 pointsBadges:
    report

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Thanks! We'll email you when relevant content is added and updated.

Following