-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Stage 2 test failure on master branch; windows linux subsystem #49367
Comments
Can confirm that this still happens on master branch as-is, and with the newest commits. |
In theory, sure, but it's quite possible that Microsoft has not matched Linux behavior here. |
I'm just going to close this, then. I wanted to make sure that it was just me, and not a known issue or something. |
FWIW, I wasn't trying to be dismissive -- just pointing out the possibility that the bug could be elsewhere. But anyway, I extracted that test to try it more easily: This succeeds on the playground and on Fedora (4.15.10-300.fc27.x86_64), but fails on WSL+Debian (4.4.0-43-Microsoft). Maybe you could report it to https://github.com/Microsoft/WSL? |
Thanks for the reply, but I didn't intend for this to be treated as a long-living issue. |
I'm new to Rust, but I'm getting the impression that Rust is to blame here. When I further simplify cuviper's code on playground, it's finally clear to me that the test case asserts that:
Why the first point? I don't know anything about multiple binding, but I'm open to the idea. On WSL, the test code reports two different file descriptors and I assume (probably will test later) that both will get the same data that gets sent to the port. Any particular reason why Rust wouldn't like that? |
On closer inspection, there are reasons to like and dislike multiple binding (as illustrated in the introduction of SO_REUSEPORT). The reason multiple binding succeeds here is because TcpListener.bind in libstd/sys_common/net.rs sets the SO_REUSEADDR socket option. What this is supposed to do, you can have your pick:
Probably for the latter, SO_REUSEADDR is not applied on Windows through
I see no way to tune the |
Explain a panic in test case net::tcp::tests::double_bind Those who try to build libstd on the Windows Subsystem for Linux experience a single failing test, where the point of failure is an explicit but anonymous panic, as reported in rust-lang#49367 This commit somewhat explains why and allows diagnosing a little.
Explain a panic in test case net::tcp::tests::double_bind Those who try to build libstd on the Windows Subsystem for Linux experience a single failing test, where the point of failure is an explicit but anonymous panic, as reported in rust-lang#49367 This commit somewhat explains why and allows diagnosing a little.
Explain a panic in test case net::tcp::tests::double_bind Those who try to build libstd on the Windows Subsystem for Linux experience a single failing test, where the point of failure is an explicit but anonymous panic, as reported in rust-lang#49367 This commit somewhat explains why and allows diagnosing a little.
Explain a panic in test case net::tcp::tests::double_bind Those who try to build libstd on the Windows Subsystem for Linux experience a single failing test, where the point of failure is an explicit but anonymous panic, as reported in rust-lang/rust#49367 This commit somewhat explains why and allows diagnosing a little.
I've never had issues doing a full compile and test of rust before. The windows linux subsystem should be equivalent to ubuntu for most intents and purposes, as far as I know.
Here's my version:
This technically isn't on master branch; but the only difference between master and my current working branch is a few ignored tests (#49366 ):
The text was updated successfully, but these errors were encountered: