s6-fdholder-errorcodes.html (3428B)
1 <html> 2 <head> 3 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5 <meta http-equiv="Content-Language" content="en" /> 6 <title>s6: the s6-fdholder error codes</title> 7 <meta name="Description" content="s6: the s6-fdholder error codes" /> 8 <meta name="Keywords" content="s6 s6-fdholder fd-holding fd-holder fd unix socket activation" /> 9 <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> 10 </head> 11 <body> 12 13 <p> 14 <a href="index.html">s6</a><br /> 15 <a href="//skarnet.org/software/">Software</a><br /> 16 <a href="//skarnet.org/">skarnet.org</a> 17 </p> 18 19 <h1> The <tt>s6-fdholder</tt> error codes </h1> 20 21 <p> 22 The following error messages (and corresponding 23 <a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html">errno codes</a>) 24 can be returned by the 25 <a href="s6-fdholderd.html">s6-fdholderd</a> daemon to its various clients. 26 This page explains why they occur. 27 </p> 28 29 <ul> 30 <li> <tt>Protocol error</tt> (EPROTO) or <tt>Protocol wrong type 31 for socket</tt> (EPROTOTYPE): the client connected to the wrong 32 kind of server and they cannot communicate. This is generally a 33 programming error. It can also 34 signal a bug in the s6-fdholder tools, but protocol bugs have 35 usually been wiped out before an s6 release. </li> 36 <li> <tt>Broken pipe</tt> (EPIPE): the client was not authorized to 37 connect to the server, which closed the connection. You need to 38 <a href="s6-fdholderd.html#configuration">configure the access 39 rights to the server</a>. </li> 40 <li> <tt>Operation not permitted</tt> (EPERM): even though the 41 client was authorized to connect to the server, the specific 42 operation it wanted to perform was denied. You need to 43 <a href="s6-fdholderd.html#configuration">configure the access 44 rights to the server</a>. </li> 45 <li> <tt>Too many open files in system</tt> (ENFILE): the client 46 attempted to store more file descriptors than the server can hold. 47 Or, the client attempted to retrieve more file descriptors than it 48 can hold. You should check the <tt>-n</tt> option to 49 <a href="s6-fdholderd.html">s6-fdholderd</a>, as well as the 50 <a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html">RLIMIT_NOFILE</a> 51 resource limits used by the client and the server, and adjust them 52 accordingly. </li> 53 <li> <tt>Resource busy</tt> (EBUSY): the client attempted to store 54 a descriptor under an identifier that is already used. </li> 55 <li> <tt>Filename too long</tt> (ENAMETOOLONG): the identifier 56 provided by the client was too long. </li> 57 <li> <tt>No such file or directory</tt> (ENOENT): the identifier 58 provided by the client was not found in the server database. </li> 59 <li> <tt>Bad file descriptor</tt> (EBADF): the client attempted 60 to transmit a closed, or otherwise unsuitable for fd-passing, 61 file descriptor. </li> 62 <li> <tt>Operation timed out</tt> (ETIMEDOUT): the client, or the 63 server, took too long to perform the wanted operation. This is most 64 probably a programming error, because both client and server should 65 have a very fast reaction time. Check that the client is connecting 66 to the right server, and check <tt>-t</tt> options to both client and 67 server (the argument is interpreted as milliseconds!). </li> 68 <li> Other errors indicate a transient error such as lack of memory, 69 hardware failure, etc. </li> 70 </ul> 71 72 </body> 73 </html>