Thursday, April 07, 2011

COBOL Peopletools 8.51 and ulimit

Whilst testing the Cobol on HCM9.1 after an upgrade from Peopletools 8.50 to Peopletools 8.51, the Cobol were just crashed. It did work fine in PT8.50 in the same environment, same platform, same OS settings, same PS_HOME (OS is AIX5.3ML9).
The Peopletools 8.51 have been installed on top of the existing PS_HOME 8.50.
But here, the Cobol just crashed, the log file being the following :
Oracle Enterprise Global Payroll and Absence Management – Version 9.0
                                         
Copyright (C) 2006
Oracle
                                                                                     
All Rights Reserved  

<...snipped...>

kgefec: fatal error 0
ORA-21503: program terminated by fatal error
ORA-04030: out of process memory when trying to allocate 2097184 bytes (Alloc statemen,intermBuf_kpdStm alloc)
Errors in file :
ORA-21503: program terminated by fatal error
ORA-04030: out of process memory when trying to allocate 2097184 bytes (Alloc statemen,intermBuf_kpdStm alloc)

----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)   
-------------------- -------- -------------------- ----------------------------
skgudmp+0044         bl       kgdsdst              FFFF3F50 ? 100A4848 ?
kgefec+00cc          bl       _ptrgl             
kghnospc+089c        bl       kgefec               100A4848 ? 0 ? FBE ? 0 ?
kghalo+0d08          bl       kghnospc             BDE9694 ? 0 ? 16672750 ?
                                                   1666E878 ? 3EA0 ?
kpuhhalo+03cc        bl       kghalo               BDF0494 ? 0 ? 0 ? 0 ? 0 ? 0 ?
                                                   0 ? 0 ?
kpuertb_reallo+0110  bl       kpuhhalo             166747E8 ? 200000 ? CC1590C ?
kpuex_reallocT+00c0  bl       _ptrgl             
kpuspi+05c0          bl       kpuex_reallocT       FFFF4AA0 ? 0 ? 0 ? 2 ?
OCIStmtSetPiec+0014  bl       kpuspi               1 ? FFFF4C8A ? 1 ? 2 ? 0 ?
                                                   0 ? 7 ? 17F3D278 ?
PSORA_FetchNex+02ec  bl       0B876680           
PS_sqlfet+002c       bl       0B8770F8           
C_GETSTMT+0430       bl       0D415C10         
  
<...snipped...>

----- End of Call Stack Trace -----

1110200: 1302083115: PSPAL::Abort: Unexpected signal received
1110200: 1302083115: PSPAL::Abort: Location: /vob/peopletools/src/pspal/exception_sigaction.cpp:494: PSPAL::SigactionSignalHandler::RecoverableSignalHandler(int, siginfo_t *, void *)
1110200: 1302083115: PSPAL::Abort: Generating process state report to ./process_state.txt
1110200: 1302083115: PSPAL::Abort: Terminating process now.

Execution error : file '/appl/psoft/hr91/cblbin/PTPSQLRT.gnt'
error code: 115, pc=0, call=1, seg=0
115     Unexpected signal (Signal 6)

It appears the ulimit for “data” was not set to unlimited, but to a low value. After setting it to unlimited for the Peoplesoft OS user, and re-linking the Cobol, it worked again.
That’s a small change within PT8.51, it was working fine without that unlimited data limit within 8.50.

Find out more, other workarounds about this error : E-COB: PTPSQLRT-114 Attempt to access item beyond bounds of memory (Signal 11) [ID 638612.1]

Nicolas.

No comments: