Date: Sun, 27 Dec 2020 23:24:12 +0530 From: Rahul Bharadwaj <rahulbharadwajpromos@gmail.com> To: Polytropon <freebsd@edvax.de> Cc: freebsd-questions@freebsd.org Subject: =?UTF-8?Q?Re=3A_What_does_=E2=80=9CNo_anode=E2=80=9D_mean_in_errno_55_when_s?= =?UTF-8?Q?ocket_connection_fails=3F?= Message-ID: <CADotuvuLnyYoU7QszHU1mxe1RFTqu3g9ivsZ_nE4MniZNS47Dg@mail.gmail.com> In-Reply-To: <20201227185021.1190a289.freebsd@edvax.de> References: <CADotuvv-csH5L2E5OGkLTNOVJ2KYeU6q9Fp_n1Y%2BFwfiiJCPQA@mail.gmail.com> <20201227185021.1190a289.freebsd@edvax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
I see. I had to look into the FreeBSD source than the internet for the error number. Now the error makes sense. Thank you!! On Sun, Dec 27, 2020 at 11:20 PM Polytropon <freebsd@edvax.de> wrote: > On Sun, 27 Dec 2020 23:03:17 +0530, Rahul Bharadwaj wrote: > > I was doing a few performance tests on a local server and once in a > while I > > hit an error where opening a socket connection fails. > > > > i.e. considering the simplest code: > > > > #include <errno.h> > > #include <sys/socket.h> > > > > int main() { > > /* code to create socket object */ > > > > int ret = connect(sock, (struct sockaddr *)&serv_addr, > > sizeof(serv_addr)); > > if (ret < 0) { > > fprintf(stderr, "connect() failed with: %d\n", errno); // <---- > *get > > errno as 55* > > exit(1); > > } > > /* other code */ > > } > > > > There is no explanation for this error number "55". > > In /usr/include/sys/errno.h, you can find the following > entry: > > #define ENOBUFS 55 /* No buffer space > available */ > > Also in "man 2 intro", the introduction to system calls, > there's a section about errno: > > 55 ENOBUFS No buffer space available. An operation on a socket or > pipe > was not performed because the system lacked sufficient buffer > space or because a queue was full. > > That doesn't help much, but regarding your example program > snippet, it would match the context. > > > > > In every place, the > > only mention is "No anode". There is no mention of what "anode" means and > > what "No anode" specifically means. > > This is part of the binutils or gcc-libs (in contrib/ subtree > of /usr/src, libiberty, or BSM security/ subtree). An anode is > probably a kind of or a synonym for an inode (i-node, index node, > a filesystem entry). But the error itself does not have to be in > this context; it could be that an inode was requested but could > not be allocated (filesystem problem), or the kernel ran out of > buffer spaces for sockets, so maybe it means "allocation node"? > > Or maybe it's just one of those occassions where the programmer > tought: I don't know what error to return here... ;-) > > > > > -- > Polytropon > Magdeburg, Germany > Happy FreeBSD user since 4.0 > Andra moi ennepe, Mousa, ... >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADotuvuLnyYoU7QszHU1mxe1RFTqu3g9ivsZ_nE4MniZNS47Dg>