This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: Unexpected netlink response of size <number> on descriptor <number>
- From: Florian Weimer <fweimer at redhat dot com>
- To: Abhi Arora <engr dot abhiarora at gmail dot com>
- Cc: libc-help at sourceware dot org
- Date: Thu, 19 Dec 2019 19:31:44 +0100
- Subject: Re: Unexpected netlink response of size <number> on descriptor <number>
- References: <CADqM=-y2bCb7d+FZ4JGJjC3FVcT-Tpx5uvYVMggr0B+d+B8kDw@mail.gmail.com>
* Abhi Arora:
> I have seen SIGABRT in my multi-threaded application deployed in Linux
> machine. The message that I got over stderr was "Uxpected error 9 on
> netlink descriptor 6".
>
> While googling, I came across this link:
> https://lists.gnu.org/archive/html/info-gnu/2016-02/msg00009.html
>
> I want to under the following lines
> "The most likely cause for these errors is a multi-threaded
> application which erroneously closes and reuses the netlink file
> descriptor while it is used by getaddrinfo."
>
> I am not using "netlink" socket in my application but it seems
> libraries that I am using (Poco, curl) might be calling "getaddrinfo".
> Please help me in understanding the above lines and if possible with a
> direction to resolve this issue.
The netlink socket is internal to glibc (specifically, getaddrinfo).
If the application or any of its libraries has any descriptor race (it
does not matter if it is a socket, file or directory) and calls
getaddrinfo, it can encounter the abort.
Thanks,
Florian