IBM Support

PI30224: OPEN FAILS ON A NAMED PIPE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The following test case shows error code 39 when attempting to
    open a name pipe.
    
    ===== COMPILE COMMAND:
    cob2 opentest.cbl -o opentest
    
    ===== TESTCASE:
    $ cat opentest.cbl
           IDENTIFICATION DIVISION.
           PROGRAM-ID.    opentest.
           ENVIRONMENT DIVISION.
           CONFIGURATION SECTION.
           INPUT-OUTPUT SECTION.
           FILE-CONTROL.
               SELECT PIPE-FILE
                   ASSIGN USING WS-PIPE-NAME
                   ORGANIZATION IS LINE SEQUENTIAL
                   FILE STATUS IS WS-PIPE-STATUS
                   ACCESS MODE IS SEQUENTIAL.
           DATA DIVISION.
           FILE SECTION.
           FD  PIPE-FILE
               RECORD IS VARYING FROM 1 TO 2020 CHARACTERS
               DEPENDING ON WS-PIPE-LENGTH.
           01  PIPE-REC.
               03  PIPE-REC-NO             PIC X(4).
               03  PIPE-DATE-TIME.
                   05  PIPE-DATE           pic x(08).
                   05  PIPE-TIME           PIC X(08).
               03  PIPE-TEXT               pic x(2000).
           WORKING-STORAGE SECTION.
           01  WS-PIPE-STATUS              PIC X(2).
           01  WS-PIPE-LENGTH              PIC 9(5).
           01  WS-PIPE-NAME                PIC X(90) VALUE
    "pipefile".
           PROCEDURE DIVISION.
           0000-BEGIN.
               OPEN OUTPUT PIPE-FILE.
               display "Open output PIPE-FILE status. Return code: "
                    WS-PIPE-STATUS.
                close PIPE-FILE.
    
               OPEN EXTEND PIPE-FILE.
               display "Open extend PIPE-FILE status. Return code: "
                    WS-PIPE-STATUS.
                close PIPE-FILE.
    
               OPEN INPUT PIPE-FILE.
               display " Open input PIPE-FILE status. Return code: "
                    WS-PIPE-STATUS.
               close PIPE-FILE.
    
               STOP RUN.
    $
    
    
    ===== ACTUAL OUTPUT:
    $ mknod pipefile p
    $ cob2 opentest.cbl -o opentest
    $ opentest
    Open output PIPE-FILE status. Return code: 39
    Open extend PIPE-FILE status. Return code: 39
    Open input PIPE-FILE status. Return code: 39
    $
    
    
    ===== EXPECTED OUTPUT:
    It should open the file successfully.
    

Local fix

  • N/A
    

Problem summary

  • USERS AFFECTED:
    COBOL for AIX users using named pipe (FIFO) for I/O are affected
    by this issue.
    
    PROBLEM DESCRIPTION:
    Open of a named pipe (FIFO) returns FS=39. Pipe (FIFO) were not
    special cased (ie treated properly).
    

Problem conclusion

  • Pipe (FIFO) are now properly handled.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI30224

  • Reported component name

    COBOL FOR AIX

  • Reported component ID

    5724Z8700

  • Reported release

    411

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-11-24

  • Closed date

    2015-09-08

  • Last modified date

    2015-09-09

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PI55346

Fix information

  • Fixed component name

    COBOL FOR AIX

  • Fixed component ID

    5724Z8700

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SGM","label":"COBOL for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"411","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
17 October 2021