Diagnosing Endevor error message C1E0146I for End-to-end logging
search cancel

Diagnosing Endevor error message C1E0146I for End-to-end logging

book

Article ID: 413373

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

If Endevor end-to-end logging is enabled, Endevor will try to perform the logging at the end of the action.

During this processing, an error message may show up in the Endevor execution report (C1MSGS1 DD)

C1E0146I  THE END-2-END LOGGING PATH WAS NOT FOUND, LOGGING SKIPPED.

Nothing is written into the E2E folder specified in the configuration member

Cause

When Endevor is about to log an action to the E2E folder, it checks whether the string specified in the configuration member does in fact name a folder. This is done by invoking the 'stat' function (BPX1STA) from Unix System Services

Message C1E0146I arises when either:

  • The BPX1STA function failed for some reason
  • After calling the BPX1STA function, it is found that the passed string does not name a folder

Resolution

First of all, take an options report to ascertain the name of the folder that will be used. This is done by allocating ddname EN$TROPT before Endevor initialization

  • In batch, add //EN$TROPT DD SYSOUT=*,SPIN=NO to the JCL step that runs program NDVRC1
  • In the ISPF dialogs, issue command TSO ALLOC FI(EN$TROPT) SYSOUT(X) SPIN(NO)  in the ISPF command line before getting into Endevor or Quickedit

In both cases, the report prints to ddname EN$TROPT which shows up among the JES2 outputs for the batch jobstep or the TSO session.

In the report, look for the end-to-end logging parameters. For example:

1   Endevor     Version 19.0.00        Copyright (C) 2022      Broadcom. All Rights Reserved.      06OCT25 10:56:00     PAGE    49
                                                    Endevor Site Options Settings
                                        End-to-End Logging - library_name(member_name)




   End-to-end Logging Statement Number:     1
   Element Logging For This Statement is: ON
   For Actions: ADD      ALTER    ARCHIVE  DELETE   GENERATE MOVE     RESTORE  RETRIEVE
                SIGNIN   TRANSFER UPDATE
 Element Logging Path Name..../folder1/folder2/folder3/
   Element Inventory Rules......ENV        STGID   SYSTEM     SUBSYS
                                --------   -----   --------   --------
                              *      *     *        *

Ensure that the folder exists, that the filesystem is mounted and that it can be accessed.

If nothing obvious shows up, then reproduce the error with ddname EN$TRUSS allocated in the same way as EN$TROPT. This will trace the calls to the Unix 'stat'  function which are done to check the attributes of the name. The output prints to ddname EN$TRUSS. For example:

  14:00:11.90   $USS C1UIO000 C1UIO000  SWAP TO ALTID                                 
  14:00:11.90   $USS C1UIO000 QFILRUTN  BPX1STA stat      /FFFFFFFF/0000009C/0B0C00FD/
  14:00:11.90   $USS C1UIO000 QFILRUTN /folder1/folder2/folder3/                        
  14:00:11.90   $USS C1UIO000 QFILRUTN  BPX1STA stat      /FFFFFFFF/0000009C/0B0C00FD/
  14:00:11.90   $USS C1UIO000 QFILRUTN /folder1/folder2/                            
  14:00:11.90   $USS C1UIO000 QFILRUTN  SWAP BACK TO  USERID      

In the above example taken from a real customer, the BPX1STA call was failing. The numbers show the Unix return information that is documented in IBM manual "Unix System Services Messages and Codes", available for example at the IBM documentation center

The meaning of the values as per the IBM manual is:

  • Return value -1 (FFFFFFFF) indicates that the call has failed
  • Return code (Errno) 0000009C maps to EMVSINITIAL - Process Initialization error
  • Reason code  (Errnojr) 0B0C00FD maps to JRSAFNoGID - The user ID is in a group that has no GID.

What happened in this case is that the Endevor alternate ID which is used to access the end-to-end folder was not properly defined with a Unix UID and GID (normally assigned in the OMVS segment) and therefore was unable to call any Z/OS UNIX function

The problem was fixed after adjusting the definition of the alternate ID in RACF