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
Have working TTY tests on CI #4262
Comments
The bug here is that It's possible to redefine that limit with We can't switch to poll(2) however because not all file descriptors work correctly with it (and that's exactly the reason why uv__stream_osx_select exists, to handle file descriptors that don't work well with poll or kqueue) so stop-gap measure it is: #4273 |
Looks like posix-compatibility requires it to be limited, but |
So, it turns out libuv is already compiled with My best guess is that ubsan's runtime component is unaware of that fact and assumes fd_set only has room for 1,024 file descriptors. I don't have a macbook myself anymore to test on but the warning can probably be suppressed. PR welcome. |
I don't think ubsan is hardcoded with specific array sizes used in OS implementation. It tests common undefined behavior based on language rules. It has a very low chance of having a false negative, the code often is invalid and can likely be trivially fixed, but happenstance and compiler implementation details might make it so an issue is not observed in practice. I might have bandwidth to take a look at this UBSAN issue in detail. But I apologize for the confusion: this ticket was created with the intention of getting to the bottom of why we don't run TTY tests on CI. I mentioned the UBSAN problem as a motivation, if we fix the UBSAN issue, we can better demontrate the fix, and prevent future regressions. |
Some tests try to open
/dev/tty
, but that doesn't work on CI environment.For example,
osx_select_many_fds
built with UBSAN fails with:But even if we fix that, we can't prevent regressions as CI does not cover this test.
The text was updated successfully, but these errors were encountered: