subcommand failed - timer expired while
reading from named pipe
Explanation
While the FTP client was sending data from the
named pipe to the FTP server, it tried to read from a named pipe in
the client z/OS® UNIX file system. The client waited for the
number of seconds specified by the FIFOIOTIME configured value for
the read to complete. One reason for this timeout is that the process
that is writing to the named pipe stopped writing data without closing
the named pipe.
Any data that was sent from the client to
the server before the timer expired has been permanently removed from
the named pipe.
See the following sources:
In the message text:
- subcommand
- The subcommand that failed because FTP could not read from the
named pipe.
System action
FTP stops processing the current subcommand,
and prompts for the next subcommand.
Operator response
System programmer response
Perform the following steps:
- Consider increasing the FIFOIOTIME configured value.
- Use the LOCSTat subcommand and specify the FIFOIOTIME parameter
to query the current FIFOIOTIME value.
- Use the LOCSIte subcommand and specify the FIFOIOTIME parameter
to increase the FIFOIOTIME value
If you anticipate long idle periods, consider increasing local
timers to prevent connection timeouts. See the information about
the DATACTTIME (FTP client) statement,
the FTPKEEPALIVE (FTP client and server) statement,
and the DATAKEEPALIVE (FTP client and server)
statement in z/OS Communications Server: IP Configuration
Reference for more information about FTP client timers.
- Determine why the process that writes to the named pipe stopped
writing data, but did not close the named pipe.
- Reissue the subcommand. Any data that was sent from the client
to the server before the timer expired has been removed from the
named pipe. You must take this into consideration before repeating
the file transfer.
User response
Report the problem to the system programmer.
Problem determination
See the system programmer response.
Source
z/OS Communications
Server TCP/IP: FTP
Module
Routing code
Descriptor code
Automation
Example
put /tmp/sample.fifo
EZA1733I waiting up to 60 seconds for write process to open /tmp/sample.fifo
EZA1701I >>> PORT 9,42,105,36,4,36
200 Port request OK.
EZA1701I >>> STOR sample.fifo
125 Storing data set
/u/user1/sample.fifo
EZA1739I put failed -- timer expired while reading from named pipe
250 Transfer completed
successfully.
EZA1460I Command:
EZA1460I Command:
appe /tmp/sample.fifo /u/user1/sample.fifo
EZA1733I waiting up to 60 seconds for write process to open /tmp/sample.fifo
EZA1701I >>> PORT 9,42,105,36,4,42
200 Port request OK.
EZA1701I >>> APPE /u/user1/sample.fifo
125 Appending to data set /u/user1/sample.fifo
EZA1739I append failed -- timer expired while reading from named pipe
250 Transfer completed successfully.
EZA1460I
Command: