Gen 8.6 UNIX/Linux message TIRM042E "PROFILE ERROR DETECTED"
search cancel

Gen 8.6 UNIX/Linux message TIRM042E "PROFILE ERROR DETECTED"

book

Article ID: 46070

calendar_today

Updated On:

Products

Gen

Issue/Introduction

While running an Gen 8.6 online "no display" load module on UNIX/Linux, the application abends with the following error:

TIRM030E: APPLICATION FAILED - UPDATES HAVE BEEN BACKED OUT
TIRM042E: *** PROFILE ERROR DETECTED ***
TIRM046E: TRANSACTION PROCESSING TERMINATED

Environment

Release: 8.6
Component: Gen Run Time, Blockmode

Resolution

Typically TIRM042E profile error(s) are seen with online "no display" applications in UNIX/Linux where the temporary profile files (bs_xxxx) are either conflicting or had been removed prior to the end of a application run.
These files are located in directory $PTHOME/userid (where userid is the current logged in user) or if the AEUSER environment variable is set, they are located in directory $PTHOME/$AEUSER.

More information regarding the TIRM042E and the bs_xxxx files

The bs_xxxx files are the profile files for the application/process that is currently running or has been run.  They are needed while the application is running and can be deleted after the application completes.
 
Changing the PTOPT option from 'YES' to 'YY' (see UNIX and Linux Implementation Toolset > Prerequisite Implementation Tasks) will compress the profile files upon creation which may give some relief.
It is normal practice use the 'YES' option and delete the files after the application runs (script) or in a cleanup script at night.
The key is to only delete those files used by THAT application and only after THAT application has finished.
The path to these files is a combination of PTHOME/USER, so it is important to understand how USER is derived:

  • If the environment variable AEUSER is set, then a subdirectory with that name is created under PTHOME (if it does not already exist). If AEUSER is not set, then the effective userid from the system is used. It is therefore best to set AEUSER.
  • If two applications are running concurrently and both use the same values for PTHOME and AEUSER they will run the risk of a collision on the profile files (the bs_xxxx equates to: bs_<id of the owning business system of the proc step>). If AEUSER is set to be some sort of value unique to that occurrence, then each application will run with its own profile directory.