|
Hi Scott, Thanks a bunch for your elaborate answer. I will explain you what is the issue. There is a monitor job which ran fine till a week back. But suddently it errors out with MCH0601 (This I can see from the QPRGDMP). The error message says MESSAGE ID- MCH0601 MESSAGE FILE- QCPFMSG SEVERITY- 40 MSGTYPE- 0F Space offset X'00001E16' or teraspace offset X'0000000000000000' is outside current limit for object QSCPROBLEM QSCPROBLEM is a user space which resides in some system library (Starting with Q, I don have the job log now) I checked the call stack entry in the job-log when the error occured: That reads as below (XRPG1124 is an ILE program) XRPG124 PRODLIB1 10800 008E 000 > QCMDEXC QSYS 0129 000 > XCL127 PRODLIB2 128 0051 000 > QCATRS QSYS 01EE 000 > EXECHKR SEQUEL 0005 000 > < SQLSERVERV SEQUEL 000 > Procedure: _QRNP_PEP_SQLSERVERV > < vationInit QSYS 0000001534 000 > Procedure: Q LE leActivationInit > < InitRouter QSYS 0000001567 000 > Procedure: Q LE leActivationInitRouter > < initlocale QSYS 0000000004 000 > Procedure: _C_PSX_initlocale > < _setlocale QSYS 0000001114 000 > Procedure: _C_PSX_setlocale > < lex__FiPCc QSYS 0000001169 000 Procedure: setlocalex__FiPCc < _setlocale QSYS 0000001114 000 Procedure: _C_PSX_setlocale < lex__FiPCc QSYS 0000001189 000 Procedure: setlocalex__FiPCc < a_from_API QSYS 0000002446 000 Procedure: _C_get_locale_data_from_API < _space_ptr QSYS 0000002371 000 Procedure: _C_Get_temp_space_ptr < formation2 QSYS 0000001536 000 Procedure: QlgRetrieveLocaleInformation2 < FP7Globe_v QSYS 0000001787 000 Procedure: Get_Pointer_to_object__FP7Globe_v < riP6Qus_EC QSYS 0000000484 000 Procedure: Qp0lGetObjectAttr__FP12qlg_pathnameP5vattrP12qp0l_sysattri < l_sysattri QSYS 0000002130 000 < _nameidata QSYS 0000003019 000 Procedure: qp0l_lookupv__FP13qp0l_pathnameiP14qp0l_nameidata < curdir__Fv QSYS 0000000796 000 Procedure: qp0l_set_curdir__Fv _CXX_PEP QSYS 0000000583 000 main QSYS 0000000564 000 < twareError QSYS 0000000499 000 Procedure: QpdReportSoftwareError Finally the call ends in the API, QpdReportSoftwareError and thus the error MCH0601 comes. I really confused how the call comes to this API. (I searched about the API and I found out that this will log all the spool files related to any software problem and system qdministrator has to look into this using WRKPRB.) I believe that this API tries to report the some software error and write into the user space QSCPROBLEM. And all on a sudden MCH0601 occurs. So I want to learn about the call stack and particularly how the call gets diverted to leActivationInit. Thereby atleast I can track what is the problem (if any bug in my code or I need to report IBM and get the PTF applied to my OS). I noted one thing. I gave WRKOBJ and checked the QSCPROBLEM and it seemed to be created on the day Feb 26. And this issues started occuring after that. Also the thing to note that this error is not occuring always at some point of time After that when the job gets restarted, it runs fine. There are other two jobs also ended with the same error and at random time. They also do have call identical call stack entries with the call starting with leActivationInit. Really this issue kills us and makes us baffled. Please help me if you have any clue Thanks Avis. Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx> wrote: If you look further over to the right-hand side of this call stack, you should see ILE program and module names as well, which might help make it easier to understand. The idea of a call stack is that each time a program or procedure calls another program or procedure, the new one gets added to the stack. When a program or procedure finishes, it gets removed from the stack. This includes routines in the operating system that get called as a result of you performing an opcode or BIF as well as program or procedure calls that you've made explicitly in your program. So in the example you've provided, a program called XRPG124 (which is NOT ILE, unless you've left part of the call stack out!) is calling a program called QCMDEXC. As you may know, QCMDEXC is an API that allows you to submit a command string to be interpreted and run. QCMDEXC calls XCL127, which appears to be an OPM CL program. That program must run a SEQUEL command of some sort. QCATRS is the operating system program that calls (among other things) validity checking programs (VCP). Based on the name, I'm guessing the SEQUEL has a validity checking program named EXECHKR. EXECHKR then calls another program (this one is ILE) named SQLSERVERV. __QRNP_PEP_SQLSERVERV is the "Program Entry Procedure" for SQLSERVERV. This is not a procedure that a programmer wrote, but rather one that's generated by the ILE program creation tools to give the program a place to start processing. Apparently, this PEP also calls an operating system routine called "Q LE leActivationInit", which in turn calls "Q LE leActivationInitRouter", etc. Why do you ask this? Are you having trouble with these programs? On Wed, 1 Mar 2006, Avis Ramuk wrote: > Hi, > > > I have a RPGLE pogram named XRPG which gets executed as a job. At some point, > this CLP calls another CLP program XCL127. In this program, Execute command > is used to run a SQL query. Now the call stack read as below: > > XRPG124 PRODLIB1 10800 008E 000 > QCMDEXC QSYS 0129 000 > XCL127 PRODLIB2 128 0051 000 > QCATRS QSYS 01EE 000 > EXECHKR SEQUEL 0005 000 > < SQLSERVERV SEQUEL 000 > Procedure: _QRNP_PEP_SQLSERVERV > < vationInit QSYS 0000001534 000 > Procedure: Q LE leActivationInit > < InitRouter QSYS 0000001567 000 > Procedure: Q LE leActivationInitRouter > < initlocale QSYS 0000000004 000 > Procedure: _C_PSX_initlocale > < _setlocale QSYS 0000001114 000 > Procedure: _C_PSX_setlocale > < lex__FiPCc QSYS 0000001169 000 > ..continues.. > > I want someone to help me in explaining how and why this call happens. > Especially I want to know when/why leactivationinit gets called. Can > anyone please explain this?.
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.