-
-
Notifications
You must be signed in to change notification settings - Fork 93
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
Actual smol rs update #517
Conversation
Kudos for going the extra mile and fixing the issue in another crate. 👍 |
@TTWNO I converted to a |
I'm a bit puzzled by the needed change in uds-windows crate.. zbus doesn't make use of |
That's what was causing the compile etror previously, since |
That's very strange. I saw that it's a dev dep only: https://github.com/smol-rs/async-io/blob/master/Cargo.toml#L53
hmm.. so the latest async-io is broken on windows, essentially? |
No. But That's the problem I'm trying to fix upstream. Looks like the only tests failing now are for Linux. |
I can't reproduce the Linux build error. Based on the "OS error 22", it's an "invalid parameter" problem; now to recreate and fix it.... |
yeah, it's very strange. My not-so-educated guess here is that we end-up using an FD after it's been closed. It's possible that it's a zbus issue entirely and new version of async-io somehow exposes it. Of course, I could be completely wrong here. |
I understand what you mean, but that seems extremely weird since these tests work on my local machine. I'm wondering if it's an "Ubuntu is too old" problem. |
I see the branch I based this off of is quite old, and didn't include the 🤞 |
Just confirmed with |
Oh, I didn't realize that.
While that's unlikely to be the source of the problem, it would be good to base it on current main branch anyway and ensure we don't revert to RawFd use anywhere.
TIL about
😞 @notgull any chance you can do us a favor and take a look? |
I can't reproduce this in
I would guess that the error is in the |
Probably related: smol-rs/async-io#146 |
This problem seems to be |
I ran the tests with |
@notgull Many thanks for looking into this! 👍
Oh? That's very much possible. Does this mean rustix doesn't support/has problems with abstract unix sockets? I wonder if #329 would help with this. 🤔 |
In #146, I introduced a bug that prevented abstract sockets from working. I passed the path straight into rustix::net::SocketAddrUnix::new, which fails if it receives an abstract socket. This commit fixes this issue by explicitly checking for abstract sockets. If it sees that the path it's receiving is abstract, it will pass the path's bytes to new_abstract_socket() instead. This should fix the issue that is occurring in dbus2/zbus#517 Signed-off-by: John Nunley <[email protected]>
In #146, I introduced a bug that prevented abstract sockets from working. I passed the path straight into rustix::net::SocketAddrUnix::new, which fails if it receives an abstract socket. This commit fixes this issue by explicitly checking for abstract sockets. If it sees that the path it's receiving is abstract, it will pass the path's bytes to new_abstract_socket() instead. This should fix the issue that is occurring in dbus2/zbus#517 Signed-off-by: John Nunley <[email protected]>
@TTWNO async-io 2.2.2 was just released and it has the fix for the issue. I restarted the failing Linux job and hopeful that it'll now pass because it should pick up the latest release. However, it'd be best to change async-io version in the PR to ensure we only build against the fixed version. |
Wicked! Looking forward to getting any cleanups that are necessary :) |
Should |
As I wrote, let's require |
Alright, got those dependencies updated and have removed the link to my git release. As long as the tests pass, I think this should be ready to rock! |
Awesome! However, there is still one concern though: It looks like event-listener might need another API break to effectively remove some footguns/unsoundness issues. Need to figure how to solve that. In the meantime, could you please clean up the commits? |
Temporary commit for checking CI Use updated dependencies
f97a0f2
to
dee68b9
Compare
Updated to remove specific issue listed, should this wait until event-listener #105? |
It might take a while to make sure everything works. So I'd say to go ahead with this first |
Hmm.. but the event-listener update would then be a breaking change since we return Thinking more about this, I guess we can add our own abstraction and expose that or just return |
Yeah, actually let's do that but I'll do it on a separate PR. This one has waited long enough. |
Slight modification of #494 , fixes #479
Depends on getting rust_uds_windows/#9 merged upstream.
For now I have added my person Github entry as the location for
uds_windows
. This should let us test of the tests pass now.Once I get this merged upstream, I'll commit, squash, add emojis, etc. here.