-
Notifications
You must be signed in to change notification settings - Fork 227
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
Haiku test failure. keepalive / connect_timeout/unbound #85
Comments
@alexcrichton is there anyone we can ping for Haiku support? |
I am unaware of someone myself. |
@kallisti5 is actually one of the core Haiku maintainers... Regarding the keepalive test, is Keepalive: https://github.com/alexcrichton/socket2-rs/blob/32969e53c75849e4047233d8b55f551a8645b21d/src/sys/unix.rs#L839
As for the connect timeout unbound, I'm not sure, but sounds like a bug on Haiku's side, with the connection lingering after the socket has been dropped. |
Ah, I didn't know that.
I didn't check the spec, but I think it only needs to be at least 16 bits. Even on most 64 bit architectures its actually 32 bit (this is at least true for MacOS and Linux).
Is this true for all
@kallisti5 could you look further into that yourself? |
Doh!!!! I wanted to see if anyone else would step up to do the work. I'll take a look. Thanks for the analysis Jessica :-) |
No, a couple options can receive a struct as argument, |
@kallisti5 @jessicah is there any way we can setup CI for Haiku (see #78)? |
Hi! We do actually have package Haiku builder nodes, but they're leveraging our native ports (haikuporter) system. What CI system are you using? Haiku has full virtio support, and runs fine in cloud environments. |
@kallisti5 currently we're using GitHub Actions. I don't think we need anything dedicated, currently GitHub Actions completes in ~1 min. libc seems to use Docker https://github.com/rust-lang/libc/tree/master/ci, does Haiku run in that? Issue #78 tracks CI support, if there is anything you can do that would be great and we can keep socket2 for Haiku working. |
Hi! Haiku's not Linux (we have our own kernel, syscalls, and standard libraries), so we really can't run in containers. Haiku easily boots in qemu and other full emulation and is fully POSIX compliant with an SSH server running for remote command execution. There are working vagrant boxes for Haiku, and we have a pretty rich software ecosystem... python, ruby, (early) Rust, (early) Golang support, c, clang, llvm, etc etc Here is our full searchable software port list: https://depot.haiku-os.org |
@kallisti5 libc also seems to run NetBSD and Redox in docker, that's why I asked. Do you know of an example Rust project that uses QEMU (or something else) to test on Haiku from which we can setup our own CI for Haiku? |
ooh.. that's new. Let me see what "redoxer" is doing. It would be super handy if we could do something similar |
Latest results under master as of f7023b4
still looking at redoxer, it's not - not complex :-) |
In Line 881 in 1c67209
This In the line quoted above on both Haiku and OpenBSD the following call is issued:
which is totally wrong as By the way on Linux this call only sets the number of seconds, but does not enable keepalives. You still need to do So overall the whole function
I will probably make a PR with a fix myself so you don't have to read all these notes and redo figuring this out. Haiku has no documentation it seems, I figured out it does not have TCP options and how to use Update: made a PR #251 |
Just reporting a test failure on Haiku. Overall it's pretty close!
master as of 32969e5
The text was updated successfully, but these errors were encountered: