-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Heisenbug: Unexpected error 9 on netlink descriptor 24 aborts, #584
Comments
The |
happened again ! unfortunately the log isnt that helpful either, I'll make sure I can get a coredump next time´it happens to trigger
It appears that curl tries to resolve a name and something screws up libc fds shortly after. |
This can be something as simple as the wrong thread closing the wrong filedescriptor, and then opening a new fd for something unrelated, gaining the fd number previously closed; and then the thread where getaddrinfo (or some call like that) is running gets confused, rightfully so. Alas, I wish libc wouldn't terminate the program but just return an error. IOW, running under |
Had this 100% reproducable during Unfortunately this only makes it more likely that its a multi-threaded race condition - the strace output to TTY no doubt had to go via a mutex lock to get the resource, and thus ... fixed the problem. |
Created https://bugzilla.suse.com/show_bug.cgi?id=1236912 - I have two core dumps, but nowhere to upload them currently. Will work on that, unless any suggestions. |
sudo zypper ref
Repository 'Kernel builds for branch master (standard)' is up to date.
Repository 'GNU Compiler Collection container (openSUSE_Factory)' is up to date.
Retrieving repository 'Subproject with the future next releases (openSUSE_Tumbleweed)' metadata ---------------------------------------------------------------------------------------------------------------[/]Unexpected error 9 on netlink descriptor 24.
[1] 34651 IOT instruction sudo zypper ref
This is a sanity check in libc to prevent further corruption when the netlink sockets are changed by something else under the rug by some filedescriptor managment error elsewhere.
It is probably libcurl that steps into libc toes but it is hard to tell because I got no backtrace and no coredump stored.
The text was updated successfully, but these errors were encountered: