-
Notifications
You must be signed in to change notification settings - Fork 18
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
ivykis aborts on FreeBSD 13.1 (kqueue
) when a polled pipe fd gets closed
#26
Comments
The gist.github.com link gives a 404 -- can you repost the reproducer somewhere? (Preferably verbatim in a comment in this issue.) |
@OverOrion do you still happen to have the reproducer for this? |
Unfortunately not :( |
@MrAnno Do you still have the reproducer, given that it was posted under your gist.github.com? |
I don't have it, but I think I remember what to do. |
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The attached reproducer code spawns two processes, one of them polls a perfectly valid pipe fd for writing using ivykis, and the child process would be responsible for reading, but for an easier reproduction, the child just closes the pipe and exits. (Reading and then closing would result in the same abort.)
https://gist.github.com/MrAnno/0a6dd9572e8a7a981996654ccd3e5e08
Running it yields the following backtrace:
I believe ivykis incorrectly reports fatal errors in case a kevent() call returns EV_ERROR on the file description:
ivykis/src/iv_fd_kqueue.c
Lines 208 to 214 in f1b1455
The epoll implementation, for example, reports these kind of errors as non-fatal using the error callback:
ivykis/src/iv_fd_epoll.c
Lines 185 to 186 in f1b1455
The text was updated successfully, but these errors were encountered: